Webtrees app should be marked broken

What app is this about, and its version: Webtrees version: 2.2.4~ynh1
What YunoHost version are you running: 12.1.35
What type of hardware are you using: VPS bought online

Describe your issue

After a fresh installation of the Webtrees app and when starting it, an error occurs with the stacktrace see below.

This seems similar to this bug from september 2022:

There are 4 open bugs all from 2022, at least one of the other three seems similar.

Should the 'Webtrees app be marked as broken, since it is not running at all after a fresh installation and nobody seems to care for more than three years?

Share relevant logs or error messages

PDOException: SQLSTATE[HY000]: General error: 1005 Can't create table `webtrees`.`wt_module_privacy` (errno: 150 "Foreign key constraint is incorrectly formed") in /var/www/webtrees/vendor/illuminate/database/Connection.php:570
Stack trace:
#0 /var/www/webtrees/vendor/illuminate/database/Connection.php(570): PDOStatement->execute()
#1 /var/www/webtrees/vendor/illuminate/database/Connection.php(811): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#2 /var/www/webtrees/vendor/illuminate/database/Connection.php(778): Illuminate\Database\Connection->runQueryCallback()
#3 /var/www/webtrees/vendor/illuminate/database/Connection.php(559): Illuminate\Database\Connection->run()
#4 /var/www/webtrees/vendor/illuminate/database/Schema/Blueprint.php(119): Illuminate\Database\Connection->statement()
#5 /var/www/webtrees/vendor/illuminate/database/Schema/Builder.php(618): Illuminate\Database\Schema\Blueprint->build()
#6 /var/www/webtrees/vendor/illuminate/database/Schema/Builder.php(472): Illuminate\Database\Schema\Builder->build()
#7 /var/www/webtrees/app/Schema/Migration42.php(56): Illuminate\Database\Schema\Builder->create()
#8 /var/www/webtrees/app/Services/MigrationService.php(60): Fisharebest\Webtrees\Schema\Migration42->upgrade()
#9 /var/www/webtrees/app/Http/Middleware/UpdateDatabaseSchema.php(55): Fisharebest\Webtrees\Services\MigrationService->updateSchema()
#10 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process()
#11 /var/www/webtrees/app/Http/Middleware/UseDatabase.php(56): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#12 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process()
#13 /var/www/webtrees/app/Http/Middleware/BadBotBlocker.php(351): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#14 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process()
#15 /var/www/webtrees/app/Http/Middleware/CompressResponse.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#16 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process()
#17 /var/www/webtrees/app/Http/Middleware/ContentLength.php(40): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#18 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ContentLength->process()
#19 /var/www/webtrees/vendor/middlewares/client-ip/src/ClientIp.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#20 /var/www/webtrees/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process()
#21 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ClientIp->process()
#22 /var/www/webtrees/app/Http/Middleware/PublicFiles.php(62): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#23 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\PublicFiles->process()
#24 /var/www/webtrees/app/Http/Middleware/HandleExceptions.php(84): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#25 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process()
#26 /var/www/webtrees/app/Http/Middleware/SecurityHeaders.php(49): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#27 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process()
#28 /var/www/webtrees/app/Http/Middleware/BaseUrl.php(73): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#29 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process()
#30 /var/www/webtrees/app/Http/Middleware/ReadConfigIni.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#31 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process()
#32 /var/www/webtrees/app/Http/Middleware/EmitResponse.php(55): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#33 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process()
#34 /var/www/webtrees/app/Http/Middleware/ErrorHandler.php(38): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#35 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ErrorHandler->process()
#36 /var/www/webtrees/app/Http/Dispatcher.php(47): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#37 /var/www/webtrees/app/Webtrees.php(274): Fisharebest\Webtrees\Http\Dispatcher::dispatch()
#38 /var/www/webtrees/app/Webtrees.php(247): Fisharebest\Webtrees\Webtrees->httpRequest()
#39 /var/www/webtrees/index.php(24): Fisharebest\Webtrees\Webtrees->run()
#40 {main}

