the-djmaze / snappymail

Simple, modern & fast web-based email client
https://snappymail.eu
GNU Affero General Public License v3.0
989 stars 117 forks source link

Error: Undefined constant "SIGCLD" in ... #1147

Closed k4my4b closed 1 year ago

k4my4b commented 1 year ago

Describe the bug upgrading to v2.28.0 will crash nextcloud installing v2.28.0 will fail

To Reproduce Steps to reproduce the behavior:

  1. Upgrade to v2.28.0 (maintenance mode will be activated)
  2. perform 'occ upgrade'

Expected behavior

Screenshots

Please complete the following information:

Debug/logging information

An unhandled exception has been thrown:
Error: Undefined constant "SIGCLD" in /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/MailSo/Log/Logger.php:78
Stack trace:
#0 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/MailSo/Log/Logger.php(78): constant('SIGCLD')
#1 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/RainLoop/Api.php(64): MailSo\Log\Logger->__construct(true)
#2 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/snappymail/log.php(40): RainLoop\Api::Logger()
#3 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/snappymail/log.php(12): SnappyMail\Log::log(6, 'INSTALLER', 'Start package i...')
#4 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/app/libraries/snappymail/repository.php(273): SnappyMail\Log::info('INSTALLER', 'Start package i...')
#5 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/setup.php(159): SnappyMail\Repository::installPackage('plugin', 'nextcloud')
#6 /var/www/html/custom_apps/snappymail/app/snappymail/v/2.28.0/include.php(110): include('/var/www/html/c...')
#7 /var/www/html/custom_apps/snappymail/app/index.php(11): include('/var/www/html/c...')
#8 /var/www/html/custom_apps/snappymail/lib/Util/SnappyMailHelper.php(31): require_once('/var/www/html/c...')
#9 /var/www/html/custom_apps/snappymail/lib/Migration/InstallStep.php(27): OCA\SnappyMail\Util\SnappyMailHelper::loadApp()
#10 /var/www/html/lib/private/Repair.php(127): OCA\SnappyMail\Migration\InstallStep->run(Object(OC\Repair))
#11 /var/www/html/lib/private/legacy/OC_App.php(1068): OC\Repair->run()
#12 /var/www/html/lib/private/legacy/OC_App.php(1010): OC_App::executeRepairSteps('snappymail', Array)
#13 /var/www/html/lib/private/Updater.php(361): OC_App::updateApp('snappymail')
#14 /var/www/html/lib/private/Updater.php(273): OC\Updater->doAppUpgrade()
#15 /var/www/html/lib/private/Updater.php(141): OC\Updater->doUpgrade('25.0.6.1', '25.0.6.1')
#16 /var/www/html/core/Command/Upgrade.php(225): OC\Updater->upgrade()
#17 /var/www/html/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\Upgrade->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /var/www/html/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Upgrade), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /var/www/html/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /var/www/html/lib/private/Console/Application.php(214): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 /var/www/html/console.php(100): OC\Console\Application->run()
#23 /var/www/html/occ(11): require_once('/var/www/html/c...')

Additional context Additional context In case anyone else happens to experience the same issue, here's a couple of simple steps to roll back to the previous version: (assuming you are on nextcloud docker)

  1. disable the app from nextcloud apps menu or occ app:disable snappymail
  2. docker exec -it -u www-data <your nextcloud instance> bash
  3. cd /var/www/html/custom_apps/
  4. rm -fr snappymail
  5. curl https://snappymail.eu/repository/nextcloud/snappymail-2.27.3-nextcloud.tar.gz | tar -xzvf -
  6. enable snappymail again occ app:enable snappymail
joergmschulz commented 1 year ago

alternatively you can comment out SIGCLD in line 34 of this file, but ......

romainmp commented 1 year ago

alternatively you can comment out SIGCLD in line 34 of this file, but ......

I had to comment out this one and a few others to be able to activate the app again : SIGCLD, SIGPOLL, SIGPWR, SIGSTKFLT

I'm running 26.0.1, PHP 8.0.28, PostgreSQL 13.11

ChiefPete commented 1 year ago

Is there going to be a release with commit? or do I have to manually edit the file so my users can access their emails through Nextcloud.

Thanks.

the-djmaze commented 1 year ago

I will make new release