Crash: Server Crashed on Unraid #20

Closed
opened 2026-04-24 22:56:33 +02:00 by adam · 6 comments
Owner

Originally created by @Budlyte on GitHub (Sep 17, 2021).

OS: Unraid
Install: Docker
ABS v1.1.10

I tried to login today and found the server down. It looks like Audiobookshelf has NPM packaged in the container.

This is everything in my logs, after which I had tried to batch update my entire library hours before so I don't think any of it applies and some of that may be in here.

/node_modules/proper-lockfile/lib/lockfile.js:213
onCompromised: (err) => { throw err; },
^

[Error: ENOENT: no such file or directory, stat '/config/audiobooks/data/data.2.json.lock'] {

errno: -2,
code: 'ECOMPROMISED',
syscall: 'stat',
path: '/config/audiobooks/data/data.2.json.lock'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! audiobookshelf@1.1.10 start: `node index.js`
npm ERR! Exit status 1


npm ERR! Failed at the audiobookshelf@1.1.10 start script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-09-17T01_47_53_048Z-debug.log
Originally created by @Budlyte on GitHub (Sep 17, 2021). OS: Unraid Install: Docker ABS v1.1.10 I tried to login today and found the server down. It looks like Audiobookshelf has NPM packaged in the container. This is everything in my logs, after which I had tried to batch update my entire library hours before so I don't think any of it applies and some of that may be in here. ``` /node_modules/proper-lockfile/lib/lockfile.js:213 onCompromised: (err) => { throw err; }, ^ [Error: ENOENT: no such file or directory, stat '/config/audiobooks/data/data.2.json.lock'] { errno: -2, code: 'ECOMPROMISED', syscall: 'stat', path: '/config/audiobooks/data/data.2.json.lock' } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! audiobookshelf@1.1.10 start: `node index.js` npm ERR! Exit status 1 npm ERR! Failed at the audiobookshelf@1.1.10 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-09-17T01_47_53_048Z-debug.log ```
adam closed this issue 2026-04-24 22:56:33 +02:00
Author
Owner

@Budlyte commented on GitHub (Sep 17, 2021):

Just did a library scan, fixing some book ordering, and then attempted a batch update of 3 books and it did a thing then locked up.

Unraid logs are full of the duplicate track number error and then running out of memory.

[2021-09-17T15:43:18.074Z] ERROR: [AudioFileScanner] Duplicate track number for The Long Earth - Book 1 - The Long Earth (20).mp3

[2021-09-17T15:43:18.086Z] ERROR: [AudioFileScanner] Duplicate track number for Magician's End.mp3

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory


<--- Last few GCs --->

[25:0x5655052baec0] 4078599 ms: Scavenge 1265.7 (1328.6) -> 1265.7 (1328.6) MB, 26.3 / 0.0 ms (average mu = 0.999, current mu = 0.999) allocation failure
[25:0x5655052baec0] 4079075 ms: Mark-sweep 1839.5 (1902.4) -> 1817.5 (1881.4) MB, 210.6 / 0.1 ms (+ 1.1 ms in 9 steps since start of marking, biggest step 0.4 ms, walltime since start of marking 1034 ms) (average mu = 0.979, current mu = 0.880) allocati

<--- JS stacktrace --->

==== JS stack trace =========================================

0: ExitFrame [pc: 0x565503d80039]
Security context: 0x0b3a2fbc08d1 <JSObject>
1: checkUpdateMissingParts [0x38c0ec3fffa1] [/server/objects/Audiobook.js:~318] [pc=0x3a463a753c9d](this=0x17edb83f8171 <Audiobook map = 0x9de2ad29b59>)
2: scanAudiobookData [0x1b2a90917d69] [/server/Scanner.js:166] [bytecode=0x3face71c92c9 offset=1497](this=0x38c0ec3fd6d1 <Scanner map = 0xa54b406d079>,0x008e8407ffb9 <Object map = 0x9de2ad2f289>)
@Budlyte commented on GitHub (Sep 17, 2021): Just did a library scan, fixing some book ordering, and then attempted a batch update of 3 books and it did a thing then locked up. Unraid logs are full of the duplicate track number error and then running out of memory. ``` [2021-09-17T15:43:18.074Z] ERROR: [AudioFileScanner] Duplicate track number for The Long Earth - Book 1 - The Long Earth (20).mp3 [2021-09-17T15:43:18.086Z] ERROR: [AudioFileScanner] Duplicate track number for Magician's End.mp3 FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory <--- Last few GCs ---> [25:0x5655052baec0] 4078599 ms: Scavenge 1265.7 (1328.6) -> 1265.7 (1328.6) MB, 26.3 / 0.0 ms (average mu = 0.999, current mu = 0.999) allocation failure [25:0x5655052baec0] 4079075 ms: Mark-sweep 1839.5 (1902.4) -> 1817.5 (1881.4) MB, 210.6 / 0.1 ms (+ 1.1 ms in 9 steps since start of marking, biggest step 0.4 ms, walltime since start of marking 1034 ms) (average mu = 0.979, current mu = 0.880) allocati <--- JS stacktrace ---> ==== JS stack trace ========================================= 0: ExitFrame [pc: 0x565503d80039] Security context: 0x0b3a2fbc08d1 <JSObject> 1: checkUpdateMissingParts [0x38c0ec3fffa1] [/server/objects/Audiobook.js:~318] [pc=0x3a463a753c9d](this=0x17edb83f8171 <Audiobook map = 0x9de2ad29b59>) 2: scanAudiobookData [0x1b2a90917d69] [/server/Scanner.js:166] [bytecode=0x3face71c92c9 offset=1497](this=0x38c0ec3fd6d1 <Scanner map = 0xa54b406d079>,0x008e8407ffb9 <Object map = 0x9de2ad2f289>) ```
Author
Owner

@advplyr commented on GitHub (Sep 17, 2021):

I know where the lockfile issue is coming from, but I'm lost on the memory issue.

You submitted a batch update and the server crashed?

Do you have an audiofile that has a large number in the filename by any chance?

@advplyr commented on GitHub (Sep 17, 2021): I know where the lockfile issue is coming from, but I'm lost on the memory issue. You submitted a batch update and the server crashed? Do you have an audiofile that has a large number in the filename by any chance?
Author
Owner

@Budlyte commented on GitHub (Sep 17, 2021):

I'm going to leave this until I can duplicate again and hopefully get more logs out of it. I've got a command now to pipe out unraid logs to a file, because the window for the container didn't retain enough to get any more useful info.

@Budlyte commented on GitHub (Sep 17, 2021): I'm going to leave this until I can duplicate again and hopefully get more logs out of it. I've got a command now to pipe out unraid logs to a file, because the window for the container didn't retain enough to get any more useful info.
Author
Owner

@advplyr commented on GitHub (Sep 17, 2021):

Perhaps the duplicate track errors need to be condensed to a single error.

@advplyr commented on GitHub (Sep 17, 2021): Perhaps the duplicate track errors need to be condensed to a single error.
Author
Owner

@advplyr commented on GitHub (Sep 18, 2021):

In v1.1.12 I did end up consolidating those duplicate track errors into a single log, also changed it to a warning since it isn't really an error.

@advplyr commented on GitHub (Sep 18, 2021): In `v1.1.12` I did end up consolidating those duplicate track errors into a single log, also changed it to a warning since it isn't really an error.
Author
Owner

@Budlyte commented on GitHub (Sep 18, 2021):

Coolness.

I'm going to close this one for now, I'll just post back to it if the crash happens again, hopefully with more logs.

@Budlyte commented on GitHub (Sep 18, 2021): Coolness. I'm going to close this one for now, I'll just post back to it if the crash happens again, hopefully with more logs.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#20