Next Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1005 Can't create table `webtrees`.`wt_module_privacy` (errno: 150 "Foreign key constraint is incorrectly formed") (Connection: default, SQL: alter table `wt_module_privacy` add constraint `wt_module_privacy_module_name_foreign` foreign key (`module_name`) references `wt_module` (`module_name`) on delete cascade) in /var/www/webtrees/vendor/illuminate/database/Connection.php:824
Stack trace:
#0 /var/www/webtrees/vendor/illuminate/database/Connection.php(778): Illuminate\Database\Connection->runQueryCallback()
#1 /var/www/webtrees/vendor/illuminate/database/Connection.php(559): Illuminate\Database\Connection->run()
#2 /var/www/webtrees/vendor/illuminate/database/Schema/Blueprint.php(119): Illuminate\Database\Connection->statement()
#3 /var/www/webtrees/vendor/illuminate/database/Schema/Builder.php(618): Illuminate\Database\Schema\Blueprint->build()
#4 /var/www/webtrees/vendor/illuminate/database/Schema/Builder.php(472): Illuminate\Database\Schema\Builder->build()
#5 /var/www/webtrees/app/Schema/Migration42.php(56): Illuminate\Database\Schema\Builder->create()
#6 /var/www/webtrees/app/Services/MigrationService.php(60): Fisharebest\Webtrees\Schema\Migration42->upgrade()
#7 /var/www/webtrees/app/Http/Middleware/UpdateDatabaseSchema.php(55): Fisharebest\Webtrees\Services\MigrationService->updateSchema()
#8 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process()
#9 /var/www/webtrees/app/Http/Middleware/UseDatabase.php(56): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#10 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process()
#11 /var/www/webtrees/app/Http/Middleware/BadBotBlocker.php(351): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#12 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process()
#13 /var/www/webtrees/app/Http/Middleware/CompressResponse.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#14 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process()
#15 /var/www/webtrees/app/Http/Middleware/ContentLength.php(40): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#16 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ContentLength->process()
#17 /var/www/webtrees/vendor/middlewares/client-ip/src/ClientIp.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#18 /var/www/webtrees/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process()
#19 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ClientIp->process()
#20 /var/www/webtrees/app/Http/Middleware/PublicFiles.php(62): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#21 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\PublicFiles->process()
#22 /var/www/webtrees/app/Http/Middleware/HandleExceptions.php(84): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#23 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process()
#24 /var/www/webtrees/app/Http/Middleware/SecurityHeaders.php(49): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#25 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process()
#26 /var/www/webtrees/app/Http/Middleware/BaseUrl.php(73): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#27 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process()
#28 /var/www/webtrees/app/Http/Middleware/ReadConfigIni.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#29 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process()
#30 /var/www/webtrees/app/Http/Middleware/EmitResponse.php(55): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#31 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process()
#32 /var/www/webtrees/app/Http/Middleware/ErrorHandler.php(38): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#33 /var/www/webtrees/app/Http/Dispatcher.php(76): Fisharebest\Webtrees\Http\Middleware\ErrorHandler->process()
#34 /var/www/webtrees/app/Http/Dispatcher.php(47): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#35 /var/www/webtrees/app/Webtrees.php(274): Fisharebest\Webtrees\Http\Dispatcher::dispatch()
#36 /var/www/webtrees/app/Webtrees.php(247): Fisharebest\Webtrees\Webtrees->httpRequest()
#37 /var/www/webtrees/index.php(24): Fisharebest\Webtrees\Webtrees->run()
#38 {main}

The app works well for some older instances.
I’ve just added the bug label to the issue, that should create a warning on the ci so we can track this.
If you have an idea how to solve this issue, be welcome!

Hi @matalb @Tho
@ericg published a working branch (called “new”), but I don’t know why it hasn’t been merged…?

[edit 24/11] Merged

I installed it on 12.1.35 and it works (…at least as far as I tested). I was also able to upgrade to 2.2.4 through the admin panel without any issues.
The problem with version 2.2.4 from the main branch was related with the “encoding” in databse (utf8mb3_unicode_ci), but it is fixed by installing version 2.2.1 from the “new” branch (utf8mb4_general_ci).

Oh I didn’t see it, I guess it will be merged soon. Thanks for the info

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.