[Bug]: 2.12.1 Unicode DB Crash #2151

Closed
opened 2026-04-25 00:04:04 +02:00 by adam · 14 comments
Owner

Originally created by @BlwAvg on GitHub (Aug 5, 2024).

What happened?

Full crash - Database issues continued.

What did you expect to happen?

The application to run as expected.

Steps to reproduce the issue

  1. Upgrade PPA version to 2.12.1
  2. Try and load application

Audiobookshelf version

2.12.1

How are you running audiobookshelf?

Debian/PPA

What OS is your Audiobookshelf server hosted from?

Linux

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

Other (list in "Additional Notes" box)

Logs

sudo journalctl -u audiobookshelf.service -b
Aug 05 09:31:58 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks.
Aug 05 09:31:59 audio audiobookshelf[740]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.811] INFO: === Starting Server ===
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Init v2.12.1
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Node.js Version: v20.11.1
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Platform: linux
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Arch: x64
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.939] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.940] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.049] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.049] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite"
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.075] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.076] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.076] INFO: [Database] Db connection was successful
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.148] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.149] DEBUG: Set Log Level to DEBUG (    at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js))
Aug 05 09:32:01 audio audiobookshelf[740]: [2024-08-05 09:32:01.309] WARN: Found series "Kørner  Werner Series" with no books - removing it (    at Database.cleanDatabase (/snapshot/audiobookshelf/server/Database.js))
Aug 05 09:32:01 audio audiobookshelf[740]: [2024-08-05 09:32:01.325] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise {
Aug 05 09:32:01 audio audiobookshelf[740]:   <rejected> Error
Aug 05 09:32:01 audio audiobookshelf[740]:       at Database.<anonymous> (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)
Aug 05 09:32:01 audio audiobookshelf[740]:       at /snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50
Aug 05 09:32:01 audio audiobookshelf[740]:       at new Promise (<anonymous>)
Aug 05 09:32:01 audio audiobookshelf[740]:       at Query.run (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)
Aug 05 09:32:01 audio audiobookshelf[740]:       at /snapshot/audiobookshelf/node_modules/sequelize/lib/sequelize.js:315:28
Aug 05 09:32:01 audio audiobookshelf[740]:       at async SQLiteQueryInterface.delete (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12)
Aug 05 09:32:01 audio audiobookshelf[740]:       at async Series.destroy (/snapshot/audiobookshelf/node_modules/sequelize/lib/model.js:2627:16)
Aug 05 09:32:01 audio audiobookshelf[740]:       at async Database.cleanDatabase (/snapshot/audiobookshelf/server/Database.js)
Aug 05 09:32:01 audio audiobookshelf[740]:       at async Database.loadData (/snapshot/audiobookshelf/server/Database.js)
Aug 05 09:32:01 audio audiobookshelf[740]:       at async Database.init (/snapshot/audiobookshelf/server/Database.js) {
Aug 05 09:32:01 audio audiobookshelf[740]:     name: 'SequelizeDatabaseError',
Aug 05 09:32:01 audio audiobookshelf[740]:     parent: [Error: SQLITE_CORRUPT: database disk image is malformed] {
Aug 05 09:32:01 audio audiobookshelf[740]:       errno: 11,
Aug 05 09:32:01 audio audiobookshelf[740]:       code: 'SQLITE_CORRUPT',
Aug 05 09:32:01 audio audiobookshelf[740]:       sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'"
Aug 05 09:32:01 audio audiobookshelf[740]:     },
Aug 05 09:32:01 audio audiobookshelf[740]:     original: [Error: SQLITE_CORRUPT: database disk image is malformed] {
Aug 05 09:32:01 audio audiobookshelf[740]:       errno: 11,
Aug 05 09:32:01 audio audiobookshelf[740]:       code: 'SQLITE_CORRUPT',
Aug 05 09:32:01 audio audiobookshelf[740]:       sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'"
Aug 05 09:32:01 audio audiobookshelf[740]:     },
Aug 05 09:32:01 audio audiobookshelf[740]:     sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'",
Aug 05 09:32:01 audio audiobookshelf[740]:     parameters: {}
Aug 05 09:32:01 audio audiobookshelf[740]:   }
Aug 05 09:32:01 audio audiobookshelf[740]: } (    at process.<anonymous> (/snapshot/audiobookshelf/server/Server.js))
Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Main process exited, code=exited, status=1/FAILURE
Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Failed with result 'exit-code'.
Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Consumed 1.090s CPU time.
Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Scheduled restart job, restart counter is at 1.
Aug 05 09:32:01 audio systemd[1]: Stopped Self-hosted audiobook server for managing and playing audiobooks.
Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Consumed 1.090s CPU time.
Aug 05 09:32:01 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks.
Aug 05 09:32:02 audio audiobookshelf[953]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata

Additional Notes

Rolling back fixes the issue.
sudo apt install audiobookshelf=2.11.0

Originally created by @BlwAvg on GitHub (Aug 5, 2024). ### What happened? Full crash - Database issues continued. ### What did you expect to happen? The application to run as expected. ### Steps to reproduce the issue 1. Upgrade PPA version to 2.12.1 2. Try and load application ### Audiobookshelf version 2.12.1 ### How are you running audiobookshelf? Debian/PPA ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? Other (list in "Additional Notes" box) ### Logs ```shell sudo journalctl -u audiobookshelf.service -b Aug 05 09:31:58 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks. Aug 05 09:31:59 audio audiobookshelf[740]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.811] INFO: === Starting Server === Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Init v2.12.1 Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Node.js Version: v20.11.1 Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Platform: linux Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Arch: x64 Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.939] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.940] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.048] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.049] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.049] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite" Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.075] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.076] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.076] INFO: [Database] Db connection was successful Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.148] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare Aug 05 09:32:00 audio audiobookshelf[740]: [2024-08-05 09:32:00.149] DEBUG: Set Log Level to DEBUG ( at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js)) Aug 05 09:32:01 audio audiobookshelf[740]: [2024-08-05 09:32:01.309] WARN: Found series "Kørner Werner Series" with no books - removing it ( at Database.cleanDatabase (/snapshot/audiobookshelf/server/Database.js)) Aug 05 09:32:01 audio audiobookshelf[740]: [2024-08-05 09:32:01.325] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise { Aug 05 09:32:01 audio audiobookshelf[740]: <rejected> Error Aug 05 09:32:01 audio audiobookshelf[740]: at Database.<anonymous> (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) Aug 05 09:32:01 audio audiobookshelf[740]: at /snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 Aug 05 09:32:01 audio audiobookshelf[740]: at new Promise (<anonymous>) Aug 05 09:32:01 audio audiobookshelf[740]: at Query.run (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) Aug 05 09:32:01 audio audiobookshelf[740]: at /snapshot/audiobookshelf/node_modules/sequelize/lib/sequelize.js:315:28 Aug 05 09:32:01 audio audiobookshelf[740]: at async SQLiteQueryInterface.delete (/snapshot/audiobookshelf/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12) Aug 05 09:32:01 audio audiobookshelf[740]: at async Series.destroy (/snapshot/audiobookshelf/node_modules/sequelize/lib/model.js:2627:16) Aug 05 09:32:01 audio audiobookshelf[740]: at async Database.cleanDatabase (/snapshot/audiobookshelf/server/Database.js) Aug 05 09:32:01 audio audiobookshelf[740]: at async Database.loadData (/snapshot/audiobookshelf/server/Database.js) Aug 05 09:32:01 audio audiobookshelf[740]: at async Database.init (/snapshot/audiobookshelf/server/Database.js) { Aug 05 09:32:01 audio audiobookshelf[740]: name: 'SequelizeDatabaseError', Aug 05 09:32:01 audio audiobookshelf[740]: parent: [Error: SQLITE_CORRUPT: database disk image is malformed] { Aug 05 09:32:01 audio audiobookshelf[740]: errno: 11, Aug 05 09:32:01 audio audiobookshelf[740]: code: 'SQLITE_CORRUPT', Aug 05 09:32:01 audio audiobookshelf[740]: sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'" Aug 05 09:32:01 audio audiobookshelf[740]: }, Aug 05 09:32:01 audio audiobookshelf[740]: original: [Error: SQLITE_CORRUPT: database disk image is malformed] { Aug 05 09:32:01 audio audiobookshelf[740]: errno: 11, Aug 05 09:32:01 audio audiobookshelf[740]: code: 'SQLITE_CORRUPT', Aug 05 09:32:01 audio audiobookshelf[740]: sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'" Aug 05 09:32:01 audio audiobookshelf[740]: }, Aug 05 09:32:01 audio audiobookshelf[740]: sql: "DELETE FROM `series` WHERE `id` = '79f03199-b3e4-43c0-98f8-52ff107e1a05'", Aug 05 09:32:01 audio audiobookshelf[740]: parameters: {} Aug 05 09:32:01 audio audiobookshelf[740]: } Aug 05 09:32:01 audio audiobookshelf[740]: } ( at process.<anonymous> (/snapshot/audiobookshelf/server/Server.js)) Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Main process exited, code=exited, status=1/FAILURE Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Failed with result 'exit-code'. Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Consumed 1.090s CPU time. Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Scheduled restart job, restart counter is at 1. Aug 05 09:32:01 audio systemd[1]: Stopped Self-hosted audiobook server for managing and playing audiobooks. Aug 05 09:32:01 audio systemd[1]: audiobookshelf.service: Consumed 1.090s CPU time. Aug 05 09:32:01 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks. Aug 05 09:32:02 audio audiobookshelf[953]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata ``` ### Additional Notes Rolling back fixes the issue. sudo apt install audiobookshelf=2.11.0
adam added the bug label 2026-04-25 00:04:04 +02:00
adam closed this issue 2026-04-25 00:04:04 +02:00
Author
Owner

@BlwAvg commented on GitHub (Aug 5, 2024):

I should note the "Kørner Werner Series" mentioned is not an empty series.

@BlwAvg commented on GitHub (Aug 5, 2024): I should note the "Kørner Werner Series" mentioned is not an empty series.
Author
Owner

@devnoname120 commented on GitHub (Aug 6, 2024):

Can you try 2.12.1?

Edit: sorry I meant 2.12.0.

@devnoname120 commented on GitHub (Aug 6, 2024): Can you try `2.12.1`? **Edit**: sorry I meant `2.12.0`.
Author
Owner

@BlwAvg commented on GitHub (Aug 6, 2024):

