Af_readability - Call to undefined function Masterminds\ HTML5\ Parser\ ctype_alpha()

(Title munged to get around “word too long”)

Stock docker, restarted container today to get updates; started getting these errors:

$ git log --oneline | head    
68dee4578 remove docker-on-docker hacks from Jenkinsfile
c654f02a5 Merge branch 'master' of git.tt-rss.org:fox/tt-rss
6cbdbd261 add Jenkinsfile to enable separate CI for pull requests
54942b766 Merge pull request 'Fix handling of suppressed errors' (#85) from mechnich/tt-rss:master into master

Error message
Error: Call to undefined function Masterminds\HTML5\Parser\ctype_alpha() in /var/www/html/tt-rss/plugins/af_readability/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php:140
Stack trace:
#0 /var/www/html/tt-rss/plugins/af_readability/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php(82): Masterminds\HTML5\Parser\Tokenizer->consumeData()
#1 /var/www/html/tt-rss/plugins/af_readability/vendor/masterminds/html5/src/HTML5.php(161): Masterminds\HTML5\Parser\Tokenizer->parse()
#2 /var/www/html/tt-rss/plugins/af_readability/vendor/masterminds/html5/src/HTML5.php(89): Masterminds\HTML5->parse()
#3 /var/www/html/tt-rss/plugins/af_readability/vendor/fivefilters/readability.php/src/Readability.php(302): Masterminds\HTML5->loadHTML()
#4 /var/www/html/tt-rss/plugins/af_readability/vendor/fivefilters/readability.php/src/Readability.php(177): fivefilters\Readability\Readability->loadHTML()
#5 /var/www/html/tt-rss/plugins/af_readability/init.php(227): fivefilters\Readability\Readability->parse()
#6 /var/www/html/tt-rss/plugins/af_readability/init.php(270): Af_Readability->extract_content()
#7 /var/www/html/tt-rss/plugins/af_readability/init.php(305): Af_Readability->process_article()
#8 /var/www/html/tt-rss/classes/pluginhost.php(347): Af_Readability->hook_article_filter()
#9 /var/www/html/tt-rss/classes/rssutils.php(826): PluginHost->chain_hooks_callback()
#10 /var/www/html/tt-rss/update.php(238): RSSUtils::update_rss_feed()
#11 {main}
1. classes/pluginhost.php(352): user_error(Error: Call to undefined function Masterminds\HTML5\Parser\ctype_alpha() in /var/www/html/tt-rss/plugins/af_readability/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php:140
Stack trace:
#0 /var/www/html/tt-rss/plugins/af_readability/vendor/mastermin...)
2. classes/rssutils.php(826): chain_hooks_callback(hook_article_filter, {Closure}, [{"owner_uid":2,"guid":"2,tag:theregister.com,2005:story223863","guid_hashed":"{\"ver\":2,\"uid\":2,\"hash\":\"SHA1:41b50314398f26edd34683a89c518102410059c5\"}","title":"Tesla has a lot of work to do on its Optimus robot","content":"<?xml version=\"1.0\" st...)
3. update.php(238): update_rss_feed()

Not sure if it’s something I’ve (not) done?

likely my bad, I’ll take a look in an hour or so

not sure what to tell you, those are the only changes to container dockerfiles:

add php81-phar · 892bcd634c - ttrss-docker-compose - Tiny Tiny RSS (dynamic)

add php81-phar · 8940e4a662 - ttrss-docker-compose - Tiny Tiny RSS (dockerhub)

posting both because you didn’t specify which one you’re using.

i thought i somehow managed to remove php81-ctype but it seems like it should be there. does readability work on the demo?

Will test when I get to a real computer…

Apparently so - well articles are appearing for The Register (which aren’t on my instance.)

Dockerhub, I guess (I’m not doing any dev on it, so probably not the dynamic one.)

Will play around with my system tomorrow to see what I’ve buggered up…

Er - scratch that - only the abbreviated ones appeared when I forced a refresh via debug - not the full articles as I’d expect.

e: There’s also the small problem that the System tab isn’t available on the demo, so I can’t see if there are any errors being generated…

yeah i’ll make a note to give demo user admin rights, i’ve checked though and there’s nothing there.

edit: demo/demo user should be an admin now.

Figured it out; PEBKAC - I needed to git pull/update the folder containing the container configs (rather than only restart/rebuild the containers to update ttrss itself, which is generally the only thing I do.)


Now I’m just being pestered by the imagecreatefromstring(): gd-png: libpng warning: iCCP: known incorrect sRGB profile warnings.

no, you’re not using docker hub stuff. which is designed in part to prevent your situation.

Ah, oops. I’d better go off and read something it seems…