BookStack icon indicating copy to clipboard operation
BookStack copied to clipboard

Two errors after update/start: Logging processor not instantiable and Base table or view not found: pages

Open Torque-86 opened this issue 2 months ago • 5 comments

Attempted Debugging

  • [x] I have read the debugging page

Searched GitHub Issues

  • [x] I have searched GitHub for the issue.

Describe the Scenario

We’re seeing SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wiki.pages' doesn't exist while rendering a 404 page (query touches views, joint_permissions, and pages). I suspect the query is hitting a non-existent table. This looks like a schema/config mismatch on our instance rather than upstream code: either the app is pointed at the wrong database, migrations didn’t run in that DB, or a table prefix changed (so the actual table is bs_pages while the app queries pages). Could you confirm pages is expected to exist in a vanilla install and suggest the right recovery path if migrations were applied to a different DB/prefix?

Exact BookStack Version

BookStack v25.11.1 Latest

Log Content

[2025-11-12 14:23:10] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Target [Illuminate\\Contracts\\Log\\ContextLogProcessor] is not instantiable. at /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php:1216)
[stacktrace]
#0 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(968): Illuminate\\Container\\Container->notInstantiable()
#1 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(832): Illuminate\\Container\\Container->build()
#2 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1078): Illuminate\\Container\\Container->resolve()
#3 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(763): Illuminate\\Foundation\\Application->resolve()
#4 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1058): Illuminate\\Container\\Container->make()
#5 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(145): Illuminate\\Foundation\\Application->make()
#6 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Support/helpers.php(526): Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
#7 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(138): with()
#8 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(125): Illuminate\\Log\\LogManager->get()
#9 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(703): Illuminate\\Log\\LogManager->driver()
#10 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(380): Illuminate\\Log\\LogManager->error()
#11 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(343): Illuminate\\Foundation\\Exceptions\\Handler->reportThrowable()
#12 /srv/wiki/bookstack/app/Exceptions/Handler.php(61): Illuminate\\Foundation\\Exceptions\\Handler->report()
#13 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(49): BookStack\\Exceptions\\Handler->report()
#14 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(172): Illuminate\\Routing\\Pipeline->handleException()
#15 /srv/wiki/bookstack/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#16 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\Localization->handle()
#17 /srv/wiki/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\RunThemeActions->handle()
#19 /srv/wiki/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle()
#21 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#23 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#25 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#27 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Session\\Middleware\\StartSession->handle()
#28 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#30 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#32 /srv/wiki/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\ApplyCspRules->handle()
#34 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\\Pipeline\\Pipeline->then()
#36 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()
#37 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()
#38 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()
#39 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()
#40 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#41 /srv/wiki/bookstack/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\PreventResponseCaching->handle()
#43 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /srv/wiki/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#45 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): BookStack\\Http\\Middleware\\TrustProxies->handle()
#46 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#48 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#49 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#51 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#53 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()
#55 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#56 /srv/wiki/bookstack/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle()
#57 {main}
"} 
[2025-11-12 14:23:10] laravel.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wiki.pages' doesn't exist (Connection: mysql, SQL: select *, `viewable_id`, `viewable_type`, SUM(views) as view_count from `views` where (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `views`.`viewable_id` = `joint_permissions`.`entity_id` and `role_id` in (2) and `views`.`viewable_type` = `joint_permissions`.`entity_type` group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 46 and status != 2)))) and (`viewable_type` != page or exists (select `id` from `pages` where `pages`.`id` = `views`.`viewable_id` and `views`.`viewable_type` = page and `pages`.`draft` = 0)) and `viewable_type` in (page) group by `viewable_id`, `viewable_type` order by `view_count` desc limit 10 offset 0) (View: /srv/wiki/bookstack/resources/views/errors/404.blade.php) {"userId":46,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wiki.pages' doesn't exist (Connection: mysql, SQL: select *, `viewable_id`, `viewable_type`, SUM(views) as view_count from `views` where (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `views`.`viewable_id` = `joint_permissions`.`entity_id` and `role_id` in (2) and `views`.`viewable_type` = `joint_permissions`.`entity_type` group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 46 and status != 2)))) and (`viewable_type` != page or exists (select `id` from `pages` where `pages`.`id` = `views`.`viewable_id` and `views`.`viewable_type` = page and `pages`.`draft` = 0)) and `viewable_type` in (page) group by `viewable_id`, `viewable_type` order by `view_count` desc limit 10 offset 0) (View: /srv/wiki/bookstack/resources/views/errors/404.blade.php) at /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException()
#1 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(75): Illuminate\\View\\Engines\\PhpEngine->evaluatePath()
#2 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(209): Illuminate\\View\\Engines\\CompilerEngine->get()
#3 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(192): Illuminate\\View\\View->getContents()
#4 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(161): Illuminate\\View\\View->renderContents()
#5 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Http/Response.php(79): Illuminate\\View\\View->render()
#6 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent()
#7 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(60): Illuminate\\Http\\Response->__construct()
#8 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(90): Illuminate\\Routing\\ResponseFactory->make()
#9 /srv/wiki/bookstack/app/App/MetaController.php(32): Illuminate\\Routing\\ResponseFactory->view()
#10 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\App\\MetaController->notFound()
#11 /srv/wiki/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\\Routing\\Controller->callAction()
#12 /srv/wiki/bookstack/vendor/laravel/framew...

Hosting Environment

Ubuntu 20

Torque-86 avatar Nov 12 '25 13:11 Torque-86

Hi @Torque-86,

  • what is the output of running git status from your /srv/wiki/bookstack folder?
  • Did each of the update commands run without error?

ssddanbrown avatar Nov 13 '25 11:11 ssddanbrown

Hi @ssddanbrown

Thanks for the reply!

git status shows no errors, the working tree is clean, but it’s currently on the development branch. The version file reports v25.11.1.

For your second question: yes, all update commands completed without errors. composer install, php artisan migrate, and all cache clears ran successfully.

Screenshot of git status: Image

The version file currently shows v25.07.3, because we temporarily rolled back the version to test whether the missing pages issue was version-related. The rollback fixed the pages (made them accessible) but settings and books still crash.

Torque-86 avatar Nov 13 '25 12:11 Torque-86

Thanks @Torque-86.

I think something strange is going on, since you should only really use the release branch, and that version should not exist on the development branch.

  • Can you share the output of running git log -n 5 from your install folder?
  • When you rolled back, was that via backups/snapshots of some kind, or did you manually perform some kind of rollback process?

ssddanbrown avatar Nov 13 '25 15:11 ssddanbrown

@ssddanbrown, we have the same problem as described by @Torque-86 in problem two.

We are on a hosting service and have been pulling the latest releases from Bookstack via the GUI for 1.5 years. After the update, I was told that immediately after logging in to the menu shelves or navigating to the books, an ‘An unknown error occurred’ error message appears.

In the browser console, I only see: https://wiki.groddeloch-hexe.de/shelves 500 (Internal Server Error) books:1 GET https://wiki.groddeloch-hexe.de/books 500 (Internal Server Error)

Unfortunately, I don't have any more detailed insight into the logs. In any case, I can say that we are running a standard installation and no one has made any changes to the database; instead, we have pulled the updates via the GUI as usual.

It may be possible to reproduce the problem.

Is it possible to back up the shelves and books via CLI? The database does its backups, but it's better to be safe than sorry, and exporting to another directory of a backup file might be a good idea.

zinksa avatar Nov 15 '25 10:11 zinksa

@zinksa Please open a fresh dedicated support thread, as the root cause is likely to be different in your environment.

ssddanbrown avatar Nov 15 '25 13:11 ssddanbrown