[Bug]: Crashes when looking up or updating cover art #3218

Open
opened 2026-02-20 11:01:32 -05:00 by deekerman · 0 comments
Owner

Originally created by @CodeSapiens on GitHub (Feb 3, 2026).

What happened?

Looking up or updating cover art may work one or two times, after a long wait, but eventually, the wait goes on for a long time, and either no results are shown, or an error indicates something went wrong. This happens no matter what source you use for images. Restarting the docker container gets it working again for one or two more successful cover updates, then it crashes again. The docker log is full of weird errors when ever that happens. Everything else seems to work fine, and I know my docker container is properly setup.

What did you expect to happen?

Look up cover images fast, and not crash when updating cover art.

Steps to reproduce the issue

Simply search for cover art images, and try to update. If it works, do it again for another book. Eventually it will crash or report no images found. Restarting the server app fixes the issue temporarily.

Audiobookshelf version

2.32.1

How are you running audiobookshelf?

Docker

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?

Chrome

Logs

AudioBookShelf
date,stream,content
2026/02/03 15:01:14,stdout,[2026-02-03 15:01:14.865] INFO: [CoverManager] Downloaded libraryItem cover "/audiobooks/Christian/Absolute Surrender/cover.jpg" from url "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg"

2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.513] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io MJyJOg5qlgdJOaE_AAAB

2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.395] INFO: [Watcher] "Audio Books" Ready

2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.042] INFO: [Watcher] "Podcasts" Ready

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.944] INFO: Listening on port :80

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.930] INFO: [Watcher] Initializing watcher for "Podcasts".

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.927] INFO: [Watcher] Initializing watcher for "Audio Books".

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.898] INFO: [BackupManager] 2 Backups Found

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.823] INFO: [LogManager] Init current daily log filename: 2026-02-03.txt

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.820] INFO: [Database] ANALYZE completed

2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.301] INFO: [Database] running ANALYZE

2026/02/03 15:01:07,stdout,"[2026-02-03 15:01:07.234] INFO: [Database] Db initialized with models: user, session, apiKey, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
"
2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.008] INFO: [MigrationManager] Database is already up to date.

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.998] INFO: [Database] Db connection was successful

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.998] INFO: [Database] Db supports unaccent and unicode foldings

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.997] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.995] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.959] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.953] INFO: [Server] Arch: x64

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.923] INFO: [Server] Platform: linux

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.922] INFO: [Server] Node.js Version: v20.19.6

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.922] INFO: [Server] Init v2.32.1

2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.920] INFO: === Starting Server ===

2026/02/03 15:01:06,stdout,"Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf
"
2026/02/03 15:01:06,stdout,Running in production mode.

2026/02/03 15:00:58,stderr,[2026-02-03 15:00:58.317] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:56,stderr,[2026-02-03 15:00:56.299] ERROR: [FantLab] search error timeout of 10000ms exceeded

2026/02/03 15:00:54,stderr,[2026-02-03 15:00:54.338] ERROR: [AudiobookCovers] Cover search error timeout of 10000ms exceeded

2026/02/03 15:00:52,stderr,}

2026/02/03 15:00:52,stderr,  }

2026/02/03 15:00:52,stderr,    [Symbol(kCapture)]: false

2026/02/03 15:00:52,stderr,"    [Symbol(shapeMode)]: true,
"
2026/02/03 15:00:52,stderr,"    _timeout: null,
"
2026/02/03 15:00:52,stderr,"    _currentUrl: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(kError)]: undefined

2026/02/03 15:00:52,stderr,"      [Symbol(kUniqueHeaders)]: null,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kRejectNonStandardBodyWrites)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kHighWaterMark)]: 16384,
"
2026/02/03 15:00:52,stderr,"      [Symbol(errored)]: null,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kOutHeaders)]: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      [Symbol(corked)]: 0,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kNeedDrain)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kBytesWritten)]: 0,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      _redirectable: [Circular *1],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      host: 'is1-ssl.mzstatic.com',
"
2026/02/03 15:00:52,stderr,"      reusedSocket: false,
"
2026/02/03 15:00:52,stderr,"      maxHeadersCount: null,
"
2026/02/03 15:00:52,stderr,"      parser: [HTTPParser],
"
2026/02/03 15:00:52,stderr,"      upgradeOrConnect: false,
"
2026/02/03 15:00:52,stderr,"      timeoutCb: null,
"
2026/02/03 15:00:52,stderr,"      aborted: true,
"
2026/02/03 15:00:52,stderr,"      res: null,
"
2026/02/03 15:00:52,stderr,"      _ended: false,
"
2026/02/03 15:00:52,stderr,"      path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"      joinDuplicateHeaders: undefined,
"
2026/02/03 15:00:52,stderr,"      insecureHTTPParser: undefined,
"
2026/02/03 15:00:52,stderr,"      maxHeaderSize: undefined,
"
2026/02/03 15:00:52,stderr,"      method: 'GET',
"
2026/02/03 15:00:52,stderr,"      socketPath: undefined,
"
2026/02/03 15:00:52,stderr,"      agent: [Agent],
"
2026/02/03 15:00:52,stderr,"      _onPendingData: [Function: nop],
"
2026/02/03 15:00:52,stderr,"      _keepAliveTimeout: 0,
"
2026/02/03 15:00:52,stderr,"        '\r\n',
"
2026/02/03 15:00:52,stderr,        'Connection: close\r\n' +

2026/02/03 15:00:52,stderr,        'Host: is1-ssl.mzstatic.com\r\n' +

2026/02/03 15:00:52,stderr,        'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' +

2026/02/03 15:00:52,stderr,"        'Accept: application/json, text/plain, */*\r\n' +
"
2026/02/03 15:00:52,stderr,      _header: 'GET /image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg HTTP/1.1\r\n' +