Hey @devnoname120. If I am reading the logs posted correctly this should be running 2.12.1. I think this could be related to the Unicode error because it seems obvious there is an issue with the "ø". This could be an issue with gcompat?

Let me know if I am reading this wrong, but I believe I upgraded to 2.12.1.

Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.811] INFO: === Starting Server ===
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Init v2.12.1
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Node.js Version: v20.11.1
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Platform: linux
Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Arch: x64

I can upgrade again and try or trouble shoot some more. I guess I could unicodedata in python to normalize the string and then try and update the database. Or just remove the entry entirely. I am a bit out of my depth doing that, but I want to try and be helpful.

EDIT: I rolled back to 2.11.0 and things are working. So this isnt a priority issue and I can replicate in another VM or just take the VM down to gather more data. Just let me know.

@BlwAvg commented on GitHub (Aug 6, 2024): Hey @devnoname120. If I am reading the logs posted correctly this should be running 2.12.1. I think this could be related to the Unicode error because it seems obvious there is an issue with the "ø". This could be an issue with gcompat? Let me know if I am reading this wrong, but I believe I upgraded to 2.12.1. ``` Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.811] INFO: === Starting Server === Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Init v2.12.1 Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.813] INFO: [Server] Node.js Version: v20.11.1 Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Platform: linux Aug 05 09:31:59 audio audiobookshelf[740]: [2024-08-05 09:31:59.814] INFO: [Server] Arch: x64 ``` I can upgrade again and try or trouble shoot some more. I guess I could unicodedata in python to normalize the string and then try and update the database. Or just remove the entry entirely. I am a bit out of my depth doing that, but I want to try and be helpful. EDIT: I rolled back to 2.11.0 and things are working. So this isnt a priority issue and I can replicate in another VM or just take the VM down to gather more data. Just let me know.
Author
Owner

@wpisarski commented on GitHub (Aug 6, 2024):

I can confirm this issue in 2.12.1 on items and authors with only standard ASCII characters. If this issue happens for one book of an author, it will happen for all of their books.

I've not yet confirmed this, but I think it happens on duplicated books. I feed my Calibre library to ABS and in the problematic case there are two identical PDF files as separate Calibre items for the same author.

It happens on both autoremove of missing items and on manual delete. Dropping the row directly in DB from libraryItems works fine, ABS starts and appears to work correctly. Subsequent (auto)deletions fail on other items.

I will dig deeper if I find the time.

[2024-08-06 00:21:39.889] INFO: [ApiRouter] Removing item metadata at "/metadata/items/8c010c04-a66d-49f9-85d5-ca275895cd2d"

[2024-08-06 00:21:39.963] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise {

  <rejected> Error

      at Database.<anonymous> (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)

      at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50

      at new Promise (<anonymous>)

      at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)

      at /node_modules/sequelize/lib/sequelize.js:315:28

      at async SQLiteQueryInterface.delete (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12)

      at async Book.destroy (/node_modules/sequelize/lib/model.js:2627:16) {

    name: 'SequelizeDatabaseError',

    parent: [Error: SQLITE_CORRUPT: database disk image is malformed] {

      errno: 11,

      code: 'SQLITE_CORRUPT',

      sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'"

    },

    original: [Error: SQLITE_CORRUPT: database disk image is malformed] {

      errno: 11,

      code: 'SQLITE_CORRUPT',

      sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'"

    },

    sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'",

    parameters: {}

  }

} (Server.js:171)
@wpisarski commented on GitHub (Aug 6, 2024): I can confirm this issue in 2.12.1 on items and authors with only standard ASCII characters. If this issue happens for one book of an author, it will happen for all of their books. I've not yet confirmed this, but I think it happens on duplicated books. I feed my Calibre library to ABS and in the problematic case there are two identical PDF files as separate Calibre items for the same author. It happens on both autoremove of missing items and on manual delete. Dropping the row directly in DB from `libraryItems` works fine, ABS starts and appears to work correctly. Subsequent (auto)deletions fail on other items. I will dig deeper if I find the time. ``` [2024-08-06 00:21:39.889] INFO: [ApiRouter] Removing item metadata at "/metadata/items/8c010c04-a66d-49f9-85d5-ca275895cd2d" [2024-08-06 00:21:39.963] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise { <rejected> Error at Database.<anonymous> (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 at new Promise (<anonymous>) at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) at /node_modules/sequelize/lib/sequelize.js:315:28 at async SQLiteQueryInterface.delete (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12) at async Book.destroy (/node_modules/sequelize/lib/model.js:2627:16) { name: 'SequelizeDatabaseError', parent: [Error: SQLITE_CORRUPT: database disk image is malformed] { errno: 11, code: 'SQLITE_CORRUPT', sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'" }, original: [Error: SQLITE_CORRUPT: database disk image is malformed] { errno: 11, code: 'SQLITE_CORRUPT', sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'" }, sql: "DELETE FROM `books` WHERE `id` = 'c45bf923-7b9b-4ad0-bb08-48809770af6c'", parameters: {} } } (Server.js:171) ```
Author
Owner

@BlwAvg commented on GitHub (Aug 6, 2024):

Hey! I am not alone!

Thank you for your input @wpisarski

@BlwAvg commented on GitHub (Aug 6, 2024): Hey! I am not alone! Thank you for your input @wpisarski
Author
Owner

@wpisarski commented on GitHub (Aug 6, 2024):

@BlwAvg Did you check for any duplicates in your library?

@wpisarski commented on GitHub (Aug 6, 2024): @BlwAvg Did you check for any duplicates in your library?
Author
Owner

@BlwAvg commented on GitHub (Aug 6, 2024):

The series mentioned in my error is not a duplicate. I checked my the files just now. I do have a couple duplicates that I would guess would have been hit before this series and none of them got hit.

I have a higher priority on folder structure and duplicates I found have a slightly varied series name.
Author > Series > Title > .m4b and metadata.

@BlwAvg commented on GitHub (Aug 6, 2024): The series mentioned in my error is not a duplicate. I checked my the files just now. I do have a couple duplicates that I would guess would have been hit before this series and none of them got hit. I have a higher priority on folder structure and duplicates I found have a slightly varied series name. Author > Series > Title > .m4b and metadata.
Author
Owner

@devnoname120 commented on GitHub (Aug 6, 2024):

Sorry I meant to ask if the issue happened on 2.12.0 as well.
On Aug 6, 2024, 20:52 +0200, DirkIngo @.***>, wrote:

Can confirm the same error. First covers where missing and now the container isn't starting anymore: [2024-08-06 18:47:51.450] INFO: === Starting Server ===
[2024-08-06 18:47:51.457] INFO: [Server] Init v2.12.1
[2024-08-06 18:47:51.458] INFO: [Server] Node.js Version: v20.16.0
[2024-08-06 18:47:51.458] INFO: [Server] Platform: linux
[2024-08-06 18:47:51.458] INFO: [Server] Arch: arm64
[2024-08-06 18:47:51.547] INFO: [BinaryManager] Found valid binary ffmpeg at /ffmpeg
[2024-08-06 18:47:51.547] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH
[2024-08-06 18:47:51.617] INFO: [BinaryManager] Found valid binary ffprobe at /ffprobe
[2024-08-06 18:47:51.617] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH
[2024-08-06 18:47:51.617] INFO: [BinaryManager] Found valid binary unicode at /unicode.so
[2024-08-06 18:47:51.618] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH
[2024-08-06 18:47:51.618] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2024-08-06 18:47:51.654] INFO: [Database] Loading extension /unicode.so
[2024-08-06 18:47:51.655] INFO: [Database] Successfully loaded extension /unicode.so
[2024-08-06 18:47:51.655] INFO: [Database] Db connection was successful
[2024-08-06 18:47:51.784] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
[2024-08-06 18:47:51.808] WARN: Found book "173/Dämon der Rache" with no libraryItem - removing it (Database.js:799)
[2024-08-06 18:47:51.814] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise {
Error
at Database. (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)
at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50
at new Promise ()
at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)
at /node_modules/sequelize/lib/sequelize.js:315:28
at async SQLiteQueryInterface.delete (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12)
at async Book.destroy (/node_modules/sequelize/lib/model.js:2627:16)
at async Database.cleanDatabase (/server/Database.js:800:7)
at async Database.loadData (/server/Database.js:336:5)
at async Database.init (/server/Database.js:174:5) {
name: 'SequelizeDatabaseError',
parent: [Error: SQLITE_CORRUPT: database disk image is malformed] {
errno: 11,
code: 'SQLITE_CORRUPT',
sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'"
},
original: [Error: SQLITE_CORRUPT: database disk image is malformed] {
errno: 11,
code: 'SQLITE_CORRUPT',
sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'"
},
sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'",
parameters: {}
}

Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@devnoname120 commented on GitHub (Aug 6, 2024): Sorry I meant to ask if the issue happened on 2.12.0 as well. On Aug 6, 2024, 20:52 +0200, DirkIngo ***@***.***>, wrote: > Can confirm the same error. First covers where missing and now the container isn't starting anymore: [2024-08-06 18:47:51.450] INFO: === Starting Server === > [2024-08-06 18:47:51.457] INFO: [Server] Init v2.12.1 > [2024-08-06 18:47:51.458] INFO: [Server] Node.js Version: v20.16.0 > [2024-08-06 18:47:51.458] INFO: [Server] Platform: linux > [2024-08-06 18:47:51.458] INFO: [Server] Arch: arm64 > [2024-08-06 18:47:51.547] INFO: [BinaryManager] Found valid binary ffmpeg at /ffmpeg > [2024-08-06 18:47:51.547] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH > [2024-08-06 18:47:51.617] INFO: [BinaryManager] Found valid binary ffprobe at /ffprobe > [2024-08-06 18:47:51.617] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH > [2024-08-06 18:47:51.617] INFO: [BinaryManager] Found valid binary unicode at /unicode.so > [2024-08-06 18:47:51.618] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH > [2024-08-06 18:47:51.618] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" > [2024-08-06 18:47:51.654] INFO: [Database] Loading extension /unicode.so > [2024-08-06 18:47:51.655] INFO: [Database] Successfully loaded extension /unicode.so > [2024-08-06 18:47:51.655] INFO: [Database] Db connection was successful > [2024-08-06 18:47:51.784] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare > [2024-08-06 18:47:51.808] WARN: Found book "173/Dämon der Rache" with no libraryItem - removing it (Database.js:799) > [2024-08-06 18:47:51.814] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise { > Error > at Database. (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) > at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 > at new Promise () > at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) > at /node_modules/sequelize/lib/sequelize.js:315:28 > at async SQLiteQueryInterface.delete (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:393:12) > at async Book.destroy (/node_modules/sequelize/lib/model.js:2627:16) > at async Database.cleanDatabase (/server/Database.js:800:7) > at async Database.loadData (/server/Database.js:336:5) > at async Database.init (/server/Database.js:174:5) { > name: 'SequelizeDatabaseError', > parent: [Error: SQLITE_CORRUPT: database disk image is malformed] { > errno: 11, > code: 'SQLITE_CORRUPT', > sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'" > }, > original: [Error: SQLITE_CORRUPT: database disk image is malformed] { > errno: 11, > code: 'SQLITE_CORRUPT', > sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'" > }, > sql: "DELETE FROM books WHERE id = '1909b34a-7931-4119-a374-4dc9a33b293d'", > parameters: {} > } > — > Reply to this email directly, view it on GitHub, or unsubscribe. > You are receiving this because you were mentioned.Message ID: ***@***.***>
Author
Owner

@BlwAvg commented on GitHub (Aug 6, 2024):

Looks like 2.12.0 works for me.

Aug 06 12:51:47 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks.
Aug 06 12:51:48 audio audiobookshelf[5277]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: === Starting Server ===
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: [Server] Init v2.12.0
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: [Server] Node.js Version: v20.11.1
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.131] INFO: [Server] Platform: linux
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.131] INFO: [Server] Arch: x64
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.423] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.424] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.433] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite"
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.449] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.450] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.450] INFO: [Database] Db connection was successful
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.517] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.518] DEBUG: Set Log Level to DEBUG (    at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.543] INFO: [Database] Server upgrade detected from 2.11.0 to 2.12.0
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.553] DEBUG: Daily Log file found 2024-07-30.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-07-31.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-01.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-02.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-03.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-04.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-05.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-06.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] INFO: [LogManager] Removed daily log: 2024-07-30.txt
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] INFO: [LogManager] Init current daily log filename: 2024-08-06.txt
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] DEBUG: [LogManager] Daily log file already exists - set in Logger (    at LogManager.init (/snapshot/audiobookshelf/server/managers/LogManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.564] DEBUG: [DailyLog] 2024-08-06: Loaded 5817 Logs (    at DailyLog.loadLogs (/snapshot/audiobookshelf/server/objects/DailyLog.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.591] DEBUG: [BackupManager] Backup found "2024-07-21T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.598] DEBUG: [BackupManager] Backup found "2024-07-28T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.611] DEBUG: [BackupManager] Backup found "2024-08-02T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.611] INFO: [BackupManager] 3 Backups Found
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.621] DEBUG: [CronManager] Found 1 podcast episode schedules to start (    at CronManager.initPodcastCrons (/snapshot/audiobookshelf/server/managers/CronManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.621] DEBUG: [CronManager] Scheduling podcast episode check cron "0 * * * *" for 9 item(s) (    at CronManager.startPodcastCron (/snapshot/audiobookshelf/server/managers/CronManager.js))
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] INFO: [Watcher] Initializing watcher for "Audio Book Library".
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS" (    at /snapshot/audiobookshelf/server/Watcher.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] INFO: [Watcher] Initializing watcher for "Podcast Library".
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS_Podcast" (    at /snapshot/audiobookshelf/server/Watcher.js)
Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.626] INFO: Listening on http://0.0.0.0:13378
Aug 06 12:51:55 audio audiobookshelf[5277]: [2024-08-06 12:51:55.646] INFO: [Watcher] "Podcast Library" Ready
@BlwAvg commented on GitHub (Aug 6, 2024): Looks like 2.12.0 works for me. ``` Aug 06 12:51:47 audio systemd[1]: Started Self-hosted audiobook server for managing and playing audiobooks. Aug 06 12:51:48 audio audiobookshelf[5277]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: === Starting Server === Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: [Server] Init v2.12.0 Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.130] INFO: [Server] Node.js Version: v20.11.1 Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.131] INFO: [Server] Platform: linux Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.131] INFO: [Server] Arch: x64 Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.423] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.424] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.432] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.433] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite" Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.449] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.450] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.450] INFO: [Database] Db connection was successful Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.517] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.518] DEBUG: Set Log Level to DEBUG ( at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.543] INFO: [Database] Server upgrade detected from 2.11.0 to 2.12.0 Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.553] DEBUG: Daily Log file found 2024-07-30.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-07-31.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-01.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-02.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-03.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-04.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-05.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.554] DEBUG: Daily Log file found 2024-08-06.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] INFO: [LogManager] Removed daily log: 2024-07-30.txt Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] INFO: [LogManager] Init current daily log filename: 2024-08-06.txt Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.555] DEBUG: [LogManager] Daily log file already exists - set in Logger ( at LogManager.init (/snapshot/audiobookshelf/server/managers/LogManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.564] DEBUG: [DailyLog] 2024-08-06: Loaded 5817 Logs ( at DailyLog.loadLogs (/snapshot/audiobookshelf/server/objects/DailyLog.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.591] DEBUG: [BackupManager] Backup found "2024-07-21T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.598] DEBUG: [BackupManager] Backup found "2024-07-28T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.611] DEBUG: [BackupManager] Backup found "2024-08-02T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.611] INFO: [BackupManager] 3 Backups Found Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.621] DEBUG: [CronManager] Found 1 podcast episode schedules to start ( at CronManager.initPodcastCrons (/snapshot/audiobookshelf/server/managers/CronManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.621] DEBUG: [CronManager] Scheduling podcast episode check cron "0 * * * *" for 9 item(s) ( at CronManager.startPodcastCron (/snapshot/audiobookshelf/server/managers/CronManager.js)) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] INFO: [Watcher] Initializing watcher for "Audio Book Library". Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS" ( at /snapshot/audiobookshelf/server/Watcher.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] INFO: [Watcher] Initializing watcher for "Podcast Library". Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.622] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS_Podcast" ( at /snapshot/audiobookshelf/server/Watcher.js) Aug 06 12:51:48 audio audiobookshelf[5277]: [2024-08-06 12:51:48.626] INFO: Listening on http://0.0.0.0:13378 Aug 06 12:51:55 audio audiobookshelf[5277]: [2024-08-06 12:51:55.646] INFO: [Watcher] "Podcast Library" Ready ```
Author
Owner

@BlwAvg commented on GitHub (Aug 6, 2024):

Ooh now this is interesting. If I upgrade to 2.12.0 to 2.12.1 I dont get the database corruption issue.

I tried to upgrade from 2.12.0 to 2.12.1 just to see what would happen... And now it works?

sudo apt install audiobookshelf=2.12.0
sudo journalctl -u audiobookshelf.service -b
sudo apt install audiobookshelf=2.12.1
sudo systemctl status audiobookshelf.service
Aug 06 12:58:50 audio audiobookshelf[5623]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.496] INFO: === Starting Server ===
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.496] INFO: [Server] Init v2.12.1
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Node.js Version: v20.11.1
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Platform: linux
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Arch: x64
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.509] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.509] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite"
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.533] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.534] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.534] INFO: [Database] Db connection was successful
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.603] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.604] DEBUG: Set Log Level to DEBUG (    at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.628] DEBUG: Daily Log file found 2024-07-31.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-01.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-02.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-03.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-04.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-05.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-06.txt (    at /snapshot/audiobookshelf/server/managers/LogManager.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] INFO: [LogManager] Init current daily log filename: 2024-08-06.txt
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: [LogManager] Daily log file already exists - set in Logger (    at LogManager.init (/snapshot/audiobookshelf/server/managers/LogManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.638] DEBUG: [DailyLog] 2024-08-06: Loaded 5951 Logs (    at DailyLog.loadLogs (/snapshot/audiobookshelf/server/objects/DailyLog.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.661] DEBUG: [BackupManager] Backup found "2024-07-21T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.667] DEBUG: [BackupManager] Backup found "2024-07-28T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.679] DEBUG: [BackupManager] Backup found "2024-08-02T0130" (    at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.680] INFO: [BackupManager] 3 Backups Found
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.698] DEBUG: [CronManager] Found 1 podcast episode schedules to start (    at CronManager.initPodcastCrons (/snapshot/audiobookshelf/server/managers/CronManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.698] DEBUG: [CronManager] Scheduling podcast episode check cron "0 * * * *" for 9 item(s) (    at CronManager.startPodcastCron (/snapshot/audiobookshelf/server/managers/CronManager.js))
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] INFO: [Watcher] Initializing watcher for "Audio Book Library".
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS" (    at /snapshot/audiobookshelf/server/Watcher.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] INFO: [Watcher] Initializing watcher for "Podcast Library".
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS_Podcast" (    at /snapshot/audiobookshelf/server/Watcher.js)
Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.703] INFO: Listening on http://0.0.0.0:13378
@BlwAvg commented on GitHub (Aug 6, 2024): Ooh now this is interesting. If I upgrade to 2.12.0 to 2.12.1 I dont get the database corruption issue. I tried to upgrade from 2.12.0 to 2.12.1 just to see what would happen... And now it works? ``` sudo apt install audiobookshelf=2.12.0 sudo journalctl -u audiobookshelf.service -b sudo apt install audiobookshelf=2.12.1 sudo systemctl status audiobookshelf.service ``` ``` Aug 06 12:58:50 audio audiobookshelf[5623]: production Config /usr/share/audiobookshelf/config /usr/share/audiobookshelf/metadata Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.496] INFO: === Starting Server === Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.496] INFO: [Server] Init v2.12.1 Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Node.js Version: v20.11.1 Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Platform: linux Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.497] INFO: [Server] Arch: x64 Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.509] INFO: [BinaryManager] Found valid binary ffmpeg at /usr/share/audiobookshelf/ffmpeg Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.509] INFO: [BinaryManager] Updating process.env.FFMPEG_PATH Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Found valid binary ffprobe at /usr/share/audiobookshelf/ffprobe Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Updating process.env.FFPROBE_PATH Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Found valid binary unicode at /usr/share/audiobookshelf/unicode.so Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [BinaryManager] Updating process.env.SQLEAN_UNICODE_PATH Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.516] INFO: [Database] Initializing db at "/usr/share/audiobookshelf/config/absdatabase.sqlite" Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.533] INFO: [Database] Loading extension /usr/share/audiobookshelf/unicode.so Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.534] INFO: [Database] Successfully loaded extension /usr/share/audiobookshelf/unicode.so Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.534] INFO: [Database] Db connection was successful Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.603] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.604] DEBUG: Set Log Level to DEBUG ( at Logger.setLogLevel (/snapshot/audiobookshelf/server/Logger.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.628] DEBUG: Daily Log file found 2024-07-31.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-01.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-02.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-03.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-04.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-05.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: Daily Log file found 2024-08-06.txt ( at /snapshot/audiobookshelf/server/managers/LogManager.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] INFO: [LogManager] Init current daily log filename: 2024-08-06.txt Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.629] DEBUG: [LogManager] Daily log file already exists - set in Logger ( at LogManager.init (/snapshot/audiobookshelf/server/managers/LogManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.638] DEBUG: [DailyLog] 2024-08-06: Loaded 5951 Logs ( at DailyLog.loadLogs (/snapshot/audiobookshelf/server/objects/DailyLog.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.661] DEBUG: [BackupManager] Backup found "2024-07-21T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.667] DEBUG: [BackupManager] Backup found "2024-07-28T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.679] DEBUG: [BackupManager] Backup found "2024-08-02T0130" ( at BackupManager.loadBackups (/snapshot/audiobookshelf/server/managers/BackupManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.680] INFO: [BackupManager] 3 Backups Found Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.698] DEBUG: [CronManager] Found 1 podcast episode schedules to start ( at CronManager.initPodcastCrons (/snapshot/audiobookshelf/server/managers/CronManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.698] DEBUG: [CronManager] Scheduling podcast episode check cron "0 * * * *" for 9 item(s) ( at CronManager.startPodcastCron (/snapshot/audiobookshelf/server/managers/CronManager.js)) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] INFO: [Watcher] Initializing watcher for "Audio Book Library". Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS" ( at /snapshot/audiobookshelf/server/Watcher.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] INFO: [Watcher] Initializing watcher for "Podcast Library". Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.699] DEBUG: [Watcher] Init watcher for library folder path "/mnt/nas_audio_books/ABS_Podcast" ( at /snapshot/audiobookshelf/server/Watcher.js) Aug 06 12:58:50 audio audiobookshelf[5623]: [2024-08-06 12:58:50.703] INFO: Listening on http://0.0.0.0:13378 ```
Author
Owner

@kuldan5853 commented on GitHub (Aug 6, 2024):

I can confirm I have the same bug - in my case it's caused by editing the metadata for a book (no duplicate) that contains the german letter "ö" in the title. 2.12.1 (Windows) updated from 2.11.0 today:

[2024-08-06 22:09:08.565] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise {
Error
at Database. (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:185:27)
at C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:183:50
at new Promise ()
at Query.run (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:183:12)
at C:\snapshot\audiobookshelf\node_modules\sequelize\lib\sequelize.js:315:28
at async SQLiteQueryInterface.update (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:355:12)
at async Book.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35)
at async Book.update (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2598:12)
at async libraryItem.fullUpdateFromOld (C:\snapshot\audiobookshelf\server\models\LibraryItem.js)
at async Database.updateLibraryItem (C:\snapshot\audiobookshelf\server\Database.js) {
name: 'SequelizeDatabaseError',
parent: [Error: SQLITE_CORRUPT: database disk image is malformed] {
errno: 11,
code: 'SQLITE_CORRUPT',
sql: 'UPDATE books SET title=$1,titleIgnorePrefix=$2,subtitle=$3,publisher=$4,description=$5,asin=$6,language=$7,narrators=$8,coverPath=$9,tags=$10,genres=$11,updatedAt=$12 WHERE id = $13'
},
original: [Error: SQLITE_CORRUPT: database disk image is malformed] {
errno: 11,
code: 'SQLITE_CORRUPT',
sql: 'UPDATE books SET title=$1,titleIgnorePrefix=$2,subtitle=$3,publisher=$4,description=$5,asin=$6,language=$7,narrators=$8,coverPath=$9,tags=$10,genres=$11,updatedAt=$12 WHERE id = $13'
},
sql: 'UPDATE books SET title=$1,titleIgnorePrefix=$2,subtitle=$3,publisher=$4,description=$5,asin=$6,language=$7,narrators=$8,coverPath=$9,tags=$10,genres=$11,updatedAt=$12 WHERE id = $13',
parameters: {}
}
} ( at process. (C:\snapshot\audiobookshelf\server\Server.js))

@kuldan5853 commented on GitHub (Aug 6, 2024): I can confirm I have the same bug - in my case it's caused by editing the metadata for a book (no duplicate) that contains the german letter "ö" in the title. 2.12.1 (Windows) updated from 2.11.0 today: [2024-08-06 22:09:08.565] FATAL: [Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CORRUPT: database disk image is malformed, promise: Promise { <rejected> Error at Database.<anonymous> (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:185:27) at C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:183:50 at new Promise (<anonymous>) at Query.run (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\sqlite\query.js:183:12) at C:\snapshot\audiobookshelf\node_modules\sequelize\lib\sequelize.js:315:28 at async SQLiteQueryInterface.update (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:355:12) at async Book.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35) at async Book.update (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2598:12) at async libraryItem.fullUpdateFromOld (C:\snapshot\audiobookshelf\server\models\LibraryItem.js) at async Database.updateLibraryItem (C:\snapshot\audiobookshelf\server\Database.js) { name: 'SequelizeDatabaseError', parent: [Error: SQLITE_CORRUPT: database disk image is malformed] { errno: 11, code: 'SQLITE_CORRUPT', sql: 'UPDATE `books` SET `title`=$1,`titleIgnorePrefix`=$2,`subtitle`=$3,`publisher`=$4,`description`=$5,`asin`=$6,`language`=$7,`narrators`=$8,`coverPath`=$9,`tags`=$10,`genres`=$11,`updatedAt`=$12 WHERE `id` = $13' }, original: [Error: SQLITE_CORRUPT: database disk image is malformed] { errno: 11, code: 'SQLITE_CORRUPT', sql: 'UPDATE `books` SET `title`=$1,`titleIgnorePrefix`=$2,`subtitle`=$3,`publisher`=$4,`description`=$5,`asin`=$6,`language`=$7,`narrators`=$8,`coverPath`=$9,`tags`=$10,`genres`=$11,`updatedAt`=$12 WHERE `id` = $13' }, sql: 'UPDATE `books` SET `title`=$1,`titleIgnorePrefix`=$2,`subtitle`=$3,`publisher`=$4,`description`=$5,`asin`=$6,`language`=$7,`narrators`=$8,`coverPath`=$9,`tags`=$10,`genres`=$11,`updatedAt`=$12 WHERE `id` = $13', parameters: {} } } ( at process.<anonymous> (C:\snapshot\audiobookshelf\server\Server.js))
Author
Owner

@DirkIngo commented on GitHub (Aug 6, 2024):

Can also confirm same bug (german).
For me the bug happend after deleting / rescanning stuff.
First had "database disk image is malformed" with 2.12.1 and now this with 2.12.0:

audiobookshelf | [2024-08-06 20:11:58.817] ERROR: [Database] Failed to load extension /unicode.so [Error: SQLITE_ERROR: Error loading shared library /unicode.so.so: No such file or directory] {
audiobookshelf | errno: 1,
audiobookshelf | code: 'SQLITE_ERROR'
audiobookshelf | } (Database.js:236)
audiobookshelf | [2024-08-06 20:11:58.820] ERROR: [Database] Failed to connect to db [Error: SQLITE_ERROR: Error loading shared library /unicode.so.so: No such file or directory] {
audiobookshelf | errno: 1,
audiobookshelf | code: 'SQLITE_ERROR'
audiobookshelf | } (Database.js:214)
audiobookshelf | [2024-08-06 20:11:58.822] FATAL: [Server] Unhandled rejection: Error: Database connection failed, promise: Promise {
audiobookshelf | Error: Database connection failed
audiobookshelf | at Database.init (/server/Database.js:168:13)
audiobookshelf | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
audiobookshelf | at async Server.init (/server/Server.js:116:5)
audiobookshelf | at async Server.start (/server/Server.js:179:5)
audiobookshelf | } (Server.js:171)

I have not a lot of experience with docker but the container wont even start anymore. Doesnt matter what version (2.11, 2.12, 2.12.1)
Seems to work after deleting db and using a backup?
Update: After rescanning and removing some books the same error occured again
Update 2: Now stable in 2.11.0

@DirkIngo commented on GitHub (Aug 6, 2024): Can also confirm same bug (german). For me the bug happend after deleting / rescanning stuff. First had "database disk image is malformed" with 2.12.1 and now this with 2.12.0: audiobookshelf | [2024-08-06 20:11:58.817] ERROR: [Database] Failed to load extension /unicode.so [Error: SQLITE_ERROR: Error loading shared library /unicode.so.so: No such file or directory] { audiobookshelf | errno: 1, audiobookshelf | code: 'SQLITE_ERROR' audiobookshelf | } (Database.js:236) audiobookshelf | [2024-08-06 20:11:58.820] ERROR: [Database] Failed to connect to db [Error: SQLITE_ERROR: Error loading shared library /unicode.so.so: No such file or directory] { audiobookshelf | errno: 1, audiobookshelf | code: 'SQLITE_ERROR' audiobookshelf | } (Database.js:214) audiobookshelf | [2024-08-06 20:11:58.822] FATAL: [Server] Unhandled rejection: Error: Database connection failed, promise: Promise { audiobookshelf | <rejected> Error: Database connection failed audiobookshelf | at Database.init (/server/Database.js:168:13) audiobookshelf | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) audiobookshelf | at async Server.init (/server/Server.js:116:5) audiobookshelf | at async Server.start (/server/Server.js:179:5) audiobookshelf | } (Server.js:171) I have not a lot of experience with docker but the container wont even start anymore. Doesnt matter what version (2.11, 2.12, 2.12.1) Seems to work after deleting db and using a backup? Update: After rescanning and removing some books the same error occured again Update 2: Now stable in 2.11.0
Author
Owner

@migol commented on GitHub (Aug 9, 2024):

I can confirm this issue also happened to me few hours after upgading from 2.11.0 to 2.12.2

@migol commented on GitHub (Aug 9, 2024): I can confirm this issue also happened to me few hours after upgading from 2.11.0 to 2.12.2
Author
Owner

@github-actions[bot] commented on GitHub (Aug 10, 2024):

Fixed in v2.12.3.

@github-actions[bot] commented on GitHub (Aug 10, 2024): Fixed in [v2.12.3](https://github.com/advplyr/audiobookshelf/releases/tag/v2.12.3).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2151