TypeError: Argument 3 passed to OC\Activity\Event::setObject() must be of the type string, null given, called in /var/www/html/apps/deck/lib/Activity/DeckProvider.php

For some time, the following error appears when the cron job is called. After that, emails will no longer be sent from the App Activity.

{“reqId”:“EA2VDCGRcY0yA2jWiIUg”,“level”:3,“time”:“2019-03-05T10:30:01+01:00”,“remoteAddr”:"",“user”:"–",“app”:“PHP”,“method”:"",“url”:"–",“message”:“Undefined index: board at /var/www/html/apps/deck/lib/Activity/DeckProvider.php#108”,“userAgent”:"–",“version”:“15.0.5.3”,“id”:“5c7e6dafb344a”}

[cron] Error: TypeError: Argument 3 passed to OC\Activity\Event::setObject() must be of the type string, null given, called in /var/www/html/apps/deck/lib/Activity/DeckProvider.php on line 108 at <>

  1. /var/www/html/apps/deck/lib/Activity/DeckProvider.php line 108
    setObject(“deck_board”, 8, null)
  2. /var/www/html/apps/activity/lib/MailQueueHandler.php line 465
    parse(“de_DE”, OC\Activity\Event {})
  3. /var/www/html/apps/activity/lib/MailQueueHandler.php line 374
    parseEvent(“de_DE”, OC\Activity\Event {})
  4. /var/www/html/apps/activity/lib/MailQueueHandler.php line 183
    sendEmailToUser(“dvscholz”, “bla@blub.bla”, “de_DE”, “Europe/Berlin”, 1551778200)
  5. /var/www/html/apps/activity/lib/BackgroundJob/EmailNotification.php line 65
    sendEmails(500, 1551778200)
  6. /var/www/html/lib/private/BackgroundJob/Job.php line 61
    run(null)
  7. /var/www/html/lib/private/BackgroundJob/TimedJob.php line 55
    execute(OC\BackgroundJob\JobList {}, OC\Log {})
  8. /var/www/html/cron.php line 123
    execute(OC\BackgroundJob\JobList {}, OC\Log {})

Deck: 0.5.2
NC: Version: 15.0.5.3
PHP: 7.2.15

I suspect that the mail handling is not working properly in the app deck. This is only in NC version 15. NC 14 was still fine.

When i use “sudo -u www-data php -f /var/www/html/occ activity:send-mails” the following message appears:
An unhandled exception has been thrown:

TypeError: Argument 3 passed to OC\Activity\Event::setObject() must be of the type string, null given, called in /var/www/html/apps/deck/lib/Activity/DeckProvider.php on line 108 and defined in /var/www/html/lib/private/Activity/Event.php:377
Stack trace:
#0 /var/www/html/apps/deck/lib/Activity/DeckProvider.php(108): OC\Activity\Event->setObject(‘deck_board’, 8, NULL)
#1 /var/www/html/apps/activity/lib/MailQueueHandler.php(465): OCA\Deck\Activity\DeckProvider->parse(‘de_DE’, Object(OC\Activity\Event))
#2 /var/www/html/apps/activity/lib/MailQueueHandler.php(374): OCA\Activity\MailQueueHandler->parseEvent(‘de_DE’, Object(OC\Activity\Event))
#3 /var/www/html/apps/activity/lib/MailQueueHandler.php(183): OCA\Activity\MailQueueHandler->sendEmailToUser(‘xxx’, ‘yyy@…’, ‘de_DE’, ‘Europe/Berlin’, 1551790443)
#4 /var/www/html/apps/activity/lib/Command/SendEmails.php(111): OCA\Activity\MailQueueHandler->sendEmails(500, 1551790443, true, NULL)
#5 /var/www/html/3rdparty/symfony/console/Command/Command.php(255): OCA\Activity\Command\SendEmails->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /var/www/html/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /var/www/html/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /var/www/html/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(OCA\Activity\Command\SendEmails), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /var/www/html/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/html/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/html/console.php(96): OC\Console\Application->run()
#12 /var/www/html/occ(11): require_once(’/var/www/html/c…’)

I think you’ve also opened this issue in parallel :wink:

Yes exactly. One for me and one for you :laughing: