[SOLVED]: Feed Filters Generating Unhandled Exception

Describe the problem you’re having:
Feed filters work momentarily, then stop working. Executing test of filter results in function/method errors:
image

If possible include steps to reproduce the problem:
Simple regex on one feed:
thing1|thing2|thing3

tt-rss version (including git commit id):
v17.4 (9d930af)

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:
Ubuntu 16.04.3 LTS
PHP 7.0.22
MySQL 5.7.20

Please let me know what other info I can provide to help work through this issue of mine.

Thanks!

  • Is this a new installation?
  • Do any other filters work?
  • What do the PHP error logs on the server show, if anything?
  • What do the console logs in the browser show, if anything?
  • Can you elaborate on what you mean when you say the filters work momentarily?

Off the top of my head I’m going to go with file/directory permissions on the server. Make sure ownership and permissions are set so the web server and PHP interpreter can read all the files.

Thanks for chiming in. Answers in order below:

  • Not a new installation. Been using tt-rss since 2013. Though never had a need for filters until now

  • No

  • No errors jumping out in apache log. Here’s an example of a test attempt that failed:
    [07/Nov/2017:20:22:20 -0500] “GET /backend.php?op=pref-filters HTTP/1.1” 200 2283
    [07/Nov/2017:20:22:20 -0500] “GET /backend.php?op=pref-filters&method=getfiltertree HTTP/1.1” 200 314
    [07/Nov/2017:20:22:23 -0500] “GET /backend.php?op=pref-filters&method=edit&id=1 HTTP/1.1” 200 3281
    [07/Nov/2017:20:22:24 -0500] “GET /backend.php?op=login&id=1&method=editSave&csrf_token=cqho0e5a025b6a9a9f5&title=No%20Sports&rule%5B%5D=%7B%22reg_exp%22%3A%22NFL%7Cfootball%7Cbaseball%7Cbasketball%7CNBA%22%2C%22filter_type%22%3A%223%22%2C%22feed_id%22%3A%5B%2231%22%5D%7D&enabled=on&savemode=test HTTP/1.1” 200 50
    [07/Nov/2017:20:22:24 -0500] “POST /backend.php HTTP/1.1” 200 50
    [07/Nov/2017:20:22:24 -0500] “POST /backend.php HTTP/1.1” 200 31
    [07/Nov/2017:20:24:43 -0500] “GET /backend.php?op=login&id=1&method=editSave&csrf_token=cqho0e5a025b6a9a9f5&title=No%20Sports&rule%5B%5D=%7B%22reg_exp%22%3A%22NFL%7Cfootball%7Cbaseball%7Cbasketball%7CNBA%22%2C%22filter_type%22%3A%223%22%2C%22feed_id%22%3A%5B%2231%22%5D%7D&enabled=on&savemode=test HTTP/1.1” 200 50
    [07/Nov/2017:20:24:43 -0500] “POST /backend.php HTTP/1.1” 200 50
    [07/Nov/2017:20:24:43 -0500] “POST /backend.php HTTP/1.1” 200 31
    [07/Nov/2017:20:34:46 -0500] “GET / HTTP/1.1” 200 26907
    [07/Nov/2017:20:34:46 -0500] “GET /errors.php?1509571421&mode=js HTTP/1.1” 200 970
    [07/Nov/2017:20:34:46 -0500] “GET /lib/dojo/nls/tt-rss-layer_en-us.js?1510104886662 HTTP/1.1” 200 1858
    [07/Nov/2017:20:34:46 -0500] “GET /lib/dijit/form/MultiSelect.js?1510104886662 HTTP/1.1” 200 940
    [07/Nov/2017:20:34:46 -0500] “GET /lib/dijit/form/ComboBox.js?1510104886662 HTTP/1.1” 200 153
    [07/Nov/2017:20:34:46 -0500] “GET /js/FeedTree.js?1510104886662 HTTP/1.1” 200 3681
    [07/Nov/2017:20:34:46 -0500] “GET /lib/dojo/selector/lite.js?1510104886662 HTTP/1.1” 200 2021
    [07/Nov/2017:20:34:46 -0500] “GET /lib/dojo/resources/blank.gif?1510104886662 HTTP/1.1” 200 43
    [07/Nov/2017:20:34:47 -0500] “POST /backend.php HTTP/1.1” 200 8997
    [07/Nov/2017:20:34:47 -0500] “POST /backend.php HTTP/1.1” 200 2248
    [07/Nov/2017:20:34:47 -0500] “GET /backend.php?op=pref_feeds&method=getfeedtree&mode=2 HTTP/1.1” 200 9654

  • Will have to check next time it errors

  • The one filter I have is working at the moment. Same filter was in place yesterday and was working in the morning, but throwing exceptions later in the day. Was not working this morning, but for some reason is working…at the moment.

Does the error logs in the admin user Preferences tab show anything?

Do the filters fail the “test” when you’re editing them but work when the feeds are updated? (Either or both?)

  • ttrss admin log shoes same error as screen cap above
  • Well, for my, account, the test has been working since last night - however, it does seem to take affect in feeds.

Was going to try a simplified filter without the ‘either|or’ pipe - however after running a failed test as admin, now my filter test now throws an error.

I deleted rule and now cannot create new rules. I’m with you on permissions; something seems to be ‘dynamic’ with table access/modification.

I broke out each ‘either|or’ regex into individual rules and it seems to be both working and holding (continuing to work over time without throwing exceptions). Maybe a bug with either|or regex in filter rules?

At any rate, I call this one solved with individual (albeit inefficient) rules.

there’s definitely something going on with your install (or your browser or something else) but it’s highly unlikely it’s a bug with tt-rss because everything you posted about works for everyone else

(and everyone else in this scenario is literally thousands of people)

e: there could be any number of other things broken with your install you haven’t noticed yet. at least check if your database is actually running on innodb.

I investigated a similar issue that was happening to me last night. The fix was to disable the LastPass password manager, which was messing up the create new filter form.

LastPass was somehow changing the “op” field of the form from the correct value “prefs-filters” to an incorrect value “login”. You can see this by looking at the url query.

literally first FAQ entry