[Bug]: Tone error #670

Closed
opened 2026-04-24 23:16:37 +02:00 by adam · 10 comments
Owner

Originally created by @garlik82 on GitHub (Oct 3, 2022).

Describe the issue

When embedding metadata tone errors out.

[2022-10-02 23:47:39] DEBUG: [AudioMetadataManager] Backed up audio file at "/metadata/cache/items/li_nn8ilhy8t95jpe0ltx/The Terminal List - A Thriller.m4b"
[2022-10-02 23:47:39] ERROR: [toneHelpers] tagAudioFile: Failed for "/audiobooks/Jack Carr/The Terminal List - A Thriller/The Terminal List - A Thriller.m4b" Error: spawn Unknown system error -8
at ChildProcess.spawn (node:internal/child_process:413:11)
at spawn (node:child_process:713:9)
at /node_modules/node-tone/lib/tone.js:6:18
at new Promise ()
at run (/node_modules/node-tone/lib/tone.js:5:10)
at Object.module.exports.tag (/node_modules/node-tone/lib/tone.js:37:10)
at Object.module.exports.tagAudioFile (/server/utils/toneHelpers.js:76:15)
at AudioMetadataMangaer.updateAudioFileMetadataWithTone (/server/managers/AudioMetadataManager.js:100:47)
at async AudioMetadataMangaer.updateMetadataForItemWithTone (/server/managers/AudioMetadataManager.js:65:22) {

errno: -8,
code: 'Unknown system error -8',
syscall: 'spawn'
}

Running tone --help using the container terminal I get:
/usr/local/bin/tone: line 3: syntax error: unexpected word (expecting ")")

Steps to reproduce the issue

  1. Embedding metadata running docker container arm64.

Audiobookshelf version

v2.2.0

How are you running audiobookshelf?

Docker

Originally created by @garlik82 on GitHub (Oct 3, 2022). ### Describe the issue When embedding metadata tone errors out. [2022-10-02 23:47:39] DEBUG: [AudioMetadataManager] Backed up audio file at "/metadata/cache/items/li_nn8ilhy8t95jpe0ltx/The Terminal List - A Thriller.m4b" [2022-10-02 23:47:39] ERROR: [toneHelpers] tagAudioFile: Failed for "/audiobooks/Jack Carr/The Terminal List - A Thriller/The Terminal List - A Thriller.m4b" Error: spawn Unknown system error -8 at ChildProcess.spawn (node:internal/child_process:413:11) at spawn (node:child_process:713:9) at /node_modules/node-tone/lib/tone.js:6:18 at new Promise (<anonymous>) at run (/node_modules/node-tone/lib/tone.js:5:10) at Object.module.exports.tag (/node_modules/node-tone/lib/tone.js:37:10) at Object.module.exports.tagAudioFile (/server/utils/toneHelpers.js:76:15) at AudioMetadataMangaer.updateAudioFileMetadataWithTone (/server/managers/AudioMetadataManager.js:100:47) at async AudioMetadataMangaer.updateMetadataForItemWithTone (/server/managers/AudioMetadataManager.js:65:22) {  errno: -8, code: 'Unknown system error -8', syscall: 'spawn' } Running tone --help using the container terminal I get: /usr/local/bin/tone: line 3: syntax error: unexpected word (expecting ")") ### Steps to reproduce the issue 1. Embedding metadata running docker container arm64. ### Audiobookshelf version v2.2.0 ### How are you running audiobookshelf? Docker
adam added the bug label 2026-04-24 23:16:37 +02:00
adam closed this issue 2026-04-24 23:16:37 +02:00
Author
Owner

@advplyr commented on GitHub (Oct 5, 2022):

Is this happening with multiple audiobooks you tried?
Have you also tested with any mp3 files?

@advplyr commented on GitHub (Oct 5, 2022): Is this happening with multiple audiobooks you tried? Have you also tested with any mp3 files?
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

I tried a couple of audiobooks all in m4b format. I can try an mp3 and report back.

@garlik82 commented on GitHub (Oct 5, 2022): I tried a couple of audiobooks all in m4b format. I can try an mp3 and report back.
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

Same error with mp3 files.

@garlik82 commented on GitHub (Oct 5, 2022): Same error with mp3 files.
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

Ran readelf -l /usr/local/bin/tone and [Requesting program interpreter: /lib/ld-musl-x86_64.so.1] shows up. should be requesting /lib/ld-musl-aarch64.so.1 I think.

@garlik82 commented on GitHub (Oct 5, 2022): Ran readelf -l /usr/local/bin/tone and [Requesting program interpreter: /lib/ld-musl-x86_64.so.1] shows up. should be requesting /lib/ld-musl-aarch64.so.1 I think.
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

I compiled tone for linux-arm64 and now I get this error:

[2022-10-04 23:09:04] DEBUG: [AudioMetadataManager] Backed up audio file at "/metadata/cache/items/li_3xo90jojdykheq54ao/1Q84.m4b"
[2022-10-04 23:09:04] ERROR: [toneHelpers] tagAudioFile: Failed for "/audiobooks/Haruki Murakami/1Q84/1Q84.m4b" Error: spawn tone ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:478:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {

errno: -2,
code: 'ENOENT',
syscall: 'spawn tone',
path: 'tone',

@garlik82 commented on GitHub (Oct 5, 2022): I compiled tone for linux-arm64 and now I get this error: [2022-10-04 23:09:04] DEBUG: [AudioMetadataManager] Backed up audio file at "/metadata/cache/items/li_3xo90jojdykheq54ao/1Q84.m4b" [2022-10-04 23:09:04] ERROR: [toneHelpers] tagAudioFile: Failed for "/audiobooks/Haruki Murakami/1Q84/1Q84.m4b" Error: spawn tone ENOENT at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19) at onErrorNT (node:internal/child_process:478:16) at processTicksAndRejections (node:internal/process/task_queues:83:21) {  errno: -2, code: 'ENOENT', syscall: 'spawn tone', path: 'tone',
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

It's a problem with the C libraries that alpine arm64 uses. I don't know much about these things but from what I could figure out it has something to do with glibc and musl. the arm64 tone is compiled using one and alpine arm64 uses the other.

@garlik82 commented on GitHub (Oct 5, 2022): It's a problem with the C libraries that alpine arm64 uses. I don't know much about these things but from what I could figure out it has something to do with glibc and musl. the arm64 tone is compiled using one and alpine arm64 uses the other.
Author
Owner

@garlik82 commented on GitHub (Oct 5, 2022):

@advplyr posted an issue in tone: https://github.com/sandreas/tone/issues/31.
If you need the arm64 tone binary I have it compiled and working in alpine.

@garlik82 commented on GitHub (Oct 5, 2022): @advplyr posted an issue in tone: https://github.com/sandreas/tone/issues/31. If you need the arm64 tone binary I have it compiled and working in alpine.
Author
Owner

@advplyr commented on GitHub (Oct 7, 2022):

Thanks for tracking this down. It'll probably make the most sense to wait for the next release of tone instead of doing a new multi-arch docker build.

@advplyr commented on GitHub (Oct 7, 2022): Thanks for tracking this down. It'll probably make the most sense to wait for the next release of tone instead of doing a new multi-arch docker build.
Author
Owner

@garlik82 commented on GitHub (Oct 8, 2022):

Gonna go ahead and close this since it is resolved.

@garlik82 commented on GitHub (Oct 8, 2022): Gonna go ahead and close this since it is resolved.
Author
Owner

@sandreas commented on GitHub (Oct 9, 2022):

Great Job @garlik82 !

@sandreas commented on GitHub (Oct 9, 2022): Great Job @garlik82 !
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#670