[Bug]: Server hang/crash - FATAL: [Server] Unhandled rejection: Error #3150

Open
opened 2026-04-25 00:13:56 +02:00 by adam · 6 comments
Owner

Originally created by @t0maz on GitHub (Dec 12, 2025).

What happened?

Server hangs every one to few days.

What did you expect to happen?

Server to not hang and work as expected.

Steps to reproduce the issue

  1. Start server
  2. Observe it hangs and stops responding after few hours "503 Service Unavailable"

Audiobookshelf version

2.31.0

How are you running audiobookshelf?

Built from source

What OS is your Audiobookshelf server hosted from?

Other (list in "Additional Notes" box)

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

[2025-12-11 15:54:12.432] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.00s                                                                                                             
[2025-12-11 15:54:12.434] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.00s                                                                                                              
[2025-12-11 15:54:12.434] DEBUG: Loaded 6 personalized shelves in 0.08s                                                                                                                           
[2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"}                                             
[2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL                                                                                                                    
[2025-12-11 15:54:13.467] DEBUG: [ApiCacheManager] count: 2 size: 65758                                                                                                                           
[2025-12-11 15:54:13.468] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"}                                              
[2025-12-11 15:54:13.940] DEBUG: [ApiCacheManager] count: 2 size: 65758                                                                                                                           
[2025-12-11 15:54:13.969] DEBUG: [ApiCacheManager] count: 2 size: 65758                                                                                                                           
[2025-12-11 15:54:14.111] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/series?minified=1&sort=name&limit=10000"}                  
[2025-12-11 15:54:14.128] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/authors"}                                                  
[2025-12-11 15:54:14.771] DEBUG: [ApiCacheManager] count: 4 size: 685987                                                                                                                          
[2025-12-11 15:54:15.475] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/collections?minified=1&sort=name&limit=1000"}              
[2025-12-11 15:54:15.568] DEBUG: [ApiCacheManager] count: 4 size: 685987                                                                                                                          
[2025-12-11 15:54:15.569] DEBUG: [ApiCacheManager] count: 4 size: 685987                                                                                                                          
[2025-12-11 15:54:15.570] DEBUG: [ApiCacheManager] count: 4 size: 685987                                                                                                                          
[2025-12-11 15:54:15.571] DEBUG: [ApiCacheManager] count: 4 size: 685987                                                                                                                          
[2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error                                                                                                                              
    at Database.<anonymous> (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)                                                                                     
    at /root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50                                                                                                            
    at new Promise (<anonymous>)                                                                                                                                                                  
    at Query.run (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)                                                                                                
    at /root/audiobookshelf/node_modules/sequelize/lib/sequelize.js:315:28                                                                                                                        
    at async SQLiteQueryInterface.select (/root/audiobookshelf/node_modules/sequelize/lib/dialects/abstract/query-interface.js:407:12)                                                            
    at async book.findAll (/root/audiobookshelf/node_modules/sequelize/lib/model.js:1140:21)                                                                                                      
    at async Promise.all (index 1)                                                                                                                                                                
    at async book.findAndCountAll (/root/audiobookshelf/node_modules/sequelize/lib/model.js:1322:27)                                                                                              
    at async findAndCountAll (/root/audiobookshelf/server/utils/queries/libraryItemsBookFilters.js:380:12) {                                                                                      
  name: 'SequelizeDatabaseError',                                                                                                                                                                 
  parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {                                                     
    errno: 1,                                                                                                                                                                                     
    code: 'SQLITE_ERROR',                                                                                                                                                                         
    sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("be3fa60f-d9a3-4398-b132-7835374f51d7")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'8f91751e-cab6-4901-add0-428a6d634e0b\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;'                                                                                                   
  },                                                                                                                                                                                              
  original: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {                                                   
    errno: 1,                                                                                                                                                                                     
    code: 'SQLITE_ERROR',                                                                                                                                                                         
    sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("be3fa60f-d9a3-4398-b132-7835374f51d7")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'8f91751e-cab6-4901-add0-428a6d634e0b\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;'                                                                                                   
  },

(...)

    sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("c7e69044-553b-419f-b284-07393b512863")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'a44452a3-8d2c-4e68-b883-1bcd0be32ac1\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;',                                                                                                  
    parameters: {}                                                                                                                                                                                
  }                                                                                                                                                                                               
}                                                                                                                                                                                                 
[2025-12-11 15:54:15.594] DEBUG: Loaded 1 of 1 items for libary page in 0.02s                                                                                                                     
[2025-12-11 15:54:15.594] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/items?limit=1000&minified=1&filter=authors.YTY0MTc5MGItMjEwZS00Y2VkLWExZWQtMDY3ZmM4Yzc4OTBh&sort=media.metadata.title&collapseseries=1"}                                                                                                                     
^[[31m[nodemon] app crashed - waiting for file changes before starting...^[[39m

Additional Notes

root@audiobookshelf:~ # sqlite3 /usr/local/etc/AudioBookShelf/config/absdatabase.sqlite "PRAGMA integrity_check;"
ok
root@audiobookshelf:~ # npm --version
11.6.4
root@audiobookshelf:~ # freebsd-version -u
14.3-RELEASE-p5

Originally created by @t0maz on GitHub (Dec 12, 2025). ### What happened? Server hangs every one to few days. ### What did you expect to happen? Server to not hang and work as expected. ### Steps to reproduce the issue 1. Start server 2. Observe it hangs and stops responding after few hours "503 Service Unavailable" ### Audiobookshelf version 2.31.0 ### How are you running audiobookshelf? Built from source ### What OS is your Audiobookshelf server hosted from? Other (list in "Additional Notes" box) ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell [2025-12-11 15:54:12.432] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.00s [2025-12-11 15:54:12.434] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.00s [2025-12-11 15:54:12.434] DEBUG: Loaded 6 personalized shelves in 0.08s [2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"} [2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL [2025-12-11 15:54:13.467] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:13.468] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"} [2025-12-11 15:54:13.940] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:13.969] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:14.111] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/series?minified=1&sort=name&limit=10000"} [2025-12-11 15:54:14.128] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/authors"} [2025-12-11 15:54:14.771] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.475] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/collections?minified=1&sort=name&limit=1000"} [2025-12-11 15:54:15.568] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.569] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.570] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.571] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error at Database.<anonymous> (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) at /root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 at new Promise (<anonymous>) at Query.run (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) at /root/audiobookshelf/node_modules/sequelize/lib/sequelize.js:315:28 at async SQLiteQueryInterface.select (/root/audiobookshelf/node_modules/sequelize/lib/dialects/abstract/query-interface.js:407:12) at async book.findAll (/root/audiobookshelf/node_modules/sequelize/lib/model.js:1140:21) at async Promise.all (index 1) at async book.findAndCountAll (/root/audiobookshelf/node_modules/sequelize/lib/model.js:1322:27) at async findAndCountAll (/root/audiobookshelf/server/utils/queries/libraryItemsBookFilters.js:380:12) { name: 'SequelizeDatabaseError', parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { errno: 1, code: 'SQLITE_ERROR', sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("be3fa60f-d9a3-4398-b132-7835374f51d7")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'8f91751e-cab6-4901-add0-428a6d634e0b\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;' }, original: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { errno: 1, code: 'SQLITE_ERROR', sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("be3fa60f-d9a3-4398-b132-7835374f51d7")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'8f91751e-cab6-4901-add0-428a6d634e0b\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;' }, (...) sql: 'SELECT `book`.`id`, `book`.`title`, `book`.`titleIgnorePrefix`, `book`.`subtitle`, `book`.`publishedYear`, `book`.`publishedDate`, `book`.`publisher`, `book`.`description`, `book`.`isbn`, `book`.`asin`, `book`.`language`, `book`.`explicit`, `book`.`abridged`, `book`.`coverPath`, `book`.`duration`, `book`.`narrators`, `book`.`audioFiles`, `book`.`ebookFile`, `book`.`chapters`, `book`.`tags`, `book`.`genres`, `book`.`createdAt`, `book`.`updatedAt`, IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN ("c7e69044-553b-419f-b284-07393b512863")), `libraryItem`.`title`) AS `display_title`, `libraryItem`.`id` AS `libraryItem.id`, `libraryItem`.`ino` AS `libraryItem.ino`, `libraryItem`.`path` AS `libraryItem.path`, `libraryItem`.`relPath` AS `libraryItem.relPath`, `libraryItem`.`mediaId` AS `libraryItem.mediaId`, `libraryItem`.`mediaType` AS `libraryItem.mediaType`, `libraryItem`.`isFile` AS `libraryItem.isFile`, `libraryItem`.`isMissing` AS `libraryItem.isMissing`, `libraryItem`.`isInvalid` AS `libraryItem.isInvalid`, `libraryItem`.`mtime` AS `libraryItem.mtime`, `libraryItem`.`ctime` AS `libraryItem.ctime`, `libraryItem`.`birthtime` AS `libraryItem.birthtime`, `libraryItem`.`size` AS `libraryItem.size`, `libraryItem`.`lastScan` AS `libraryItem.lastScan`, `libraryItem`.`lastScanVersion` AS `libraryItem.lastScanVersion`, `libraryItem`.`libraryFiles` AS `libraryItem.libraryFiles`, `libraryItem`.`extraData` AS `libraryItem.extraData`, `libraryItem`.`title` AS `libraryItem.title`, `libraryItem`.`titleIgnorePrefix` AS `libraryItem.titleIgnorePrefix`, `libraryItem`.`authorNamesFirstLast` AS `libraryItem.authorNamesFirstLast`, `libraryItem`.`authorNamesLastFirst` AS `libraryItem.authorNamesLastFirst`, `libraryItem`.`createdAt` AS `libraryItem.createdAt`, `libraryItem`.`updatedAt` AS `libraryItem.updatedAt`, `libraryItem`.`libraryId` AS `libraryItem.libraryId`, `libraryItem`.`libraryFolderId` AS `libraryItem.libraryFolderId`, `authors`.`id` AS `authors.id`, `authors`.`name` AS `authors.name` FROM `books` AS `book` INNER JOIN `libraryItems` AS `libraryItem` ON `book`.`id` = `libraryItem`.`mediaId` AND (`libraryItem`.`libraryId` = \'8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c\' AND `libraryItem`.`mediaType` = \'book\') INNER JOIN ( `bookAuthors` AS `authors->bookAuthor` INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors->bookAuthor`.`authorId`) ON `book`.`id` = `authors->bookAuthor`.`bookId` AND `authors`.`id` = \'a44452a3-8d2c-4e68-b883-1bcd0be32ac1\' ORDER BY display_title COLLATE NOCASE ASC LIMIT 0, 1000;', parameters: {} } } [2025-12-11 15:54:15.594] DEBUG: Loaded 1 of 1 items for libary page in 0.02s [2025-12-11 15:54:15.594] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/items?limit=1000&minified=1&filter=authors.YTY0MTc5MGItMjEwZS00Y2VkLWExZWQtMDY3ZmM4Yzc4OTBh&sort=media.metadata.title&collapseseries=1"} ^[[31m[nodemon] app crashed - waiting for file changes before starting...^[[39m ``` ### Additional Notes root@audiobookshelf:~ # sqlite3 /usr/local/etc/AudioBookShelf/config/absdatabase.sqlite "PRAGMA integrity_check;" ok root@audiobookshelf:~ # npm --version 11.6.4 root@audiobookshelf:~ # freebsd-version -u 14.3-RELEASE-p5
adam added the bug label 2026-04-25 00:13:56 +02:00
Author
Owner

@Vito0912 commented on GitHub (Dec 12, 2025):

Can you give more details?

Was it your first setup?
Do you click something if that happens etc?
Did you modify the sqlite db at some point

@Vito0912 commented on GitHub (Dec 12, 2025): Can you give more details? Was it your first setup? Do you click something if that happens etc? Did you modify the sqlite db at some point
Author
Owner

@t0maz commented on GitHub (Dec 12, 2025):

Thanks for your reply.

The setup worked fine for a year or two.
I've noticed the issue a week or two ago.

Recent updates of npm haven't helped so I've updated audiobookshelf from 2.26 to 2.31.0 but the issue still persist.
I've collected the logs and made this report.

Hard to say what was done on client side if anything, I see in the log that one of users (Marian) was most probably active at this time. He's using Android client.
Perhaps this part of log can help to determine what was happening before the issue occurred?

[2025-12-11 15:47:40.788] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io uUsa34Vi-RSGAriPAABN
[2025-12-11 15:47:40.793] ERROR: Cannot validate socket - invalid token
[2025-12-11 15:48:25.851] INFO: [SocketAuthority] Unauth socket uUsa34Vi-RSGAriPAABN disconnected (Reason: ping timeout)
[2025-12-11 15:52:51.942] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io xtEKUTCiT4AblPH3AABP
[2025-12-11 15:52:51.946] ERROR: Cannot validate socket - invalid token
[2025-12-11 15:53:36.953] INFO: [SocketAuthority] Unauth socket xtEKUTCiT4AblPH3AABP disconnected (Reason: ping timeout)
[2025-12-11 15:54:09.603] INFO: Received ping
[2025-12-11 15:54:10.624] DEBUG: [Auth] refreshing token. shouldReturnRefreshToken: true
[2025-12-11 15:54:10.661] DEBUG: [ApiCacheManager] session.afterUpdate: Clearing cache
[2025-12-11 15:54:11.821] DEBUG: [ApiCacheManager] count: 0 size: 0
[2025-12-11 15:54:11.841] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries?include=stats"}
[2025-12-11 15:54:12.000] DEBUG: [ApiCacheManager] count: 1 size: 1349
[2025-12-11 15:54:12.001] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries?include=stats"}
[2025-12-11 15:54:12.314] DEBUG: [ApiCacheManager] count: 1 size: 1349
[2025-12-11 15:54:12.331] DEBUG: Loaded 6 of 6 items for "Continue Listening/Reading" in 0.01s
[2025-12-11 15:54:12.338] DEBUG: Loaded 0 of 0 items for "Continue Series" in 0.01s
[2025-12-11 15:54:12.343] DEBUG: Loaded 6 of 6 items for "Recently Added" in 0.01s
[2025-12-11 15:54:12.346] DEBUG: [ApiCacheManager] count: 1 size: 1349
[2025-12-11 15:54:12.367] DEBUG: Loaded 4 of 4 series for "Recent Series" in 0.02s
[2025-12-11 15:54:12.380] DEBUG: Loaded 6 of 6 items for "Continue Listening/Reading" in 0.02s
[2025-12-11 15:54:12.392] DEBUG: Loaded 0 of 0 items for "Continue Series" in 0.01s
[2025-12-11 15:54:12.400] DEBUG: Loaded 10 of 158 items for "Discover" in 0.03s
[2025-12-11 15:54:12.403] DEBUG: Loaded 6 of 6 items for "Recently Added" in 0.01s
[2025-12-11 15:54:12.407] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.01s
[2025-12-11 15:54:12.411] DEBUG: Loaded 4 of 4 series for "Recent Series" in 0.01s
[2025-12-11 15:54:12.412] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.01s
[2025-12-11 15:54:12.412] DEBUG: Loaded 6 personalized shelves in 0.10s
[2025-12-11 15:54:12.413] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"}
[2025-12-11 15:54:12.413] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL
[2025-12-11 15:54:12.428] DEBUG: Loaded 10 of 158 items for "Discover" in 0.02s
[2025-12-11 15:54:12.432] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.00s
[2025-12-11 15:54:12.434] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.00s
[2025-12-11 15:54:12.434] DEBUG: Loaded 6 personalized shelves in 0.08s
[2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"}
[2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL
[2025-12-11 15:54:13.467] DEBUG: [ApiCacheManager] count: 2 size: 65758
[2025-12-11 15:54:13.468] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"}
[2025-12-11 15:54:13.940] DEBUG: [ApiCacheManager] count: 2 size: 65758
[2025-12-11 15:54:13.969] DEBUG: [ApiCacheManager] count: 2 size: 65758
[2025-12-11 15:54:14.111] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/series?minified=1&sort=name&limit=10000"}
[2025-12-11 15:54:14.128] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/authors"}
[2025-12-11 15:54:14.771] DEBUG: [ApiCacheManager] count: 4 size: 685987
[2025-12-11 15:54:15.475] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/collections?minified=1&sort=name&limit=1000"}
[2025-12-11 15:54:15.568] DEBUG: [ApiCacheManager] count: 4 size: 685987
[2025-12-11 15:54:15.569] DEBUG: [ApiCacheManager] count: 4 size: 685987
[2025-12-11 15:54:15.570] DEBUG: [ApiCacheManager] count: 4 size: 685987
[2025-12-11 15:54:15.571] DEBUG: [ApiCacheManager] count: 4 size: 685987
[2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error
at Database. (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)

@t0maz commented on GitHub (Dec 12, 2025): Thanks for your reply. The setup worked fine for a year or two. I've noticed the issue a week or two ago. Recent updates of npm haven't helped so I've updated audiobookshelf from 2.26 to 2.31.0 but the issue still persist. I've collected the logs and made this report. Hard to say what was done on client side if anything, I see in the log that one of users (Marian) was most probably active at this time. He's using Android client. Perhaps this part of log can help to determine what was happening before the issue occurred? > [2025-12-11 15:47:40.788] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io uUsa34Vi-RSGAriPAABN [2025-12-11 15:47:40.793] ERROR: Cannot validate socket - invalid token [2025-12-11 15:48:25.851] INFO: [SocketAuthority] Unauth socket uUsa34Vi-RSGAriPAABN disconnected (Reason: ping timeout) [2025-12-11 15:52:51.942] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io xtEKUTCiT4AblPH3AABP [2025-12-11 15:52:51.946] ERROR: Cannot validate socket - invalid token [2025-12-11 15:53:36.953] INFO: [SocketAuthority] Unauth socket xtEKUTCiT4AblPH3AABP disconnected (Reason: ping timeout) [2025-12-11 15:54:09.603] INFO: Received ping [2025-12-11 15:54:10.624] DEBUG: [Auth] refreshing token. shouldReturnRefreshToken: true [2025-12-11 15:54:10.661] DEBUG: [ApiCacheManager] session.afterUpdate: Clearing cache [2025-12-11 15:54:11.821] DEBUG: [ApiCacheManager] count: 0 size: 0 [2025-12-11 15:54:11.841] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries?include=stats"} [2025-12-11 15:54:12.000] DEBUG: [ApiCacheManager] count: 1 size: 1349 [2025-12-11 15:54:12.001] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries?include=stats"} [2025-12-11 15:54:12.314] DEBUG: [ApiCacheManager] count: 1 size: 1349 [2025-12-11 15:54:12.331] DEBUG: Loaded 6 of 6 items for "Continue Listening/Reading" in 0.01s [2025-12-11 15:54:12.338] DEBUG: Loaded 0 of 0 items for "Continue Series" in 0.01s [2025-12-11 15:54:12.343] DEBUG: Loaded 6 of 6 items for "Recently Added" in 0.01s [2025-12-11 15:54:12.346] DEBUG: [ApiCacheManager] count: 1 size: 1349 [2025-12-11 15:54:12.367] DEBUG: Loaded 4 of 4 series for "Recent Series" in 0.02s [2025-12-11 15:54:12.380] DEBUG: Loaded 6 of 6 items for "Continue Listening/Reading" in 0.02s [2025-12-11 15:54:12.392] DEBUG: Loaded 0 of 0 items for "Continue Series" in 0.01s [2025-12-11 15:54:12.400] DEBUG: Loaded 10 of 158 items for "Discover" in 0.03s [2025-12-11 15:54:12.403] DEBUG: Loaded 6 of 6 items for "Recently Added" in 0.01s [2025-12-11 15:54:12.407] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.01s [2025-12-11 15:54:12.411] DEBUG: Loaded 4 of 4 series for "Recent Series" in 0.01s [2025-12-11 15:54:12.412] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.01s [2025-12-11 15:54:12.412] DEBUG: Loaded 6 personalized shelves in 0.10s [2025-12-11 15:54:12.413] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"} [2025-12-11 15:54:12.413] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL [2025-12-11 15:54:12.428] DEBUG: Loaded 10 of 158 items for "Discover" in 0.02s [2025-12-11 15:54:12.432] DEBUG: Loaded 1 of 1 items for "Listen/Read Again" in 0.00s [2025-12-11 15:54:12.434] DEBUG: Loaded 3 of 3 authors for "Newest Authors" in 0.00s [2025-12-11 15:54:12.434] DEBUG: Loaded 6 personalized shelves in 0.08s [2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"} [2025-12-11 15:54:12.434] DEBUG: [ApiCacheManager] Caching with 1800000 ms TTL [2025-12-11 15:54:13.467] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:13.468] DEBUG: [ApiCacheManager] Cache hit: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/personalized"} [2025-12-11 15:54:13.940] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:13.969] DEBUG: [ApiCacheManager] count: 2 size: 65758 [2025-12-11 15:54:14.111] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/series?minified=1&sort=name&limit=10000"} [2025-12-11 15:54:14.128] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/authors"} [2025-12-11 15:54:14.771] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.475] DEBUG: [ApiCacheManager] Cache miss: {"user":"Marian","url":"/libraries/8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c/collections?minified=1&sort=name&limit=1000"} [2025-12-11 15:54:15.568] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.569] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.570] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.571] DEBUG: [ApiCacheManager] count: 4 size: 685987 [2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error at Database.<anonymous> (/root/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)
Author
Owner

@t0maz commented on GitHub (Dec 12, 2025):

The web UI shows user Marian last activity as 28 days ago.
Perhaps server went done before it stored info about user activity in db.
I'll try to figure out when user used audiobookshelf last in reality.

@t0maz commented on GitHub (Dec 12, 2025): The web UI shows user Marian last activity as 28 days ago. Perhaps server went done before it stored info about user activity in db. I'll try to figure out when user used audiobookshelf last in reality.
Author
Owner

@nichwall commented on GitHub (Dec 13, 2025):

Does the be3fa60f-d9a3-4398-b132-7835374f51d7 mean anything in your database? If we can narrow down where that came from (specifically the table) that may help to debug the cause, such as trying to use a stale author, collection, or series ID. It's a little hard to determine where the server hangs, is it when filtering by author?

And to clarify, it is the beta Android app from Audiobookshelf, not a 3rd party app? There have been a lot of 3rd party apps showing up in the past few months so just want to make sure it is not one of those. The web UI "last activity" also only works if the app reports access to the server using the websocket, which almost no 3rd party apps do.

@nichwall commented on GitHub (Dec 13, 2025): Does the `be3fa60f-d9a3-4398-b132-7835374f51d7` mean anything in your database? If we can narrow down where that came from (specifically the table) that may help to debug the cause, such as trying to use a stale author, collection, or series ID. It's a little hard to determine where the server hangs, is it when filtering by author? And to clarify, it is the beta Android app from Audiobookshelf, not a 3rd party app? There have been a lot of 3rd party apps showing up in the past few months so just want to make sure it is not one of those. The web UI "last activity" also only works if the app reports access to the server using the websocket, which almost no 3rd party apps do.
Author
Owner

@t0maz commented on GitHub (Dec 15, 2025):

I can see the value in db dump:

INSERT INTO bookSeries VALUES('be3fa60f-d9a3-4398-b132-7835374f51d7','6','2024-07-30 22:50:20.364 +00:00','8588bde1-2dd9-4dbb-b45c-799ba6c3589d','5f2cc1f2-1664-47f7-8e4a-bcf40d96b766');

and search for the two values referenced above shows:

INSERT INTO books VALUES('8588bde1-2dd9-4dbb-b45c-799ba6c3589d','Alien: Resurrection (Unabridged)' (...)

INSERT INTO series VALUES('5f2cc1f2-1664-47f7-8e4a-bcf40d96b766','Alien™: The Novelizations','Alien™: The Novelizations',NULL,'2024-07-30 22:50:20.364 +00:00','2024-07-30 22:50:20.364 +00:00','8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c');

Interesting as this is not a new thing and was in the server and database already for quite long time.
Playback session and media progress related to this book is from mid 2024.
Note: user doesn't speak english so it's also quite unlikely he was listening the Alien Novelisations and it's much more likely that it was displayed in his client app when browsing series or in some recommendations than actively listening to it.

Haven't been able to talk to user Marian yet but this is still in my plan.
I'll try to figure out what was his activity in recent days and which client is in use.

@t0maz commented on GitHub (Dec 15, 2025): I can see the value in db dump: > INSERT INTO bookSeries VALUES('be3fa60f-d9a3-4398-b132-7835374f51d7','6','2024-07-30 22:50:20.364 +00:00','8588bde1-2dd9-4dbb-b45c-799ba6c3589d','5f2cc1f2-1664-47f7-8e4a-bcf40d96b766'); and search for the two values referenced above shows: > INSERT INTO books VALUES('8588bde1-2dd9-4dbb-b45c-799ba6c3589d','Alien: Resurrection (Unabridged)' (...) > INSERT INTO series VALUES('5f2cc1f2-1664-47f7-8e4a-bcf40d96b766','Alien™: The Novelizations','Alien™: The Novelizations',NULL,'2024-07-30 22:50:20.364 +00:00','2024-07-30 22:50:20.364 +00:00','8c3ec8ef-7cfb-4b8a-b37a-143c2e0ea62c'); Interesting as this is not a new thing and was in the server and database already for quite long time. Playback session and media progress related to this book is from mid 2024. Note: user doesn't speak english so it's also quite unlikely he was listening the Alien Novelisations and it's much more likely that it was displayed in his client app when browsing series or in some recommendations than actively listening to it. Haven't been able to talk to user Marian yet but this is still in my plan. I'll try to figure out what was his activity in recent days and which client is in use.
Author
Owner

@t0maz commented on GitHub (Dec 15, 2025):

User Marian is using Audiobookshelf 0.11.0-beta for Android but last time he was using the client app was 6th December while the server was hanging/crashing multiple times since then.
Server hang again today and it's around the same activity pointing to the same bookSeries although sometimes other IDs are seen in the server log file:

root@audiobookshelf:~ # cat /var/log/audiobookshelf.log | egrep "Unhandled rejection" -A12 | egrep "Unhandled rejection|SQLITE_ERROR"
[2024-11-03 20:14:57.889] FATAL: [Server] Unhandled rejection: SequelizeUniqueConstraintError: Validation error, promise: Promise {
[2025-11-17 14:12:05.928] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-11-17 14:12:05.928] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-11-21 15:22:59.336] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-11-25 14:01:16.997] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-11-25 14:01:16.998] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-11-27 17:09:38.189] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-11-27 17:09:38.190] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-03 16:12:22.499] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-12-03 16:12:22.500] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-05 09:08:47.673] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-12-05 09:08:47.675] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-08 14:27:26.484] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "547c8944-4922-4a70-9b1d-071ca2b8a191" - should this be a string literal in single-quotes?] {
[2025-12-08 14:27:26.485] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "010bbe96-adf5-4ad9-92f5-a454677ea5f7" - should this be a string literal in single-quotes?] {
[2025-12-10 15:55:46.864] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-12-10 15:55:46.865] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-11 15:54:15.593] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {
[2025-12-15 13:54:07.066] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] {
[2025-12-15 13:54:07.068] FATAL: [Server] Unhandled rejection: Error
parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] {

and all this indices are bookSeries:

root@audiobookshelf:~ # sqlite3 /usr/local/etc/AudioBookShelf/config/absdatabase.sqlite .dump | egrep "be3fa60f-d9a3-4398-b132-7835374f51d7|c7e69044-553b-419f-b284-07393b512863|547c8944-4922-4a70-9b1d-071ca2b8a191|010bbe96-adf5-4ad9-92f5-a454677ea5f7"
INSERT INTO bookSeries VALUES('be3fa60f-d9a3-4398-b132-7835374f51d7','6','2024-07-30 22:50:20.364 +00:00','8588bde1-2dd9-4dbb-b45c-799ba6c3589d','5f2cc1f2-1664-47f7-8e4a-bcf40d96b766');
INSERT INTO bookSeries VALUES('c7e69044-553b-419f-b284-07393b512863','3','2024-08-03 12:51:47.350 +00:00','225e150b-91d2-4663-b231-7877d2f06342','49568b99-7645-4c20-993f-9aa923facc0a');
INSERT INTO bookSeries VALUES('010bbe96-adf5-4ad9-92f5-a454677ea5f7','2','2025-10-27 21:02:11.259 +00:00','fad25dc2-48b2-45de-b29e-758a91ed3884','0e418c3b-bc4b-487a-be91-ab4840a756c4');
INSERT INTO bookSeries VALUES('547c8944-4922-4a70-9b1d-071ca2b8a191',NULL,'2025-11-08 12:20:20.917 +00:00','f5849641-b4f9-40d8-b028-26699b0017de','17ce55a5-3ccd-4875-b695-4574b7911cf6');

@t0maz commented on GitHub (Dec 15, 2025): User Marian is using Audiobookshelf 0.11.0-beta for Android but last time he was using the client app was 6th December while the server was hanging/crashing multiple times since then. Server hang again today and it's around the same activity pointing to the same bookSeries although sometimes other IDs are seen in the server log file: > root@audiobookshelf:~ # cat /var/log/audiobookshelf.log | egrep "Unhandled rejection" -A12 | egrep "Unhandled rejection|SQLITE_ERROR" [2024-11-03 20:14:57.889] FATAL: [Server] Unhandled rejection: SequelizeUniqueConstraintError: Validation error, promise: Promise { [2025-11-17 14:12:05.928] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-11-17 14:12:05.928] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-11-21 15:22:59.336] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-11-25 14:01:16.997] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-11-25 14:01:16.998] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-11-27 17:09:38.189] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-11-27 17:09:38.190] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-03 16:12:22.499] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-12-03 16:12:22.500] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-05 09:08:47.673] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-12-05 09:08:47.675] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-08 14:27:26.484] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "547c8944-4922-4a70-9b1d-071ca2b8a191" - should this be a string literal in single-quotes?] { [2025-12-08 14:27:26.485] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "010bbe96-adf5-4ad9-92f5-a454677ea5f7" - should this be a string literal in single-quotes?] { [2025-12-10 15:55:46.864] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-12-10 15:55:46.865] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-11 15:54:15.592] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-11 15:54:15.593] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { [2025-12-15 13:54:07.066] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "be3fa60f-d9a3-4398-b132-7835374f51d7" - should this be a string literal in single-quotes?] { [2025-12-15 13:54:07.068] FATAL: [Server] Unhandled rejection: Error parent: [Error: SQLITE_ERROR: no such column: "c7e69044-553b-419f-b284-07393b512863" - should this be a string literal in single-quotes?] { and all this indices are bookSeries: > root@audiobookshelf:~ # sqlite3 /usr/local/etc/AudioBookShelf/config/absdatabase.sqlite .dump | egrep "be3fa60f-d9a3-4398-b132-7835374f51d7|c7e69044-553b-419f-b284-07393b512863|547c8944-4922-4a70-9b1d-071ca2b8a191|010bbe96-adf5-4ad9-92f5-a454677ea5f7" INSERT INTO bookSeries VALUES('be3fa60f-d9a3-4398-b132-7835374f51d7','6','2024-07-30 22:50:20.364 +00:00','8588bde1-2dd9-4dbb-b45c-799ba6c3589d','5f2cc1f2-1664-47f7-8e4a-bcf40d96b766'); INSERT INTO bookSeries VALUES('c7e69044-553b-419f-b284-07393b512863','3','2024-08-03 12:51:47.350 +00:00','225e150b-91d2-4663-b231-7877d2f06342','49568b99-7645-4c20-993f-9aa923facc0a'); INSERT INTO bookSeries VALUES('010bbe96-adf5-4ad9-92f5-a454677ea5f7','2','2025-10-27 21:02:11.259 +00:00','fad25dc2-48b2-45de-b29e-758a91ed3884','0e418c3b-bc4b-487a-be91-ab4840a756c4'); INSERT INTO bookSeries VALUES('547c8944-4922-4a70-9b1d-071ca2b8a191',NULL,'2025-11-08 12:20:20.917 +00:00','f5849641-b4f9-40d8-b028-26699b0017de','17ce55a5-3ccd-4875-b695-4574b7911cf6');
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3150