openNDS - Segfault When Running as a Service on OpenWrt 24.10 (x86)

I'm experiencing a segmentation fault when running openNDS 10.3.0 as a service on OpenWrt 24.10 (x86, squashfs). However, when I run it manually using /usr/bin/opennds -f, it starts and works without issues.

Error Log (when running as a service):

Tue Feb 25 20:54:31 2025 daemon.info opennds[6494]: openNDS Version 10.3.0 is in startup - Please wait....
Tue Feb 25 20:54:31 2025 kern.info kernel: [   39.735229] opennds[6494]: segfault at b7ff5000 ip 0805658f sp bfaee250 error 4 in opennds[804a000+11000] likely on CPU 0 (core 0, socket 0)
Tue Feb 25 20:54:31 2025 kern.info kernel: [   39.737646] Code: 5b 5e 5f 5d c3 55 89 e5 57 56 53 83 ec 1c 31 ff 31 f6 3b 75 14 0f 8d a1 00 00 00 3b 7d 0c 0f 8d 98 00 00 00 89 75 e4 8b 45 10 <8a> 1c 30 80 fb 25 75 7d 83 c6 02 3b 75 14 0f 8d 92 00 00 00 8b 4d

When Running Manually (/usr/bin/opennds -f):

openNDS Version 10.3.0 is in startup - Please wait....
donedonedone

It seems like there's an issue when openNDS runs as a service but not when executed manually. Any ideas on how to fix this?

As a temporary workaround, I added the following command to /etc/rc.local to start openNDS inside a screen session:

screen -dmS opennds /usr/bin/opennds -f

This allows openNDS to run at startup without crashing, but it's not an ideal solution. However, I would prefer a proper solution to fix the issue when running openNDS as a service. Any suggestions?

1 Like