Cron update apps fails, check_permissions(): command `php_jailed' does not exist

Bug Report

Description

Seeing this error from /etc/cron.daily/update_apps:

ERROR : apnscpFunctionInterceptor::check_permissions(): command php_jailed' does not exist. Did you mean php_version’?

Started seeing this on all my ApisCP installations. (Assumed other’s would see this as well, but didn’t find anything while searching here.)

Steps to Reproduce

Not sure, as I haven’t installed anything new or done anything manually for a few weeks on these servers.

Expected Behavior

I expect it to work :wink: I guess something changed PHP version or something. Or might it be a specific webapp causing issues (on all my 3 servers)?

Actual Behavior

Getting this but daily by cron

Environment

ApisCP version:

revision: b30a6a04b5eab1133a6fa2095ab7d16d0f223df7
timestamp: 1710360209
ver_maj: 3
ver_min: 2
ver_patch: 41
ver_pre: ''
dirty: false
debug: false

Operating System:
RHEL 8, 4.18.0-513.5.1.el8_9.x86_64

Additional relevant information (e.g., PHP version, database, etc.):

# php --version
PHP 8.1.27 (cli) (built: Jan  1 2024 01:05:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.27, Copyright (c), by Zend Technologies

# cpcmd scope:get cp.bootstrapper php_multiphp
- '8.0'
- '8.2'

Additional Information

ERROR  : Module\Support\Webapps\Updater::run(): apnscpFunctionInterceptor::check_permissions(): command `php_jailed' does not exist. Did you mean `php_version'?
         0. Error_Reporter::merge_buffer([[message:"apnscpFunctionInterceptor::check_permissions(): command `php_jailed' does not exist. Did you mean `php_version'?", severity:16, caller:"apnscpFunctionInterceptor::check_permissions", bt:"         0. Error_Reporter::add_error("command `%(target)s' does not exist. Did you mean `%(suggest)s'?", [[target:"php_jailed", suggest:"php_version"]])            [/usr/local/apnscp/lib/log_wrapper.php:62]         1. error("command `%(target)s' does not exist. Did you mean `%(suggest)s'?", [target:"php_jailed", suggest:"php_version"])            [/usr/local/apnscp/lib/apnscpfunction.php:1034]         2. apnscpFunctionInterceptor->check_permissions("php", "jailed")            [/usr/local/apnscp/lib/apnscpfunction.php:955]         3. apnscpFunctionInterceptor->call("php_jailed", )            [/usr/local/apnscp/lib/apnscpFunctionInterceptorTrait.php:34]         4. Module\Support\Webapps\App\Type\Unknown\Handler->__call("php_jailed", )            [/us
 r/local/apnscp/lib/Module/Support/Webapps/App/Type/Invoiceninja/Handler.php:33]         5. Module\Support\Webapps\App\Type\Invoiceninja\Handler->display()            [/usr/local/apnscp/lib/Module/Support/Webapps.php:202]         6. Module\Support\Webapps::Module\Support\{closure}("invoiceninja")            [n/a]         7. array_filter(["adhoc", "discourse", "drupal", "ghost", "joomla", "laravel", "magento", "nextcloud", "passenger", "unknown", ])            [/usr/local/apnscp/lib/Module/Support/Webapps.php:203]         8. Module\Support\Webapps::knownApps()            [/usr/local/apnscp/lib/Module/Support/Webapps/App/Loader.php:87]         9. Module\Support\Webapps\App\Loader::getKnownApps()            [/usr/local/apnscp/lib/Module/Support/Webapps/Updater.php:87]        10. Module\Support\Webapps\Updater->queryApplicationVersions()            [/usr/local/apnscp/lib/Module/Support/Webapps/Updater.php:82]        11. Module\Support\Webapps\Updater->__construct(null)            [/usr/l
 ocal/apnscp/lib/Module/Support/Webapps/Updater.php:111]        12. Module\Support\Webapps\Updater::launch()            [/usr/local/apnscp/lib/modules/admin.php:288]        13. Admin_Module->update_webapps()            [/usr/local/apnscp/lib/Module/Skeleton/Standard.php:145]        14. Module\Skeleton\Standard->_invoke("update_webapps", )            [/usr/local/apnscp/lib/apnscpfunction.php:992]        15. apnscpFunctionInterceptor->call("admin_update_webapps", )            [/usr/local/apnscp/lib/CLI/cmd.php:62]        16. CLI\__call("admin_update_webapps", )            [/usr/local/apnscp/lib/CLI/cmd.php:581]        17. CLI\main()            [/usr/local/apnscp/bin/cmd:7]"]])
            [/usr/local/apnscp/lib/error_reporter.php:1088]
         1. Error_Reporter::filter()
            [/usr/local/apnscp/lib/Module/Support/Webapps/Updater.php:180]
         2. Module\Support\Webapps\Updater->run()
            [/usr/local/apnscp/lib/modules/admin.php:311]
         3. Admin_Module->update_webapps()
            [/usr/local/apnscp/lib/Module/Skeleton/Standard.php:145]
         4. Module\Skeleton\Standard->_invoke("update_webapps", )
            [/usr/local/apnscp/lib/apnscpfunction.php:992]
         5. apnscpFunctionInterceptor->call("admin_update_webapps", )
            [/usr/local/apnscp/lib/CLI/cmd.php:62]
         6. CLI\__call("admin_update_webapps", )
            [/usr/local/apnscp/lib/CLI/cmd.php:581]
         7. CLI\main()
            [/usr/local/apnscp/bin/cmd:7]
----------------------------------------
MESSAGE SUMMARY
Reporter level: ERROR
ERROR: Module\Support\Webapps\Updater::run(): apnscpFunctionInterceptor::check_permissions(): command `php_jailed' does not exist. Did you mean `php_version'?
----------------------------------------
ERROR: Module\Support\Webapps\Updater::run(): apnscpFunctionInterceptor::check_permissions(): command `php_jailed' does not exist. Did you mean `php_version'?
1

I see InvoiceNinja mentioned, could the error be specific to that webapp?

No one? :man_shrugging:
(I’d think it applies to more than just me, since this occured on 3 different servers at the same time.) :nerd_face:

It’s flagged as a bug report. I don’t like the current implementation of display() with respect to both site and appliance administrator, so I’ll need some time to mull over how I’d like to rewrite it.

It will be fixed by next release.

1 Like

Awesome, thanks! :smiley:
(Seems like integrity reports etc. show no issues, so I assume all is good.)

Resolved going forward in edge. :+1: