simojenki / bonob

sonos SMAPI implementation allowing integrating different music sources with sonos.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bonob exited with code 132

madgoose opened this issue · comments

Hi,

I'm using docker-compose to create a navidrome + bonob stack, on Ubuntu 22.04.2 LTS, running via LiveUSB on an old NAS box which has a Intel® Atom™ D525 1.8GHz dual core processor.

The Navidrome part runs okay but the console also displays
bonob exited with code 132
A quick search online suggests code 132 is related to cpu architecture. I vaguely recall some unrelated hardware issue I had at some point in the past and maybe that specific Atom processor isn't capable of 64 bit 🤷‍♂️

I added this to the docker-compose.yml file but it hasn't made a difference:

bonob:
    image: simojenki/bonob:latest
    platform: linux/amd64

I'm inclined to accept defeat and upgrade my 10+ year old hardware but just wanted a second opinion before opening my wallet…

It's interesting as the Atom D525 is a 64 bit chip; https://ark.intel.com/content/www/us/en/ark/products/49490/intel-atom-processor-d525-1m-cache-1-80-ghz.html

Perhaps that's not enough to run an amd64 image?

Yeh, on paper it looks it should work. And even lscpu

Architecture:           x86_64
  CPU op-mode(s):       32-bit, 64-bit
  Address sizes:        36 bits physical, 48 bits virtual
  Byte Order:           Little Endian
CPU(s):                 4
  On-line CPU(s) list:  0-3
Vendor ID:              GenuineIntel
  Model name:           Intel(R) Atom(TM) CPU D525   @ 1.80GHz
    CPU family:         6
    Model:              28
    Thread(s) per core: 2
    Core(s) per socket: 2
    Socket(s):          1
    Stepping:           10
    BogoMIPS:           3590.73

I found this on stack overflow, but have no idea how to apply the concept to your docker image.
edit: this is day 2 in my journey with using docker 😂

To solve the problem, run an image built to support amd64 and not amd64-avx this may mean you have to run an earlier version.
A good example of this is the mongodb docker images, the latest version supports amd64-avx and will refuse to run on CPUs that don't support avx and exist with error code 132.
https://stackoverflow.com/questions/60930359/docker-containers-exit-code-132#:~:text=To%20solve%20the%20problem%2C%20run,exist%20with%20error%20code%20132.

I can't find any evidence in my browser history but I think it was some minor detail of different batches of the chipset…

I see, so not all amd64 are equal.

I'll try build an i386 image perhaps 32bit will work.

I have no idea how complex or time-consuming that would be, but if you're happy to do so, I would be eternally grateful ^_^

Unfortunately that is not going to work as there is no 32 bit node binary or image to use.

oh well… thank you for investigating this further 🙂 looks like I need to go shopping for a new home server 😆

It will run on a raspberry pi so you could try using one of those before shelling out for an entire new nas... unless of course this is a good excuse...

but will it run on a raspberry pi 1 model B? as that's what I've got in the cupboard 😬
…so I just ordered a raspberry pi 4 instead, which I reckon will be sufficient to run a dedicated music server. not sure what I will use for data storage yet but that's all part of the fun 🤣

Could mount the storage on your existing d525 over nfs?
Alternatively if you can get navidrome running on the d525 you could run bonob on the RPi and point it at navidrome on the d525?