2026/02/03 15:00:52,stderr,"      socket: [TLSSocket],
"
2026/02/03 15:00:52,stderr,"      _closed: false,
"
2026/02/03 15:00:52,stderr,"      _headerSent: true,
"
2026/02/03 15:00:52,stderr,"      finished: true,
"
2026/02/03 15:00:52,stderr,"      _trailer: '',
"
2026/02/03 15:00:52,stderr,"      _hasBody: true,
"
2026/02/03 15:00:52,stderr,"      _contentLength: 0,
"
2026/02/03 15:00:52,stderr,"      strictContentLength: false,
"
2026/02/03 15:00:52,stderr,"      _removedTE: false,
"
2026/02/03 15:00:52,stderr,"      _removedContLen: false,
"
2026/02/03 15:00:52,stderr,"      _removedConnection: false,
"
2026/02/03 15:00:52,stderr,"      sendDate: false,
"
2026/02/03 15:00:52,stderr,"      useChunkedEncodingByDefault: false,
"
2026/02/03 15:00:52,stderr,"      _defaultKeepAlive: true,
"
2026/02/03 15:00:52,stderr,"      maxRequestsOnConnectionReached: false,
"
2026/02/03 15:00:52,stderr,"      shouldKeepAlive: false,
"
2026/02/03 15:00:52,stderr,"      chunkedEncoding: false,
"
2026/02/03 15:00:52,stderr,"      _last: true,
"
2026/02/03 15:00:52,stderr,"      destroyed: true,
"
2026/02/03 15:00:52,stderr,"      writable: true,
"
2026/02/03 15:00:52,stderr,"      outputSize: 0,
"
2026/02/03 15:00:52,stderr,"      outputData: [],
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    _currentRequest: ClientRequest {

2026/02/03 15:00:52,stderr,"    _onNativeResponse: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"    _eventsCount: 3,
"
2026/02/03 15:00:52,stderr,"    _requestBodyBuffers: [],
"
2026/02/03 15:00:52,stderr,"    _requestBodyLength: 0,
"
2026/02/03 15:00:52,stderr,"    _redirects: [],
"
2026/02/03 15:00:52,stderr,"    _redirectCount: 0,
"
2026/02/03 15:00:52,stderr,"    _ending: true,
"
2026/02/03 15:00:52,stderr,"    _ended: true,
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      pathname: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg'

2026/02/03 15:00:52,stderr,"      nativeProtocols: [Object],
"
2026/02/03 15:00:52,stderr,"      port: null,
"
2026/02/03 15:00:52,stderr,"      hostname: 'is1-ssl.mzstatic.com',
"
2026/02/03 15:00:52,stderr,"      auth: undefined,
"
2026/02/03 15:00:52,stderr,"      agents: [Object],
"
2026/02/03 15:00:52,stderr,"      agent: [Agent],
"
2026/02/03 15:00:52,stderr,"      headers: [Object],
"
2026/02/03 15:00:52,stderr,"      method: 'GET',
"
2026/02/03 15:00:52,stderr,"      path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      maxBodyLength: 10485760,
"
2026/02/03 15:00:52,stderr,"      maxRedirects: 21,
"
2026/02/03 15:00:52,stderr,    _options: {

2026/02/03 15:00:52,stderr,"    _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(kBufferedValue)]: null

2026/02/03 15:00:52,stderr,"      [Symbol(kState)]: 17580812,
"
2026/02/03 15:00:52,stderr,"      pendingcb: 0,
"
2026/02/03 15:00:52,stderr,"      bufferedIndex: 0,
"
2026/02/03 15:00:52,stderr,"      writelen: 0,
"
2026/02/03 15:00:52,stderr,"      onwrite: [Function: bound onwrite],
"
2026/02/03 15:00:52,stderr,"      corked: 0,
"
2026/02/03 15:00:52,stderr,"      length: 0,
"
2026/02/03 15:00:52,stderr,"      highWaterMark: 16384,
"
2026/02/03 15:00:52,stderr,    _writableState: WritableState {

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      abort: undefined

2026/02/03 15:00:52,stderr,"      timeout: undefined,
"
2026/02/03 15:00:52,stderr,"      socket: [Array],
"
2026/02/03 15:00:52,stderr,"      response: [Function: handleResponse],
"
2026/02/03 15:00:52,stderr,"      drain: undefined,
"
2026/02/03 15:00:52,stderr,"      finish: undefined,
"
2026/02/03 15:00:52,stderr,"      prefinish: undefined,
"
2026/02/03 15:00:52,stderr,"      error: [Function: handleRequestError],
"
2026/02/03 15:00:52,stderr,"      close: undefined,
"
2026/02/03 15:00:52,stderr,    _events: {

2026/02/03 15:00:52,stderr,  request: <ref *1> Writable {

2026/02/03 15:00:52,stderr,"  },
"
2026/02/03 15:00:52,stderr,    data: undefined

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(active)]: true

2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      createConnection: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"      _sessionCache: [Object],
"
2026/02/03 15:00:52,stderr,"      maxCachedSessions: 100,
"
2026/02/03 15:00:52,stderr,"      totalSocketCount: 1,
"
2026/02/03 15:00:52,stderr,"      maxTotalSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      scheduling: 'lifo',
"
2026/02/03 15:00:52,stderr,"      maxFreeSockets: 256,
"
2026/02/03 15:00:52,stderr,"      maxSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      keepAlive: false,
"
2026/02/03 15:00:52,stderr,"      keepAliveMsecs: 1000,
"
2026/02/03 15:00:52,stderr,"      freeSockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      sockets: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      requests: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      options: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      defaultPort: 443,
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    httpsAgent: Agent {

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(active)]: true

2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      createConnection: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"      _sessionCache: [Object],
"
2026/02/03 15:00:52,stderr,"      maxCachedSessions: 100,
"
2026/02/03 15:00:52,stderr,"      totalSocketCount: 0,
"
2026/02/03 15:00:52,stderr,"      maxTotalSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      scheduling: 'lifo',
"
2026/02/03 15:00:52,stderr,"      maxFreeSockets: 256,
"
2026/02/03 15:00:52,stderr,"      maxSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      keepAlive: false,
"
2026/02/03 15:00:52,stderr,"      keepAliveMsecs: 1000,
"
2026/02/03 15:00:52,stderr,"      freeSockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      sockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      requests: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      options: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      defaultPort: 443,
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    httpAgent: Agent {

2026/02/03 15:00:52,stderr,"    responseType: 'stream',
"
2026/02/03 15:00:52,stderr,"    method: 'get',
"
2026/02/03 15:00:52,stderr,"    url: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)'

2026/02/03 15:00:52,stderr,"      Accept: 'application/json, text/plain, */*',
"
2026/02/03 15:00:52,stderr,    headers: {

2026/02/03 15:00:52,stderr,"    validateStatus: [Function: validateStatus],
"
2026/02/03 15:00:52,stderr,"    env: { FormData: [Function] },
"
2026/02/03 15:00:52,stderr,"    maxBodyLength: -1,
"
2026/02/03 15:00:52,stderr,"    maxContentLength: -1,
"
2026/02/03 15:00:52,stderr,"    xsrfHeaderName: 'X-XSRF-TOKEN',
"
2026/02/03 15:00:52,stderr,"    xsrfCookieName: 'XSRF-TOKEN',
"
2026/02/03 15:00:52,stderr,"    timeout: 30000,
"
2026/02/03 15:00:52,stderr,"    transformResponse: [ [Function: transformResponse] ],
"
2026/02/03 15:00:52,stderr,"    transformRequest: [ [Function: transformRequest] ],
"
2026/02/03 15:00:52,stderr,"    adapter: [Function: httpAdapter],
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      clarifyTimeoutError: false

2026/02/03 15:00:52,stderr,"      forcedJSONParsing: true,
"
2026/02/03 15:00:52,stderr,"      silentJSONParsing: true,
"
2026/02/03 15:00:52,stderr,    transitional: {

2026/02/03 15:00:52,stderr,  config: {

2026/02/03 15:00:52,stderr,"  code: 'ECONNABORTED',
"
2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.967] ERROR: [CoverManager] Download image file failed for "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg" [AxiosError: timeout of 30000ms exceeded] {

2026/02/03 15:00:52,stderr,}

2026/02/03 15:00:52,stderr,  }

2026/02/03 15:00:52,stderr,    [Symbol(kCapture)]: false

2026/02/03 15:00:52,stderr,"    [Symbol(shapeMode)]: true,
"
2026/02/03 15:00:52,stderr,"    _timeout: null,
"
2026/02/03 15:00:52,stderr,"    _currentUrl: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(kError)]: undefined

2026/02/03 15:00:52,stderr,"      [Symbol(kUniqueHeaders)]: null,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kRejectNonStandardBodyWrites)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kHighWaterMark)]: 16384,
"
2026/02/03 15:00:52,stderr,"      [Symbol(errored)]: null,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kOutHeaders)]: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      [Symbol(corked)]: 0,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kNeedDrain)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kBytesWritten)]: 0,
"
2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      _redirectable: [Circular *1],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      host: 'is1-ssl.mzstatic.com',
"
2026/02/03 15:00:52,stderr,"      reusedSocket: false,
"
2026/02/03 15:00:52,stderr,"      maxHeadersCount: null,
"
2026/02/03 15:00:52,stderr,"      parser: [HTTPParser],
"
2026/02/03 15:00:52,stderr,"      upgradeOrConnect: false,
"
2026/02/03 15:00:52,stderr,"      timeoutCb: null,
"
2026/02/03 15:00:52,stderr,"      aborted: true,
"
2026/02/03 15:00:52,stderr,"      res: null,
"
2026/02/03 15:00:52,stderr,"      _ended: false,
"
2026/02/03 15:00:52,stderr,"      path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"      joinDuplicateHeaders: undefined,
"
2026/02/03 15:00:52,stderr,"      insecureHTTPParser: undefined,
"
2026/02/03 15:00:52,stderr,"      maxHeaderSize: undefined,
"
2026/02/03 15:00:52,stderr,"      method: 'GET',
"
2026/02/03 15:00:52,stderr,"      socketPath: undefined,
"
2026/02/03 15:00:52,stderr,"      agent: [Agent],
"
2026/02/03 15:00:52,stderr,"      _onPendingData: [Function: nop],
"
2026/02/03 15:00:52,stderr,"      _keepAliveTimeout: 0,
"
2026/02/03 15:00:52,stderr,"        '\r\n',
"
2026/02/03 15:00:52,stderr,        'Connection: close\r\n' +

2026/02/03 15:00:52,stderr,        'Host: is1-ssl.mzstatic.com\r\n' +

2026/02/03 15:00:52,stderr,        'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' +

2026/02/03 15:00:52,stderr,"        'Accept: application/json, text/plain, */*\r\n' +
"
2026/02/03 15:00:52,stderr,      _header: 'GET /image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg HTTP/1.1\r\n' +

2026/02/03 15:00:52,stderr,"      socket: [TLSSocket],
"
2026/02/03 15:00:52,stderr,"      _closed: false,
"
2026/02/03 15:00:52,stderr,"      _headerSent: true,
"
2026/02/03 15:00:52,stderr,"      finished: true,
"
2026/02/03 15:00:52,stderr,"      _trailer: '',
"
2026/02/03 15:00:52,stderr,"      _hasBody: true,
"
2026/02/03 15:00:52,stderr,"      _contentLength: 0,
"
2026/02/03 15:00:52,stderr,"      strictContentLength: false,
"
2026/02/03 15:00:52,stderr,"      _removedTE: false,
"
2026/02/03 15:00:52,stderr,"      _removedContLen: false,
"
2026/02/03 15:00:52,stderr,"      _removedConnection: false,
"
2026/02/03 15:00:52,stderr,"      sendDate: false,
"
2026/02/03 15:00:52,stderr,"      useChunkedEncodingByDefault: false,
"
2026/02/03 15:00:52,stderr,"      _defaultKeepAlive: true,
"
2026/02/03 15:00:52,stderr,"      maxRequestsOnConnectionReached: false,
"
2026/02/03 15:00:52,stderr,"      shouldKeepAlive: false,
"
2026/02/03 15:00:52,stderr,"      chunkedEncoding: false,
"
2026/02/03 15:00:52,stderr,"      _last: true,
"
2026/02/03 15:00:52,stderr,"      destroyed: true,
"
2026/02/03 15:00:52,stderr,"      writable: true,
"
2026/02/03 15:00:52,stderr,"      outputSize: 0,
"
2026/02/03 15:00:52,stderr,"      outputData: [],
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    _currentRequest: ClientRequest {

2026/02/03 15:00:52,stderr,"    _onNativeResponse: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"    _eventsCount: 3,
"
2026/02/03 15:00:52,stderr,"    _requestBodyBuffers: [],
"
2026/02/03 15:00:52,stderr,"    _requestBodyLength: 0,
"
2026/02/03 15:00:52,stderr,"    _redirects: [],
"
2026/02/03 15:00:52,stderr,"    _redirectCount: 0,
"
2026/02/03 15:00:52,stderr,"    _ending: true,
"
2026/02/03 15:00:52,stderr,"    _ended: true,
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      pathname: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg'

2026/02/03 15:00:52,stderr,"      nativeProtocols: [Object],
"
2026/02/03 15:00:52,stderr,"      port: null,
"
2026/02/03 15:00:52,stderr,"      hostname: 'is1-ssl.mzstatic.com',
"
2026/02/03 15:00:52,stderr,"      auth: undefined,
"
2026/02/03 15:00:52,stderr,"      agents: [Object],
"
2026/02/03 15:00:52,stderr,"      agent: [Agent],
"
2026/02/03 15:00:52,stderr,"      headers: [Object],
"
2026/02/03 15:00:52,stderr,"      method: 'GET',
"
2026/02/03 15:00:52,stderr,"      path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      maxBodyLength: 10485760,
"
2026/02/03 15:00:52,stderr,"      maxRedirects: 21,
"
2026/02/03 15:00:52,stderr,    _options: {

2026/02/03 15:00:52,stderr,"    _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(kBufferedValue)]: null

2026/02/03 15:00:52,stderr,"      [Symbol(kState)]: 17580812,
"
2026/02/03 15:00:52,stderr,"      pendingcb: 0,
"
2026/02/03 15:00:52,stderr,"      bufferedIndex: 0,
"
2026/02/03 15:00:52,stderr,"      writelen: 0,
"
2026/02/03 15:00:52,stderr,"      onwrite: [Function: bound onwrite],
"
2026/02/03 15:00:52,stderr,"      corked: 0,
"
2026/02/03 15:00:52,stderr,"      length: 0,
"
2026/02/03 15:00:52,stderr,"      highWaterMark: 16384,
"
2026/02/03 15:00:52,stderr,    _writableState: WritableState {

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      abort: undefined

2026/02/03 15:00:52,stderr,"      timeout: undefined,
"
2026/02/03 15:00:52,stderr,"      socket: [Array],
"
2026/02/03 15:00:52,stderr,"      response: [Function: handleResponse],
"
2026/02/03 15:00:52,stderr,"      drain: undefined,
"
2026/02/03 15:00:52,stderr,"      finish: undefined,
"
2026/02/03 15:00:52,stderr,"      prefinish: undefined,
"
2026/02/03 15:00:52,stderr,"      error: [Function: handleRequestError],
"
2026/02/03 15:00:52,stderr,"      close: undefined,
"
2026/02/03 15:00:52,stderr,    _events: {

2026/02/03 15:00:52,stderr,  request: <ref *1> Writable {

2026/02/03 15:00:52,stderr,"  },
"
2026/02/03 15:00:52,stderr,    data: undefined

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(active)]: true

2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      createConnection: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"      _sessionCache: [Object],
"
2026/02/03 15:00:52,stderr,"      maxCachedSessions: 100,
"
2026/02/03 15:00:52,stderr,"      totalSocketCount: 1,
"
2026/02/03 15:00:52,stderr,"      maxTotalSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      scheduling: 'lifo',
"
2026/02/03 15:00:52,stderr,"      maxFreeSockets: 256,
"
2026/02/03 15:00:52,stderr,"      maxSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      keepAlive: false,
"
2026/02/03 15:00:52,stderr,"      keepAliveMsecs: 1000,
"
2026/02/03 15:00:52,stderr,"      freeSockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      sockets: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      requests: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      options: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      defaultPort: 443,
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    httpsAgent: Agent {

2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      [Symbol(active)]: true

2026/02/03 15:00:52,stderr,"      [Symbol(kCapture)]: false,
"
2026/02/03 15:00:52,stderr,"      [Symbol(shapeMode)]: false,
"
2026/02/03 15:00:52,stderr,"      createConnection: [Function (anonymous)],
"
2026/02/03 15:00:52,stderr,"      _sessionCache: [Object],
"
2026/02/03 15:00:52,stderr,"      maxCachedSessions: 100,
"
2026/02/03 15:00:52,stderr,"      totalSocketCount: 0,
"
2026/02/03 15:00:52,stderr,"      maxTotalSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      scheduling: 'lifo',
"
2026/02/03 15:00:52,stderr,"      maxFreeSockets: 256,
"
2026/02/03 15:00:52,stderr,"      maxSockets: Infinity,
"
2026/02/03 15:00:52,stderr,"      keepAlive: false,
"
2026/02/03 15:00:52,stderr,"      keepAliveMsecs: 1000,
"
2026/02/03 15:00:52,stderr,"      freeSockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      sockets: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      requests: [Object: null prototype] {},
"
2026/02/03 15:00:52,stderr,"      options: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,"      protocol: 'https:',
"
2026/02/03 15:00:52,stderr,"      defaultPort: 443,
"
2026/02/03 15:00:52,stderr,"      _maxListeners: undefined,
"
2026/02/03 15:00:52,stderr,"      _eventsCount: 2,
"
2026/02/03 15:00:52,stderr,"      _events: [Object: null prototype],
"
2026/02/03 15:00:52,stderr,    httpAgent: Agent {

2026/02/03 15:00:52,stderr,"    responseType: 'stream',
"
2026/02/03 15:00:52,stderr,"    method: 'get',
"
2026/02/03 15:00:52,stderr,"    url: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg',
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)'

2026/02/03 15:00:52,stderr,"      Accept: 'application/json, text/plain, */*',
"
2026/02/03 15:00:52,stderr,    headers: {

2026/02/03 15:00:52,stderr,"    validateStatus: [Function: validateStatus],
"
2026/02/03 15:00:52,stderr,"    env: { FormData: [Function] },
"
2026/02/03 15:00:52,stderr,"    maxBodyLength: -1,
"
2026/02/03 15:00:52,stderr,"    maxContentLength: -1,
"
2026/02/03 15:00:52,stderr,"    xsrfHeaderName: 'X-XSRF-TOKEN',
"
2026/02/03 15:00:52,stderr,"    xsrfCookieName: 'XSRF-TOKEN',
"
2026/02/03 15:00:52,stderr,"    timeout: 30000,
"
2026/02/03 15:00:52,stderr,"    transformResponse: [ [Function: transformResponse] ],
"
2026/02/03 15:00:52,stderr,"    transformRequest: [ [Function: transformRequest] ],
"
2026/02/03 15:00:52,stderr,"    adapter: [Function: httpAdapter],
"
2026/02/03 15:00:52,stderr,"    },
"
2026/02/03 15:00:52,stderr,      clarifyTimeoutError: false

2026/02/03 15:00:52,stderr,"      forcedJSONParsing: true,
"
2026/02/03 15:00:52,stderr,"      silentJSONParsing: true,
"
2026/02/03 15:00:52,stderr,    transitional: {

2026/02/03 15:00:52,stderr,  config: {

2026/02/03 15:00:52,stderr,"  code: 'ECONNABORTED',
"
2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.961] ERROR: [fileUtils] Failed to download file "/audiobooks/Christian/Absolute Surrender/cover" [AxiosError: timeout of 30000ms exceeded] {

2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.314] ERROR: [GoogleBooks] Volume search error timeout of 10000ms exceeded

2026/02/03 15:00:50,stderr,[2026-02-03 15:00:50.327] ERROR: OpenLib Search Error 404

2026/02/03 15:00:50,stderr,Failed timeout of 10000ms exceeded

2026/02/03 15:00:46,stderr,[2026-02-03 15:00:46.295] ERROR: [FantLab] search error timeout of 10000ms exceeded

2026/02/03 15:00:42,stderr,[2026-02-03 15:00:42.308] ERROR: [GoogleBooks] Volume search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.169] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.168] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.168] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.168] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.167] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.167] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.166] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.166] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.166] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.165] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.165] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.165] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.164] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.164] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.164] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.163] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.163] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.162] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.162] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.162] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.162] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.161] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.161] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.161] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.160] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.160] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.160] ERROR: [Audible] query search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.159] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.159] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.158] ERROR: [AudiobookCovers] Cover search error timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.158] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.158] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.157] ERROR: OpenLib Search Error 404

2026/02/03 15:00:06,stderr,Failed timeout of 10000ms exceeded

2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.153] INFO: [SocketAuthority] Cover search cover-search-1770152395733-aiaf7vys6 completed

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.152] WARN: [CoverSearchManager] Provider audible.es failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.149] WARN: [CoverSearchManager] Provider audible.in failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.147] WARN: [CoverSearchManager] Provider audible.it failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.145] WARN: [CoverSearchManager] Provider audible.jp failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.143] WARN: [CoverSearchManager] Provider audible.de failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.140] WARN: [CoverSearchManager] Provider audible.fr failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.137] WARN: [CoverSearchManager] Provider audible.au failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.135] WARN: [CoverSearchManager] Provider audible.uk failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.132] WARN: [CoverSearchManager] Provider audible.ca failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.129] WARN: [CoverSearchManager] Provider audible failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.125] WARN: [CoverSearchManager] Provider audiobookcovers failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.122] WARN: [CoverSearchManager] Provider fantlab failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.120] WARN: [CoverSearchManager] Provider openlibrary failed: Provider timeout

2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.033] WARN: [CoverSearchManager] Provider google failed: Provider timeout

2026/02/03 15:00:04,stdout,[2026-02-03 15:00:04.128] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:04,stdout,[2026-02-03 15:00:04.128] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:04,stderr,[2026-02-03 15:00:04.127] ERROR: [FantLab] search error connect ECONNREFUSED 0.0.0.0:443

2026/02/03 15:00:00,stdout,[2026-02-03 15:00:00.310] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender"

2026/02/03 15:00:00,stdout,[2026-02-03 15:00:00.309] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray"

2026/02/03 15:00:00,stderr,[2026-02-03 15:00:00.306] ERROR: [GoogleBooks] Volume search error Request failed with status code 429

2026/02/03 14:59:56,stdout,}

2026/02/03 14:59:56,stdout,  podcast: false

2026/02/03 14:59:56,stdout,"  provider: 'all',
"
2026/02/03 14:59:56,stdout,"  author: 'Andrew Murray',
"
2026/02/03 14:59:56,stdout,"  title: 'Absolute Surrender',
"
2026/02/03 14:59:56,stdout,[2026-02-03 14:59:56.029] INFO: [CoverSearchManager] Starting search cover-search-1770152395733-aiaf7vys6 with params: {

2026/02/03 14:59:56,stdout,[2026-02-03 14:59:56.028] INFO: [SocketAuthority] User abadmin initiated cover search cover-search-1770152395733-aiaf7vys6

2026/02/03 14:59:51,stdout,[2026-02-03 14:59:51.603] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io dNYktbVpfESBrVGSAAAB

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.617] INFO: [Watcher] "Audio Books" Ready

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.253] INFO: [Watcher] "Podcasts" Ready

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.154] INFO: Listening on port :80

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.140] INFO: [Watcher] Initializing watcher for "Podcasts".

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.137] INFO: [Watcher] Initializing watcher for "Audio Books".

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.105] INFO: [BackupManager] 2 Backups Found

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.034] INFO: [LogManager] Init current daily log filename: 2026-02-03.txt

2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.030] INFO: [Database] ANALYZE completed

2026/02/03 14:59:48,stdout,[2026-02-03 14:59:48.667] INFO: [Database] running ANALYZE

2026/02/03 14:59:48,stdout,"[2026-02-03 14:59:48.407] INFO: [Database] Db initialized with models: user, session, apiKey, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
"
2026/02/03 14:59:48,stdout,[2026-02-03 14:59:48.163] INFO: [MigrationManager] Database is already up to date.

Additional Notes

Thank you for a great app and for all your hard work!

Originally created by @CodeSapiens on GitHub (Feb 3, 2026). ### What happened? Looking up or updating cover art may work one or two times, after a long wait, but eventually, the wait goes on for a long time, and either no results are shown, or an error indicates something went wrong. This happens no matter what source you use for images. Restarting the docker container gets it working again for one or two more successful cover updates, then it crashes again. The docker log is full of weird errors when ever that happens. Everything else seems to work fine, and I know my docker container is properly setup. ### What did you expect to happen? Look up cover images fast, and not crash when updating cover art. ### Steps to reproduce the issue Simply search for cover art images, and try to update. If it works, do it again for another book. Eventually it will crash or report no images found. Restarting the server app fixes the issue temporarily. ### Audiobookshelf version 2.32.1 ### How are you running audiobookshelf? Docker ### 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? Chrome ### Logs ```shell AudioBookShelf date,stream,content 2026/02/03 15:01:14,stdout,[2026-02-03 15:01:14.865] INFO: [CoverManager] Downloaded libraryItem cover "/audiobooks/Christian/Absolute Surrender/cover.jpg" from url "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg" 2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.513] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io MJyJOg5qlgdJOaE_AAAB 2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.395] INFO: [Watcher] "Audio Books" Ready 2026/02/03 15:01:08,stdout,[2026-02-03 15:01:08.042] INFO: [Watcher] "Podcasts" Ready 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.944] INFO: Listening on port :80 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.930] INFO: [Watcher] Initializing watcher for "Podcasts". 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.927] INFO: [Watcher] Initializing watcher for "Audio Books". 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.898] INFO: [BackupManager] 2 Backups Found 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.823] INFO: [LogManager] Init current daily log filename: 2026-02-03.txt 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.820] INFO: [Database] ANALYZE completed 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.301] INFO: [Database] running ANALYZE 2026/02/03 15:01:07,stdout,"[2026-02-03 15:01:07.234] INFO: [Database] Db initialized with models: user, session, apiKey, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare " 2026/02/03 15:01:07,stdout,[2026-02-03 15:01:07.008] INFO: [MigrationManager] Database is already up to date. 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.998] INFO: [Database] Db connection was successful 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.998] INFO: [Database] Db supports unaccent and unicode foldings 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.997] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.995] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.959] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.953] INFO: [Server] Arch: x64 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.923] INFO: [Server] Platform: linux 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.922] INFO: [Server] Node.js Version: v20.19.6 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.922] INFO: [Server] Init v2.32.1 2026/02/03 15:01:06,stdout,[2026-02-03 15:01:06.920] INFO: === Starting Server === 2026/02/03 15:01:06,stdout,"Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf " 2026/02/03 15:01:06,stdout,Running in production mode. 2026/02/03 15:00:58,stderr,[2026-02-03 15:00:58.317] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:56,stderr,[2026-02-03 15:00:56.299] ERROR: [FantLab] search error timeout of 10000ms exceeded 2026/02/03 15:00:54,stderr,[2026-02-03 15:00:54.338] ERROR: [AudiobookCovers] Cover search error timeout of 10000ms exceeded 2026/02/03 15:00:52,stderr,} 2026/02/03 15:00:52,stderr, } 2026/02/03 15:00:52,stderr, [Symbol(kCapture)]: false 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: true, " 2026/02/03 15:00:52,stderr," _timeout: null, " 2026/02/03 15:00:52,stderr," _currentUrl: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(kError)]: undefined 2026/02/03 15:00:52,stderr," [Symbol(kUniqueHeaders)]: null, " 2026/02/03 15:00:52,stderr," [Symbol(kRejectNonStandardBodyWrites)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(kHighWaterMark)]: 16384, " 2026/02/03 15:00:52,stderr," [Symbol(errored)]: null, " 2026/02/03 15:00:52,stderr," [Symbol(kOutHeaders)]: [Object: null prototype], " 2026/02/03 15:00:52,stderr," [Symbol(corked)]: 0, " 2026/02/03 15:00:52,stderr," [Symbol(kNeedDrain)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(kBytesWritten)]: 0, " 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," _redirectable: [Circular *1], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," host: 'is1-ssl.mzstatic.com', " 2026/02/03 15:00:52,stderr," reusedSocket: false, " 2026/02/03 15:00:52,stderr," maxHeadersCount: null, " 2026/02/03 15:00:52,stderr," parser: [HTTPParser], " 2026/02/03 15:00:52,stderr," upgradeOrConnect: false, " 2026/02/03 15:00:52,stderr," timeoutCb: null, " 2026/02/03 15:00:52,stderr," aborted: true, " 2026/02/03 15:00:52,stderr," res: null, " 2026/02/03 15:00:52,stderr," _ended: false, " 2026/02/03 15:00:52,stderr," path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," joinDuplicateHeaders: undefined, " 2026/02/03 15:00:52,stderr," insecureHTTPParser: undefined, " 2026/02/03 15:00:52,stderr," maxHeaderSize: undefined, " 2026/02/03 15:00:52,stderr," method: 'GET', " 2026/02/03 15:00:52,stderr," socketPath: undefined, " 2026/02/03 15:00:52,stderr," agent: [Agent], " 2026/02/03 15:00:52,stderr," _onPendingData: [Function: nop], " 2026/02/03 15:00:52,stderr," _keepAliveTimeout: 0, " 2026/02/03 15:00:52,stderr," '\r\n', " 2026/02/03 15:00:52,stderr, 'Connection: close\r\n' + 2026/02/03 15:00:52,stderr, 'Host: is1-ssl.mzstatic.com\r\n' + 2026/02/03 15:00:52,stderr, 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 2026/02/03 15:00:52,stderr," 'Accept: application/json, text/plain, */*\r\n' + " 2026/02/03 15:00:52,stderr, _header: 'GET /image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg HTTP/1.1\r\n' + 2026/02/03 15:00:52,stderr," socket: [TLSSocket], " 2026/02/03 15:00:52,stderr," _closed: false, " 2026/02/03 15:00:52,stderr," _headerSent: true, " 2026/02/03 15:00:52,stderr," finished: true, " 2026/02/03 15:00:52,stderr," _trailer: '', " 2026/02/03 15:00:52,stderr," _hasBody: true, " 2026/02/03 15:00:52,stderr," _contentLength: 0, " 2026/02/03 15:00:52,stderr," strictContentLength: false, " 2026/02/03 15:00:52,stderr," _removedTE: false, " 2026/02/03 15:00:52,stderr," _removedContLen: false, " 2026/02/03 15:00:52,stderr," _removedConnection: false, " 2026/02/03 15:00:52,stderr," sendDate: false, " 2026/02/03 15:00:52,stderr," useChunkedEncodingByDefault: false, " 2026/02/03 15:00:52,stderr," _defaultKeepAlive: true, " 2026/02/03 15:00:52,stderr," maxRequestsOnConnectionReached: false, " 2026/02/03 15:00:52,stderr," shouldKeepAlive: false, " 2026/02/03 15:00:52,stderr," chunkedEncoding: false, " 2026/02/03 15:00:52,stderr," _last: true, " 2026/02/03 15:00:52,stderr," destroyed: true, " 2026/02/03 15:00:52,stderr," writable: true, " 2026/02/03 15:00:52,stderr," outputSize: 0, " 2026/02/03 15:00:52,stderr," outputData: [], " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, _currentRequest: ClientRequest { 2026/02/03 15:00:52,stderr," _onNativeResponse: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _eventsCount: 3, " 2026/02/03 15:00:52,stderr," _requestBodyBuffers: [], " 2026/02/03 15:00:52,stderr," _requestBodyLength: 0, " 2026/02/03 15:00:52,stderr," _redirects: [], " 2026/02/03 15:00:52,stderr," _redirectCount: 0, " 2026/02/03 15:00:52,stderr," _ending: true, " 2026/02/03 15:00:52,stderr," _ended: true, " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, pathname: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg' 2026/02/03 15:00:52,stderr," nativeProtocols: [Object], " 2026/02/03 15:00:52,stderr," port: null, " 2026/02/03 15:00:52,stderr," hostname: 'is1-ssl.mzstatic.com', " 2026/02/03 15:00:52,stderr," auth: undefined, " 2026/02/03 15:00:52,stderr," agents: [Object], " 2026/02/03 15:00:52,stderr," agent: [Agent], " 2026/02/03 15:00:52,stderr," headers: [Object], " 2026/02/03 15:00:52,stderr," method: 'GET', " 2026/02/03 15:00:52,stderr," path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," maxBodyLength: 10485760, " 2026/02/03 15:00:52,stderr," maxRedirects: 21, " 2026/02/03 15:00:52,stderr, _options: { 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(kBufferedValue)]: null 2026/02/03 15:00:52,stderr," [Symbol(kState)]: 17580812, " 2026/02/03 15:00:52,stderr," pendingcb: 0, " 2026/02/03 15:00:52,stderr," bufferedIndex: 0, " 2026/02/03 15:00:52,stderr," writelen: 0, " 2026/02/03 15:00:52,stderr," onwrite: [Function: bound onwrite], " 2026/02/03 15:00:52,stderr," corked: 0, " 2026/02/03 15:00:52,stderr," length: 0, " 2026/02/03 15:00:52,stderr," highWaterMark: 16384, " 2026/02/03 15:00:52,stderr, _writableState: WritableState { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, abort: undefined 2026/02/03 15:00:52,stderr," timeout: undefined, " 2026/02/03 15:00:52,stderr," socket: [Array], " 2026/02/03 15:00:52,stderr," response: [Function: handleResponse], " 2026/02/03 15:00:52,stderr," drain: undefined, " 2026/02/03 15:00:52,stderr," finish: undefined, " 2026/02/03 15:00:52,stderr," prefinish: undefined, " 2026/02/03 15:00:52,stderr," error: [Function: handleRequestError], " 2026/02/03 15:00:52,stderr," close: undefined, " 2026/02/03 15:00:52,stderr, _events: { 2026/02/03 15:00:52,stderr, request: <ref *1> Writable { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, data: undefined 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(active)]: true 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," createConnection: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _sessionCache: [Object], " 2026/02/03 15:00:52,stderr," maxCachedSessions: 100, " 2026/02/03 15:00:52,stderr," totalSocketCount: 1, " 2026/02/03 15:00:52,stderr," maxTotalSockets: Infinity, " 2026/02/03 15:00:52,stderr," scheduling: 'lifo', " 2026/02/03 15:00:52,stderr," maxFreeSockets: 256, " 2026/02/03 15:00:52,stderr," maxSockets: Infinity, " 2026/02/03 15:00:52,stderr," keepAlive: false, " 2026/02/03 15:00:52,stderr," keepAliveMsecs: 1000, " 2026/02/03 15:00:52,stderr," freeSockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," sockets: [Object: null prototype], " 2026/02/03 15:00:52,stderr," requests: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," options: [Object: null prototype], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," defaultPort: 443, " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, httpsAgent: Agent { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(active)]: true 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," createConnection: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _sessionCache: [Object], " 2026/02/03 15:00:52,stderr," maxCachedSessions: 100, " 2026/02/03 15:00:52,stderr," totalSocketCount: 0, " 2026/02/03 15:00:52,stderr," maxTotalSockets: Infinity, " 2026/02/03 15:00:52,stderr," scheduling: 'lifo', " 2026/02/03 15:00:52,stderr," maxFreeSockets: 256, " 2026/02/03 15:00:52,stderr," maxSockets: Infinity, " 2026/02/03 15:00:52,stderr," keepAlive: false, " 2026/02/03 15:00:52,stderr," keepAliveMsecs: 1000, " 2026/02/03 15:00:52,stderr," freeSockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," sockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," requests: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," options: [Object: null prototype], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," defaultPort: 443, " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, httpAgent: Agent { 2026/02/03 15:00:52,stderr," responseType: 'stream', " 2026/02/03 15:00:52,stderr," method: 'get', " 2026/02/03 15:00:52,stderr," url: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, 'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)' 2026/02/03 15:00:52,stderr," Accept: 'application/json, text/plain, */*', " 2026/02/03 15:00:52,stderr, headers: { 2026/02/03 15:00:52,stderr," validateStatus: [Function: validateStatus], " 2026/02/03 15:00:52,stderr," env: { FormData: [Function] }, " 2026/02/03 15:00:52,stderr," maxBodyLength: -1, " 2026/02/03 15:00:52,stderr," maxContentLength: -1, " 2026/02/03 15:00:52,stderr," xsrfHeaderName: 'X-XSRF-TOKEN', " 2026/02/03 15:00:52,stderr," xsrfCookieName: 'XSRF-TOKEN', " 2026/02/03 15:00:52,stderr," timeout: 30000, " 2026/02/03 15:00:52,stderr," transformResponse: [ [Function: transformResponse] ], " 2026/02/03 15:00:52,stderr," transformRequest: [ [Function: transformRequest] ], " 2026/02/03 15:00:52,stderr," adapter: [Function: httpAdapter], " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, clarifyTimeoutError: false 2026/02/03 15:00:52,stderr," forcedJSONParsing: true, " 2026/02/03 15:00:52,stderr," silentJSONParsing: true, " 2026/02/03 15:00:52,stderr, transitional: { 2026/02/03 15:00:52,stderr, config: { 2026/02/03 15:00:52,stderr," code: 'ECONNABORTED', " 2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.967] ERROR: [CoverManager] Download image file failed for "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg" [AxiosError: timeout of 30000ms exceeded] { 2026/02/03 15:00:52,stderr,} 2026/02/03 15:00:52,stderr, } 2026/02/03 15:00:52,stderr, [Symbol(kCapture)]: false 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: true, " 2026/02/03 15:00:52,stderr," _timeout: null, " 2026/02/03 15:00:52,stderr," _currentUrl: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(kError)]: undefined 2026/02/03 15:00:52,stderr," [Symbol(kUniqueHeaders)]: null, " 2026/02/03 15:00:52,stderr," [Symbol(kRejectNonStandardBodyWrites)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(kHighWaterMark)]: 16384, " 2026/02/03 15:00:52,stderr," [Symbol(errored)]: null, " 2026/02/03 15:00:52,stderr," [Symbol(kOutHeaders)]: [Object: null prototype], " 2026/02/03 15:00:52,stderr," [Symbol(corked)]: 0, " 2026/02/03 15:00:52,stderr," [Symbol(kNeedDrain)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(kBytesWritten)]: 0, " 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," _redirectable: [Circular *1], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," host: 'is1-ssl.mzstatic.com', " 2026/02/03 15:00:52,stderr," reusedSocket: false, " 2026/02/03 15:00:52,stderr," maxHeadersCount: null, " 2026/02/03 15:00:52,stderr," parser: [HTTPParser], " 2026/02/03 15:00:52,stderr," upgradeOrConnect: false, " 2026/02/03 15:00:52,stderr," timeoutCb: null, " 2026/02/03 15:00:52,stderr," aborted: true, " 2026/02/03 15:00:52,stderr," res: null, " 2026/02/03 15:00:52,stderr," _ended: false, " 2026/02/03 15:00:52,stderr," path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," joinDuplicateHeaders: undefined, " 2026/02/03 15:00:52,stderr," insecureHTTPParser: undefined, " 2026/02/03 15:00:52,stderr," maxHeaderSize: undefined, " 2026/02/03 15:00:52,stderr," method: 'GET', " 2026/02/03 15:00:52,stderr," socketPath: undefined, " 2026/02/03 15:00:52,stderr," agent: [Agent], " 2026/02/03 15:00:52,stderr," _onPendingData: [Function: nop], " 2026/02/03 15:00:52,stderr," _keepAliveTimeout: 0, " 2026/02/03 15:00:52,stderr," '\r\n', " 2026/02/03 15:00:52,stderr, 'Connection: close\r\n' + 2026/02/03 15:00:52,stderr, 'Host: is1-ssl.mzstatic.com\r\n' + 2026/02/03 15:00:52,stderr, 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 2026/02/03 15:00:52,stderr," 'Accept: application/json, text/plain, */*\r\n' + " 2026/02/03 15:00:52,stderr, _header: 'GET /image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg HTTP/1.1\r\n' + 2026/02/03 15:00:52,stderr," socket: [TLSSocket], " 2026/02/03 15:00:52,stderr," _closed: false, " 2026/02/03 15:00:52,stderr," _headerSent: true, " 2026/02/03 15:00:52,stderr," finished: true, " 2026/02/03 15:00:52,stderr," _trailer: '', " 2026/02/03 15:00:52,stderr," _hasBody: true, " 2026/02/03 15:00:52,stderr," _contentLength: 0, " 2026/02/03 15:00:52,stderr," strictContentLength: false, " 2026/02/03 15:00:52,stderr," _removedTE: false, " 2026/02/03 15:00:52,stderr," _removedContLen: false, " 2026/02/03 15:00:52,stderr," _removedConnection: false, " 2026/02/03 15:00:52,stderr," sendDate: false, " 2026/02/03 15:00:52,stderr," useChunkedEncodingByDefault: false, " 2026/02/03 15:00:52,stderr," _defaultKeepAlive: true, " 2026/02/03 15:00:52,stderr," maxRequestsOnConnectionReached: false, " 2026/02/03 15:00:52,stderr," shouldKeepAlive: false, " 2026/02/03 15:00:52,stderr," chunkedEncoding: false, " 2026/02/03 15:00:52,stderr," _last: true, " 2026/02/03 15:00:52,stderr," destroyed: true, " 2026/02/03 15:00:52,stderr," writable: true, " 2026/02/03 15:00:52,stderr," outputSize: 0, " 2026/02/03 15:00:52,stderr," outputData: [], " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, _currentRequest: ClientRequest { 2026/02/03 15:00:52,stderr," _onNativeResponse: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _eventsCount: 3, " 2026/02/03 15:00:52,stderr," _requestBodyBuffers: [], " 2026/02/03 15:00:52,stderr," _requestBodyLength: 0, " 2026/02/03 15:00:52,stderr," _redirects: [], " 2026/02/03 15:00:52,stderr," _redirectCount: 0, " 2026/02/03 15:00:52,stderr," _ending: true, " 2026/02/03 15:00:52,stderr," _ended: true, " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, pathname: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg' 2026/02/03 15:00:52,stderr," nativeProtocols: [Object], " 2026/02/03 15:00:52,stderr," port: null, " 2026/02/03 15:00:52,stderr," hostname: 'is1-ssl.mzstatic.com', " 2026/02/03 15:00:52,stderr," auth: undefined, " 2026/02/03 15:00:52,stderr," agents: [Object], " 2026/02/03 15:00:52,stderr," agent: [Agent], " 2026/02/03 15:00:52,stderr," headers: [Object], " 2026/02/03 15:00:52,stderr," method: 'GET', " 2026/02/03 15:00:52,stderr," path: '/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," maxBodyLength: 10485760, " 2026/02/03 15:00:52,stderr," maxRedirects: 21, " 2026/02/03 15:00:52,stderr, _options: { 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(kBufferedValue)]: null 2026/02/03 15:00:52,stderr," [Symbol(kState)]: 17580812, " 2026/02/03 15:00:52,stderr," pendingcb: 0, " 2026/02/03 15:00:52,stderr," bufferedIndex: 0, " 2026/02/03 15:00:52,stderr," writelen: 0, " 2026/02/03 15:00:52,stderr," onwrite: [Function: bound onwrite], " 2026/02/03 15:00:52,stderr," corked: 0, " 2026/02/03 15:00:52,stderr," length: 0, " 2026/02/03 15:00:52,stderr," highWaterMark: 16384, " 2026/02/03 15:00:52,stderr, _writableState: WritableState { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, abort: undefined 2026/02/03 15:00:52,stderr," timeout: undefined, " 2026/02/03 15:00:52,stderr," socket: [Array], " 2026/02/03 15:00:52,stderr," response: [Function: handleResponse], " 2026/02/03 15:00:52,stderr," drain: undefined, " 2026/02/03 15:00:52,stderr," finish: undefined, " 2026/02/03 15:00:52,stderr," prefinish: undefined, " 2026/02/03 15:00:52,stderr," error: [Function: handleRequestError], " 2026/02/03 15:00:52,stderr," close: undefined, " 2026/02/03 15:00:52,stderr, _events: { 2026/02/03 15:00:52,stderr, request: <ref *1> Writable { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, data: undefined 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(active)]: true 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," createConnection: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _sessionCache: [Object], " 2026/02/03 15:00:52,stderr," maxCachedSessions: 100, " 2026/02/03 15:00:52,stderr," totalSocketCount: 1, " 2026/02/03 15:00:52,stderr," maxTotalSockets: Infinity, " 2026/02/03 15:00:52,stderr," scheduling: 'lifo', " 2026/02/03 15:00:52,stderr," maxFreeSockets: 256, " 2026/02/03 15:00:52,stderr," maxSockets: Infinity, " 2026/02/03 15:00:52,stderr," keepAlive: false, " 2026/02/03 15:00:52,stderr," keepAliveMsecs: 1000, " 2026/02/03 15:00:52,stderr," freeSockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," sockets: [Object: null prototype], " 2026/02/03 15:00:52,stderr," requests: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," options: [Object: null prototype], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," defaultPort: 443, " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, httpsAgent: Agent { 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, [Symbol(active)]: true 2026/02/03 15:00:52,stderr," [Symbol(kCapture)]: false, " 2026/02/03 15:00:52,stderr," [Symbol(shapeMode)]: false, " 2026/02/03 15:00:52,stderr," createConnection: [Function (anonymous)], " 2026/02/03 15:00:52,stderr," _sessionCache: [Object], " 2026/02/03 15:00:52,stderr," maxCachedSessions: 100, " 2026/02/03 15:00:52,stderr," totalSocketCount: 0, " 2026/02/03 15:00:52,stderr," maxTotalSockets: Infinity, " 2026/02/03 15:00:52,stderr," scheduling: 'lifo', " 2026/02/03 15:00:52,stderr," maxFreeSockets: 256, " 2026/02/03 15:00:52,stderr," maxSockets: Infinity, " 2026/02/03 15:00:52,stderr," keepAlive: false, " 2026/02/03 15:00:52,stderr," keepAliveMsecs: 1000, " 2026/02/03 15:00:52,stderr," freeSockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," sockets: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," requests: [Object: null prototype] {}, " 2026/02/03 15:00:52,stderr," options: [Object: null prototype], " 2026/02/03 15:00:52,stderr," protocol: 'https:', " 2026/02/03 15:00:52,stderr," defaultPort: 443, " 2026/02/03 15:00:52,stderr," _maxListeners: undefined, " 2026/02/03 15:00:52,stderr," _eventsCount: 2, " 2026/02/03 15:00:52,stderr," _events: [Object: null prototype], " 2026/02/03 15:00:52,stderr, httpAgent: Agent { 2026/02/03 15:00:52,stderr," responseType: 'stream', " 2026/02/03 15:00:52,stderr," method: 'get', " 2026/02/03 15:00:52,stderr," url: 'https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/ec/0f/4c/ec0f4cdc-c8b1-8525-0968-87031bce08cf/9781596443471.jpg/600x600bb.jpg', " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, 'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)' 2026/02/03 15:00:52,stderr," Accept: 'application/json, text/plain, */*', " 2026/02/03 15:00:52,stderr, headers: { 2026/02/03 15:00:52,stderr," validateStatus: [Function: validateStatus], " 2026/02/03 15:00:52,stderr," env: { FormData: [Function] }, " 2026/02/03 15:00:52,stderr," maxBodyLength: -1, " 2026/02/03 15:00:52,stderr," maxContentLength: -1, " 2026/02/03 15:00:52,stderr," xsrfHeaderName: 'X-XSRF-TOKEN', " 2026/02/03 15:00:52,stderr," xsrfCookieName: 'XSRF-TOKEN', " 2026/02/03 15:00:52,stderr," timeout: 30000, " 2026/02/03 15:00:52,stderr," transformResponse: [ [Function: transformResponse] ], " 2026/02/03 15:00:52,stderr," transformRequest: [ [Function: transformRequest] ], " 2026/02/03 15:00:52,stderr," adapter: [Function: httpAdapter], " 2026/02/03 15:00:52,stderr," }, " 2026/02/03 15:00:52,stderr, clarifyTimeoutError: false 2026/02/03 15:00:52,stderr," forcedJSONParsing: true, " 2026/02/03 15:00:52,stderr," silentJSONParsing: true, " 2026/02/03 15:00:52,stderr, transitional: { 2026/02/03 15:00:52,stderr, config: { 2026/02/03 15:00:52,stderr," code: 'ECONNABORTED', " 2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.961] ERROR: [fileUtils] Failed to download file "/audiobooks/Christian/Absolute Surrender/cover" [AxiosError: timeout of 30000ms exceeded] { 2026/02/03 15:00:52,stderr,[2026-02-03 15:00:52.314] ERROR: [GoogleBooks] Volume search error timeout of 10000ms exceeded 2026/02/03 15:00:50,stderr,[2026-02-03 15:00:50.327] ERROR: OpenLib Search Error 404 2026/02/03 15:00:50,stderr,Failed timeout of 10000ms exceeded 2026/02/03 15:00:46,stderr,[2026-02-03 15:00:46.295] ERROR: [FantLab] search error timeout of 10000ms exceeded 2026/02/03 15:00:42,stderr,[2026-02-03 15:00:42.308] ERROR: [GoogleBooks] Volume search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.169] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.169] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.168] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.168] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.168] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.167] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.167] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.166] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.166] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.166] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.165] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.165] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.165] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.164] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.164] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.164] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.163] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.163] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.162] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.162] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.162] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.162] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.161] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.161] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.161] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.160] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.160] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.160] ERROR: [Audible] query search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.159] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.159] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.158] ERROR: [AudiobookCovers] Cover search error timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.158] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.158] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.157] ERROR: OpenLib Search Error 404 2026/02/03 15:00:06,stderr,Failed timeout of 10000ms exceeded 2026/02/03 15:00:06,stdout,[2026-02-03 15:00:06.153] INFO: [SocketAuthority] Cover search cover-search-1770152395733-aiaf7vys6 completed 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.152] WARN: [CoverSearchManager] Provider audible.es failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.149] WARN: [CoverSearchManager] Provider audible.in failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.147] WARN: [CoverSearchManager] Provider audible.it failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.145] WARN: [CoverSearchManager] Provider audible.jp failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.143] WARN: [CoverSearchManager] Provider audible.de failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.140] WARN: [CoverSearchManager] Provider audible.fr failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.137] WARN: [CoverSearchManager] Provider audible.au failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.135] WARN: [CoverSearchManager] Provider audible.uk failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.132] WARN: [CoverSearchManager] Provider audible.ca failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.129] WARN: [CoverSearchManager] Provider audible failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.125] WARN: [CoverSearchManager] Provider audiobookcovers failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.122] WARN: [CoverSearchManager] Provider fantlab failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.120] WARN: [CoverSearchManager] Provider openlibrary failed: Provider timeout 2026/02/03 15:00:06,stderr,[2026-02-03 15:00:06.033] WARN: [CoverSearchManager] Provider google failed: Provider timeout 2026/02/03 15:00:04,stdout,[2026-02-03 15:00:04.128] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:04,stdout,[2026-02-03 15:00:04.128] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:04,stderr,[2026-02-03 15:00:04.127] ERROR: [FantLab] search error connect ECONNREFUSED 0.0.0.0:443 2026/02/03 15:00:00,stdout,[2026-02-03 15:00:00.310] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=absolute+surrender" 2026/02/03 15:00:00,stdout,[2026-02-03 15:00:00.309] INFO: [Audnexus] Searching for author "https://api.audnex.us/authors?name=andrew+murray" 2026/02/03 15:00:00,stderr,[2026-02-03 15:00:00.306] ERROR: [GoogleBooks] Volume search error Request failed with status code 429 2026/02/03 14:59:56,stdout,} 2026/02/03 14:59:56,stdout, podcast: false 2026/02/03 14:59:56,stdout," provider: 'all', " 2026/02/03 14:59:56,stdout," author: 'Andrew Murray', " 2026/02/03 14:59:56,stdout," title: 'Absolute Surrender', " 2026/02/03 14:59:56,stdout,[2026-02-03 14:59:56.029] INFO: [CoverSearchManager] Starting search cover-search-1770152395733-aiaf7vys6 with params: { 2026/02/03 14:59:56,stdout,[2026-02-03 14:59:56.028] INFO: [SocketAuthority] User abadmin initiated cover search cover-search-1770152395733-aiaf7vys6 2026/02/03 14:59:51,stdout,[2026-02-03 14:59:51.603] INFO: [SocketAuthority] Socket Connected to /audiobookshelf/socket.io dNYktbVpfESBrVGSAAAB 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.617] INFO: [Watcher] "Audio Books" Ready 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.253] INFO: [Watcher] "Podcasts" Ready 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.154] INFO: Listening on port :80 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.140] INFO: [Watcher] Initializing watcher for "Podcasts". 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.137] INFO: [Watcher] Initializing watcher for "Audio Books". 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.105] INFO: [BackupManager] 2 Backups Found 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.034] INFO: [LogManager] Init current daily log filename: 2026-02-03.txt 2026/02/03 14:59:49,stdout,[2026-02-03 14:59:49.030] INFO: [Database] ANALYZE completed 2026/02/03 14:59:48,stdout,[2026-02-03 14:59:48.667] INFO: [Database] running ANALYZE 2026/02/03 14:59:48,stdout,"[2026-02-03 14:59:48.407] INFO: [Database] Db initialized with models: user, session, apiKey, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare " 2026/02/03 14:59:48,stdout,[2026-02-03 14:59:48.163] INFO: [MigrationManager] Database is already up to date. ``` ### Additional Notes Thank you for a great app and for all your hard work!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/audiobookshelf-advplyr#3218
No description provided.