[Bug]: ran quick match and server stopped connecting #3057

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

Originally created by @stellareleara on GitHub (Oct 26, 2025).

What happened?

Added book to server. Clicked edit icon, input ASIN, and clicked quick match button. Nothing appeared to happen. Clicked Quick Match button again and got a red "socket disconnected" error. It went away too quickly for me to screen grab, so I'm not sure verbiage is correct. Within 10 seconds, server disconnected completely, and I have not been able to re-access.

What did you expect to happen?

Expected quick match to populate book info. Had been working all day.

Steps to reproduce the issue

Audiobookshelf version

2.30.0

How are you running audiobookshelf?

Windows Tray App

What OS is your Audiobookshelf server hosted from?

Windows

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

Safari

Logs

[2025-10-26 11:48:05.650] ERROR: [AudioFileScanner] Invalid data found when processing input : "E:/Audible Files/House of Flame and Shadow Crescent City, Book 3/tempChaps.mp4"
[2025-10-26 11:48:44.801] ERROR: [fileUtils] Failed to getFileMtimeMs [Error: ENOENT: no such file or directory, stat 'E:\Audible Files\House of Flame and Shadow Crescent City, Book 3\tempChaps-temp-5982.mp4'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'stat',
  path: 'E:\\Audible Files\\House of Flame and Shadow Crescent City, Book 3\\tempChaps-temp-5982.mp4'
}
[2025-10-26 11:48:47.817] ERROR: [fileUtils] Failed to getFileMtimeMs [Error: ENOENT: no such file or directory, stat 'E:\Audible Files\House of Flame and Shadow Crescent City, Book 3\tempChaps-temp-5982.mp4'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'stat',
  path: 'E:\\Audible Files\\House of Flame and Shadow Crescent City, Book 3\\tempChaps-temp-5982.mp4'
}
[2025-10-26 11:49:00.473] INFO: [Scanner] quickMatchBookBuildUpdatePayload: Added series "Throne of Glass" to "Heir of Fire Throne of Glass, Book 3"
[2025-10-26 11:50:31.465] ERROR: [AudioFileScanner] Invalid data found when processing input : "E:/Audible Files/House of Salt and Sorrows/tempChaps.mp4"
[2025-10-26 11:51:08.159] INFO: [SocketAuthority] Socket cD-v1eT_VV4COtzNAAAD disconnected from client "stellareleara" after 50567454ms (Reason: transport close)
[2025-10-26 11:51:08.624] INFO: [Scanner] quickMatchBookBuildUpdatePayload: Added series "Crescent City" to "House of Flame and Shadow Crescent City, Book 3"
[2025-10-26 11:51:09.294] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io ksm8UDaIcBRQYj9TAAAF
[2025-10-26 11:51:21.776] ERROR: [Audible] query search error timeout of 10000ms exceeded
[2025-10-26 11:51:21.777] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=sarah+maas"
[2025-10-26 11:51:21.778] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=house+of+flame+and+shadow"
[2025-10-26 11:51:22.369] FATAL: [Server] Unhandled rejection: 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.insert (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21)
    at async BookSeries.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35)
    at async bookSeries.create (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:1362:12)
    at async Scanner.quickMatchBookBuildUpdatePayload (C:\snapshot\audiobookshelf\server\scanner\Scanner.js)
    at async Scanner.quickMatchLibraryItem (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) {
  name: 'SequelizeUniqueConstraintError',
  errors: [
    ValidationErrorItem {
      message: 'bookId must be unique',
      type: 'unique violation',
      path: 'bookId',
      value: '46e90d03-0505-41ee-8f0b-f8a5f8b4fd1f',
      origin: 'DB',
      instance: [bookSeries],
      validatorKey: 'not_unique',
      validatorName: null,
      validatorArgs: []
    },
    ValidationErrorItem {
      message: 'seriesId must be unique',
      type: 'unique violation',
      path: 'seriesId',
      value: '26c0f6e2-21b8-4276-aba0-7cda43fc72e5',
      origin: 'DB',
      instance: [bookSeries],
      validatorKey: 'not_unique',
      validatorName: null,
      validatorArgs: []
    }
  ],
  parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] {
    errno: 19,
    code: 'SQLITE_CONSTRAINT',
    sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
  },
  original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] {
    errno: 19,
    code: 'SQLITE_CONSTRAINT',
    sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
  },
  fields: [ 'bookId', 'seriesId' ],
  sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
} 
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.insert (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21)
      at async BookSeries.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35)
      at async bookSeries.create (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:1362:12)
      at async Scanner.quickMatchBookBuildUpdatePayload (C:\snapshot\audiobookshelf\server\scanner\Scanner.js)
      at async Scanner.quickMatchLibraryItem (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) {
    name: 'SequelizeUniqueConstraintError',
    errors: [ [ValidationErrorItem], [ValidationErrorItem] ],
    parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] {
      errno: 19,
      code: 'SQLITE_CONSTRAINT',
      sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
    },
    original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] {
      errno: 19,
      code: 'SQLITE_CONSTRAINT',
      sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
    },
    fields: [ 'bookId', 'seriesId' ],
    sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);'
  }
}

Additional Notes

No response

Originally created by @stellareleara on GitHub (Oct 26, 2025). ### What happened? Added book to server. Clicked edit icon, input ASIN, and clicked quick match button. Nothing appeared to happen. Clicked Quick Match button again and got a red "socket disconnected" error. It went away too quickly for me to screen grab, so I'm not sure verbiage is correct. Within 10 seconds, server disconnected completely, and I have not been able to re-access. ### What did you expect to happen? Expected quick match to populate book info. Had been working all day. ### Steps to reproduce the issue 1. ### Audiobookshelf version 2.30.0 ### How are you running audiobookshelf? Windows Tray App ### What OS is your Audiobookshelf server hosted from? Windows ### If the issue is being seen in the UI, what browsers are you seeing the problem on? Safari ### Logs ```shell [2025-10-26 11:48:05.650] ERROR: [AudioFileScanner] Invalid data found when processing input : "E:/Audible Files/House of Flame and Shadow Crescent City, Book 3/tempChaps.mp4" [2025-10-26 11:48:44.801] ERROR: [fileUtils] Failed to getFileMtimeMs [Error: ENOENT: no such file or directory, stat 'E:\Audible Files\House of Flame and Shadow Crescent City, Book 3\tempChaps-temp-5982.mp4'] { errno: -4058, code: 'ENOENT', syscall: 'stat', path: 'E:\\Audible Files\\House of Flame and Shadow Crescent City, Book 3\\tempChaps-temp-5982.mp4' } [2025-10-26 11:48:47.817] ERROR: [fileUtils] Failed to getFileMtimeMs [Error: ENOENT: no such file or directory, stat 'E:\Audible Files\House of Flame and Shadow Crescent City, Book 3\tempChaps-temp-5982.mp4'] { errno: -4058, code: 'ENOENT', syscall: 'stat', path: 'E:\\Audible Files\\House of Flame and Shadow Crescent City, Book 3\\tempChaps-temp-5982.mp4' } [2025-10-26 11:49:00.473] INFO: [Scanner] quickMatchBookBuildUpdatePayload: Added series "Throne of Glass" to "Heir of Fire Throne of Glass, Book 3" [2025-10-26 11:50:31.465] ERROR: [AudioFileScanner] Invalid data found when processing input : "E:/Audible Files/House of Salt and Sorrows/tempChaps.mp4" [2025-10-26 11:51:08.159] INFO: [SocketAuthority] Socket cD-v1eT_VV4COtzNAAAD disconnected from client "stellareleara" after 50567454ms (Reason: transport close) [2025-10-26 11:51:08.624] INFO: [Scanner] quickMatchBookBuildUpdatePayload: Added series "Crescent City" to "House of Flame and Shadow Crescent City, Book 3" [2025-10-26 11:51:09.294] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io ksm8UDaIcBRQYj9TAAAF [2025-10-26 11:51:21.776] ERROR: [Audible] query search error timeout of 10000ms exceeded [2025-10-26 11:51:21.777] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=sarah+maas" [2025-10-26 11:51:21.778] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=house+of+flame+and+shadow" [2025-10-26 11:51:22.369] FATAL: [Server] Unhandled rejection: 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.insert (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21) at async BookSeries.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35) at async bookSeries.create (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:1362:12) at async Scanner.quickMatchBookBuildUpdatePayload (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) at async Scanner.quickMatchLibraryItem (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) { name: 'SequelizeUniqueConstraintError', errors: [ ValidationErrorItem { message: 'bookId must be unique', type: 'unique violation', path: 'bookId', value: '46e90d03-0505-41ee-8f0b-f8a5f8b4fd1f', origin: 'DB', instance: [bookSeries], validatorKey: 'not_unique', validatorName: null, validatorArgs: [] }, ValidationErrorItem { message: 'seriesId must be unique', type: 'unique violation', path: 'seriesId', value: '26c0f6e2-21b8-4276-aba0-7cda43fc72e5', origin: 'DB', instance: [bookSeries], validatorKey: 'not_unique', validatorName: null, validatorArgs: [] } ], parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] { errno: 19, code: 'SQLITE_CONSTRAINT', sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' }, original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] { errno: 19, code: 'SQLITE_CONSTRAINT', sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' }, fields: [ 'bookId', 'seriesId' ], sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' } 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.insert (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21) at async BookSeries.save (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:2490:35) at async bookSeries.create (C:\snapshot\audiobookshelf\node_modules\sequelize\lib\model.js:1362:12) at async Scanner.quickMatchBookBuildUpdatePayload (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) at async Scanner.quickMatchLibraryItem (C:\snapshot\audiobookshelf\server\scanner\Scanner.js) { name: 'SequelizeUniqueConstraintError', errors: [ [ValidationErrorItem], [ValidationErrorItem] ], parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] { errno: 19, code: 'SQLITE_CONSTRAINT', sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' }, original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: bookSeries.bookId, bookSeries.seriesId] { errno: 19, code: 'SQLITE_CONSTRAINT', sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' }, fields: [ 'bookId', 'seriesId' ], sql: 'INSERT INTO `bookSeries` (`id`,`sequence`,`createdAt`,`bookId`,`seriesId`) VALUES ($1,$2,$3,$4,$5);' } } ``` ### Additional Notes _No response_
adam added the bug label 2026-04-25 00:13:19 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3057