Skip to content

[2.x] Error on GDPR Erasure #4774

Description

@GreXXL

Current Behavior

Although the action was successful two errors got logged when anonymizing a user on discuss.flarum.org

[2026-06-19T18:02:05.672025+00:00] flarum.ERROR: ErrorException: Undefined variable $forumTitle in PATHstorage/views/172123748fd971985eb252d61e5e47b4.php:22
Stack trace:
#0 PATHvendor/sentry/sentry/src/ErrorHandler.php(354): FoF\Sentry\SentryServiceProvider->handleError(2, 'Undefined varia...', '/usr/www/users/...', 22, Array)
#1 PATHstorage/views/172123748fd971985eb252d61e5e47b4.php(22): Sentry\ErrorHandler->handleError(2, 'Undefined varia...', '/usr/www/users/...', 22)
#2 PATHvendor/illuminate/filesystem/Filesystem.php(123): require('/usr/www/users/...')
#3 PATHvendor/illuminate/filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#4 PATHvendor/illuminate/view/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire('/usr/www/users/...', Array)
#5 PATHvendor/illuminate/view/Engines/CompilerEngine.php(76): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/www/users/...', Array)
#6 PATHvendor/illuminate/view/View.php(208): Illuminate\View\Engines\CompilerEngine->get('/usr/www/users/...', Array)
#7 PATHvendor/illuminate/view/View.php(191): Illuminate\View\View->getContents()
#8 PATHvendor/illuminate/view/View.php(160): Illuminate\View\View->renderContents()
#9 PATHvendor/illuminate/view/Concerns/ManagesComponents.php(99): Illuminate\View\View->render()
#10 PATHstorage/views/0a3536fb414e3e2318b926773bbc5db5.php(17): Illuminate\View\Factory->renderComponent()
#11 PATHvendor/illuminate/filesystem/Filesystem.php(123): require('/usr/www/users/...')
#12 PATHvendor/illuminate/filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#13 PATHvendor/illuminate/view/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire('/usr/www/users/...', Array)
#14 PATHvendor/illuminate/view/Engines/CompilerEngine.php(76): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/www/users/...', Array)
#15 PATHvendor/illuminate/view/View.php(208): Illuminate\View\Engines\CompilerEngine->get('/usr/www/users/...', Array)
#16 PATHvendor/illuminate/view/View.php(191): Illuminate\View\View->getContents()
#17 PATHvendor/illuminate/view/View.php(160): Illuminate\View\View->renderContents()
#18 PATHvendor/illuminate/mail/Mailer.php(444): Illuminate\View\View->render()
#19 PATHvendor/illuminate/mail/Mailer.php(423): Illuminate\Mail\Mailer->renderView('flarum-gdpr::em...', Array)
#20 PATHvendor/illuminate/mail/Mailer.php(312): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'flarum-gdpr::em...', 'flarum-gdpr::em...', NULL, Array)
#21 PATHvendor/flarum/core/src/Mail/Mailer.php(51): Illuminate\Mail\Mailer->send('flarum-gdpr::em...', Array, Object(Closure))
#22 PATHvendor/flarum/gdpr/src/Jobs/ErasureJob.php(119): Flarum\Mail\Mailer->send(Array, Array, Object(Closure))
#23 PATHvendor/flarum/gdpr/src/Jobs/ErasureJob.php(90): Flarum\Gdpr\Jobs\ErasureJob->sendUserConfirmation('anonymization', 'StreetSraker', 'kim842058@gmail...', Object(Flarum\Mail\Mailer), Object(Flarum\Locale\Translator))
#24 PATHvendor/illuminate/container/BoundMethod.php(36): Flarum\Gdpr\Jobs\ErasureJob->handle(Object(Illuminate\Database\MariaDbConnection), Object(Flarum\Gdpr\DataProcessor), Object(Illuminate\Events\Dispatcher), Object(Flarum\Mail\Mailer), Object(Flarum\Locale\Translator), Object(Flarum\Filesystem\FilesystemManager), Object(Flarum\Settings\DefaultSettingsRepository), Object(Flarum\Http\UrlGenerator))
#25 PATHvendor/illuminate/container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#26 PATHvendor/illuminate/container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#27 PATHvendor/illuminate/container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Flarum\Foundation\Application), Array, Object(Closure))
#28 PATHvendor/illuminate/container/Container.php(799): Illuminate\Container\BoundMethod::call(Object(Flarum\Foundation\Application), Array, Array, NULL)
#29 PATHvendor/illuminate/bus/Dispatcher.php(136): Illuminate\Container\Container->call(Array)
#30 PATHvendor/illuminate/pipeline/Pipeline.php(180): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#31 PATHvendor/illuminate/pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#32 PATHvendor/illuminate/bus/Dispatcher.php(140): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#33 PATHvendor/illuminate/queue/CallQueuedHandler.php(153): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Gdpr\Jobs\ErasureJob), false)
#34 PATHvendor/illuminate/pipeline/Pipeline.php(180): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#35 PATHvendor/illuminate/pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#36 PATHvendor/illuminate/queue/CallQueuedHandler.php(146): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#37 PATHvendor/illuminate/queue/CallQueuedHandler.php(84): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware(Object(Illuminate\Queue\Jobs\RedisJob), Object(Flarum\Gdpr\Jobs\ErasureJob))
#38 PATHvendor/illuminate/queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array)
#39 PATHvendor/illuminate/queue/Worker.php(553): Illuminate\Queue\Jobs\Job->fire()
#40 PATHvendor/illuminate/queue/Worker.php(499): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
#41 PATHvendor/illuminate/queue/Worker.php(245): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions))
#42 PATHvendor/illuminate/queue/Console/WorkCommand.php(149): Illuminate\Queue\Worker->daemon('redis', 'gdpr', Object(Illuminate\Queue\WorkerOptions))
#43 PATHvendor/illuminate/queue/Console/WorkCommand.php(132): Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'gdpr')
#44 PATHvendor/laravel/horizon/src/Console/WorkCommand.php(53): Illuminate\Queue\Console\WorkCommand->handle()
#45 PATHvendor/illuminate/container/BoundMethod.php(36): Laravel\Horizon\Console\WorkCommand->handle()
#46 PATHvendor/illuminate/container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#47 PATHvendor/illuminate/container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#48 PATHvendor/illuminate/container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Flarum\Foundation\Application), Array, Object(Closure))
#49 PATHvendor/illuminate/container/Container.php(799): Illuminate\Container\BoundMethod::call(Object(Flarum\Foundation\Application), Array, Array, NULL)
#50 PATHvendor/illuminate/console/Command.php(280): Illuminate\Container\Container->call(Array)
#51 PATHvendor/symfony/console/Command/Command.php(341): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#52 PATHvendor/illuminate/console/Command.php(249): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#53 PATHvendor/symfony/console/Application.php(1117): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#54 PATHvendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand(Object(FoF\Horizon\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#55 PATHvendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#56 PATHvendor/flarum/core/src/Console/Server.php(45): Symfony\Component\Console\Application->run()
#57 PATHflarum(22): Flarum\Console\Server->listen()
#58 {main}  
[2026-06-19T18:02:05.929375+00:00] flarum.ERROR: ErrorException: Undefined variable $username in PATHstorage/views/11ee920203fe47b7482db0112ffc57ca.php:5
Stack trace:
#0 PATHvendor/sentry/sentry/src/ErrorHandler.php(354): FoF\Sentry\SentryServiceProvider->handleError(2, 'Undefined varia...', '/usr/www/users/...', 5, Array)
#1 PATHstorage/views/11ee920203fe47b7482db0112ffc57ca.php(5): Sentry\ErrorHandler->handleError(2, 'Undefined varia...', '/usr/www/users/...', 5)
#2 PATHvendor/illuminate/filesystem/Filesystem.php(123): require('/usr/www/users/...')
#3 PATHvendor/illuminate/filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#4 PATHvendor/illuminate/view/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire('/usr/www/users/...', Array)
#5 PATHvendor/illuminate/view/Engines/CompilerEngine.php(76): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/www/users/...', Array)
#6 PATHvendor/illuminate/view/View.php(208): Illuminate\View\Engines\CompilerEngine->get('/usr/www/users/...', Array)
#7 PATHvendor/illuminate/view/View.php(191): Illuminate\View\View->getContents()
#8 PATHvendor/illuminate/view/View.php(160): Illuminate\View\View->renderContents()
#9 PATHvendor/illuminate/view/Concerns/ManagesComponents.php(99): Illuminate\View\View->render()
#10 PATHstorage/views/172123748fd971985eb252d61e5e47b4.php(25): Illuminate\View\Factory->renderComponent()
#11 PATHvendor/illuminate/filesystem/Filesystem.php(123): require('/usr/www/users/...')
#12 PATHvendor/illuminate/filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#13 PATHvendor/illuminate/view/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire('/usr/www/users/...', Array)
#14 PATHvendor/illuminate/view/Engines/CompilerEngine.php(76): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/www/users/...', Array)
#15 PATHvendor/illuminate/view/View.php(208): Illuminate\View\Engines\CompilerEngine->get('/usr/www/users/...', Array)
#16 PATHvendor/illuminate/view/View.php(191): Illuminate\View\View->getContents()
#17 PATHvendor/illuminate/view/View.php(160): Illuminate\View\View->renderContents()
#18 PATHvendor/illuminate/view/Concerns/ManagesComponents.php(99): Illuminate\View\View->render()
#19 PATHstorage/views/0a3536fb414e3e2318b926773bbc5db5.php(17): Illuminate\View\Factory->renderComponent()
#20 PATHvendor/illuminate/filesystem/Filesystem.php(123): require('/usr/www/users/...')
#21 PATHvendor/illuminate/filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#22 PATHvendor/illuminate/view/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire('/usr/www/users/...', Array)
#23 PATHvendor/illuminate/view/Engines/CompilerEngine.php(76): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/www/users/...', Array)
#24 PATHvendor/illuminate/view/View.php(208): Illuminate\View\Engines\CompilerEngine->get('/usr/www/users/...', Array)
#25 PATHvendor/illuminate/view/View.php(191): Illuminate\View\View->getContents()
#26 PATHvendor/illuminate/view/View.php(160): Illuminate\View\View->renderContents()
#27 PATHvendor/illuminate/mail/Mailer.php(444): Illuminate\View\View->render()
#28 PATHvendor/illuminate/mail/Mailer.php(423): Illuminate\Mail\Mailer->renderView('flarum-gdpr::em...', Array)
#29 PATHvendor/illuminate/mail/Mailer.php(312): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'flarum-gdpr::em...', 'flarum-gdpr::em...', NULL, Array)
#30 PATHvendor/flarum/core/src/Mail/Mailer.php(51): Illuminate\Mail\Mailer->send('flarum-gdpr::em...', Array, Object(Closure))
#31 PATHvendor/flarum/gdpr/src/Jobs/ErasureJob.php(119): Flarum\Mail\Mailer->send(Array, Array, Object(Closure))
#32 PATHvendor/flarum/gdpr/src/Jobs/ErasureJob.php(90): Flarum\Gdpr\Jobs\ErasureJob->sendUserConfirmation('anonymization', 'StreetSraker', 'kim842058@gmail...', Object(Flarum\Mail\Mailer), Object(Flarum\Locale\Translator))
#33 PATHvendor/illuminate/container/BoundMethod.php(36): Flarum\Gdpr\Jobs\ErasureJob->handle(Object(Illuminate\Database\MariaDbConnection), Object(Flarum\Gdpr\DataProcessor), Object(Illuminate\Events\Dispatcher), Object(Flarum\Mail\Mailer), Object(Flarum\Locale\Translator), Object(Flarum\Filesystem\FilesystemManager), Object(Flarum\Settings\DefaultSettingsRepository), Object(Flarum\Http\UrlGenerator))
#34 PATHvendor/illuminate/container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#35 PATHvendor/illuminate/container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#36 PATHvendor/illuminate/container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Flarum\Foundation\Application), Array, Object(Closure))
#37 PATHvendor/illuminate/container/Container.php(799): Illuminate\Container\BoundMethod::call(Object(Flarum\Foundation\Application), Array, Array, NULL)
#38 PATHvendor/illuminate/bus/Dispatcher.php(136): Illuminate\Container\Container->call(Array)
#39 PATHvendor/illuminate/pipeline/Pipeline.php(180): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#40 PATHvendor/illuminate/pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#41 PATHvendor/illuminate/bus/Dispatcher.php(140): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#42 PATHvendor/illuminate/queue/CallQueuedHandler.php(153): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Gdpr\Jobs\ErasureJob), false)
#43 PATHvendor/illuminate/pipeline/Pipeline.php(180): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#44 PATHvendor/illuminate/pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Gdpr\Jobs\ErasureJob))
#45 PATHvendor/illuminate/queue/CallQueuedHandler.php(146): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#46 PATHvendor/illuminate/queue/CallQueuedHandler.php(84): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware(Object(Illuminate\Queue\Jobs\RedisJob), Object(Flarum\Gdpr\Jobs\ErasureJob))
#47 PATHvendor/illuminate/queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array)
#48 PATHvendor/illuminate/queue/Worker.php(553): Illuminate\Queue\Jobs\Job->fire()
#49 PATHvendor/illuminate/queue/Worker.php(499): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
#50 PATHvendor/illuminate/queue/Worker.php(245): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions))
#51 PATHvendor/illuminate/queue/Console/WorkCommand.php(149): Illuminate\Queue\Worker->daemon('redis', 'gdpr', Object(Illuminate\Queue\WorkerOptions))
#52 PATHvendor/illuminate/queue/Console/WorkCommand.php(132): Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'gdpr')
#53 PATHvendor/laravel/horizon/src/Console/WorkCommand.php(53): Illuminate\Queue\Console\WorkCommand->handle()
#54 PATHvendor/illuminate/container/BoundMethod.php(36): Laravel\Horizon\Console\WorkCommand->handle()
#55 PATHvendor/illuminate/container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#56 PATHvendor/illuminate/container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#57 PATHvendor/illuminate/container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Flarum\Foundation\Application), Array, Object(Closure))
#58 PATHvendor/illuminate/container/Container.php(799): Illuminate\Container\BoundMethod::call(Object(Flarum\Foundation\Application), Array, Array, NULL)
#59 PATHvendor/illuminate/console/Command.php(280): Illuminate\Container\Container->call(Array)
#60 PATHvendor/symfony/console/Command/Command.php(341): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#61 PATHvendor/illuminate/console/Command.php(249): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#62 PATHvendor/symfony/console/Application.php(1117): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#63 PATHvendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand(Object(FoF\Horizon\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#64 PATHvendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#65 PATHvendor/flarum/core/src/Console/Server.php(45): Symfony\Component\Console\Application->run()
#66 PATHflarum(22): Flarum\Console\Server->listen()
#67 {main}  

Steps to Reproduce

Process Ereasure request with action Anonymize

Expected Behavior

No error logged

Screenshots

No response

Environment

  • Flarum version: x.y.z
  • Website URL: http://example.com
  • Webserver: [e.g. apache, nginx]
  • Hosting environment: [e.g. shared, vps]
  • PHP version: x.y.z
  • Browser: [e.g. chrome 67, safari 11]

Output of php flarum info

Output of "php flarum info", run this in terminal in your Flarum directory.

Possible Solution

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions