Skip to content

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

Open

Description

@t0maz

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

Activity

  1. Vito0912 commented on Dec 12, 2025

    @Vito0912
    Contributor

    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

  2. t0maz commented on Dec 12, 2025

    @t0maz
    Author

    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)

  3. t0maz commented on Dec 12, 2025

    @t0maz
    Author

    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.

  4. nichwall commented on Dec 13, 2025

    @nichwall
    Contributor

    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.

  5. t0maz commented on Dec 15, 2025

    @t0maz
    Author

    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.

  6. t0maz commented on Dec 15, 2025

    @t0maz
    Author

    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 up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions