JDSP4Linux icon indicating copy to clipboard operation
JDSP4Linux copied to clipboard

JamesDSP randomly crashes on Arch Linux

Open MNS26 opened this issue 3 years ago • 1 comments

I've been having this issue for some time now but when i asked one of my friends if they have it too they didnt...

JamesDSP can randomly crash out of nowhere when starting or stopping audio (or while playing sometimes)

the contents of the crash-prev.dmp(made it auto restart with systemd)

Caught SIGSEGV (11) in ???
Fault at memory location 0x0 due to address not mapped to object (1).
Thread 6538: jamesdsp
=== Context:
R8:b812d040 R9:400 R10:ac025c38 R11:b3ffe190 R12:b8136040 R13:b812d040 R14:0
R15:b813f080 RDI:0 RSI:0 RBP:b8174010 RBX:400 RDX:a0001b70 RAX:0 RCX:a0000b70
RSP:b3ffe940 RIP:9fd3f538 EFL:10246 CSGSFS:33 ERR:4 TRAPNO:e OLDMASK:0 CR2:0
=== Binary:
Compile date: Feb  4 2022 20:39:43
GNU version: 110100
=== Backtrace:
/usr/bin/jamesdsp[9f9fe000](+221a59)[9fc1fa59]
/usr/lib/libc.so.6[c4c69000](+3e8e0)[c4ca78e0]
/usr/bin/jamesdsp[9f9fe000](+341538)[9fd3f538]
/usr/bin/jamesdsp[9f9fe000](+174dba)[9fb72dba]
/usr/lib/libpipewire-0.3.so.0[c664b000](+50a99)[c669ba99]
/usr/lib/libpipewire-0.3.so.0[c664b000](+5f3a9)[c66aa3a9]
/usr/lib/libpipewire-0.3.so.0[c664b000](+62a6c)[c66ada6c]
/usr/lib/spa-0.2/support/libspa-support.so[b8d7a000](+6e3d)[b8d80e3d]
/usr/lib/libpipewire-0.3.so.0[c664b000](+3fdf7)[c668adf7]
/usr/lib/libc.so.6[c4c69000](+8c54d)[c4cf554d]
/usr/lib/libc.so.6[c4c69000](clone+44)[c4d7a874]
=== Code:
9fd3f4f8:  7c 1f 00 0f 82 df 00 00 00 48 8b bd 30 7c 1f 00 48 29 df 67 e8 4f f3 ff
9fd3f510:  ff 48 3d 80 00 00 00 76 07 48 89 9d 30 7c 1f 00 48 85 db 74 32 48 8b 8d
9fd3f528:  48 7c 1f 00 48 8b 95 50 7c 1f 00 31 c0 0f 1f 00>f3 41 0f 10 04 86 f3 0f
9fd3f540:  11 04 81 f3 41 0f 10 04 87 f3 0f 11 04 82 48 83 c0 01 48 39 c3 75 e1 80
9fd3f558:  7d 00 00 48 89 de 48 89 ef 74 6d 67 e8 87 f8 ff ff 48 89 ef 89 c6 49 89
9fd3f570:  f6 67 e8 29 f0 ff ff 48
=== Local backtrace:
0x0000000000221ce7: std::ctype<char>::do_widen(char) const at ??:?
0x000000000003e8e0: ?? ??:0
0x0000000000341538: std::ctype<char>::do_widen(char) const at ??:?
0x0000000000174dba: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at ??:?
0x0000000000050a99: ?? ??:0
0x000000000005f3a9: ?? ??:0
0x0000000000062a6c: ?? ??:0
0x0000000000006e3d: ?? ??:0
0x000000000003fdf7: ?? ??:0
0x000000000008c54d: ?? ??:0
0x0000000000111874: ?? ??:0
=== System:
Linux version 5.18.14-arch1-1 (linux@archlinux) (gcc (GCC) 12.1.0, GNU ld (GNU Binutils) 2.38) #1 SMP PREEMPT_DYNAMIC Sat, 23 Jul 2022 11:46:17 +0000
eb6e490980844dfe9eaa47311a2197c7
LSB Version:	n/a
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a

i installed the non git version in hopes of it solving this issue but sadly didnt help

MNS26 avatar Jul 30 '22 09:07 MNS26

just looked at other reports about crashing and basically all were playing audio via firefox.... could it be there is some kind of conflict?

MNS26 avatar Jul 30 '22 09:07 MNS26

I have the same problem... But, I dont use Firefox, it crashes randomly when other programs make a sound. Discord, Brave browser and pretty much anything can cause JamesDSP to crash, usually every 1-3 hours... Im on Arch buildt Garuda.

YakuZaan avatar Aug 16 '22 13:08 YakuZaan

I'm having the exactly sabe problem, did you find any solution? everything is up-to-date but the problem persist

denielton avatar Aug 24 '22 23:08 denielton

Unfortunately the same issue here on Arch Linux. Actually I was able to run jamesdsp succesfully only once after installation, after that it always crashes with SIGSEGV (11) on startup.

For the record, I don't even have Firefox installed, and for various reasons I'm currently stuck with kernel 5.16.14 on this old laptop.

Caught SIGSEGV (11) in ???
Fault at memory location 0x0 due to address not mapped to object (1).
Thread 4074: jamesdsp
=== Context:
R8:0 R9:0 R10:d0000b70 R11:1 R12:0 R13:0 R14:dc01ebe0 R15:dc02a6c0 RDI:e77fed50
RSI:0 RBP:e7607010 RBX:400 RDX:d0001b70 RAX:0 RCX:d0000b70 RSP:e7ffe980
RIP:d5b1d885 EFL:10246 CSGSFS:33 ERR:6 TRAPNO:e OLDMASK:0 CR2:0
=== Binary:
Compile date: Aug 23 2022 17:49:17
GNU version: 120200
=== Backtrace:
jamesdsp[d58e2000](+163df2)[d5a45df2]
/usr/lib/libc.so.6[3cd8000](+38a40)[3d10a40]
jamesdsp[d58e2000](+23b885)[d5b1d885]
jamesdsp[d58e2000](+dabee)[d59bcbee]
/usr/lib/libpipewire-0.3.so.0[56a0000](+50a99)[56f0a99]
/usr/lib/libpipewire-0.3.so.0[56a0000](+5f3a9)[56ff3a9]
/usr/lib/libpipewire-0.3.so.0[56a0000](+62a6c)[5702a6c]
/usr/lib/spa-0.2/support/libspa-support.so[eca98000](+6e3d)[eca9ee3d]
/usr/lib/libpipewire-0.3.so.0[56a0000](+3fdf7)[56dfdf7]
/usr/lib/libc.so.6[3cd8000](+8678d)[3d5e78d]
/usr/lib/libc.so.6[3cd8000](__clone+44)[3ddf8e4]
=== Code:
d5b1d845:  48 89 de 48 89 ef e8 e0 f5 ff ff 48 89 ef 89 c6 49 89 f6 e8 23 a2 ff ff
d5b1d85d:  48 89 da 44 89 f6 48 89 ef e8 85 f6 ff ff 48 85 db 74 30 48 8b 8d 48 7c
d5b1d875:  1f 00 48 8b 95 50 7c 1f 00 31 c0 f3 0f 10 04 81>f3 41 0f 11 04 84 f3 0f
d5b1d88d:  10 04 82 f3 41 0f 11 44 85 00 48 83 c0 01 48 39 c3 75 e0 48 83 c4 08 5b
d5b1d8a5:  5d 41 5c 41 5d 41 5e 41 5f c3 90 48 89 de 48 89 ef e8 c5 a1 ff ff eb ae
d5b1d8bd:  0f 1f 00 48 89 9d 30 7c
=== Local backtrace:
0x000000000016411e: ?? ??:0
0x0000000000038a40: ?? ??:0
0x000000000023b885: ?? ??:0
0x00000000000dabee: ?? ??:0
0x0000000000050a99: ?? ??:0
0x000000000005f3a9: ?? ??:0
0x0000000000062a6c: ?? ??:0
0x0000000000006e3d: ?? ??:0
0x000000000003fdf7: ?? ??:0
0x000000000008678d: ?? ??:0
0x00000000001078e4: ?? ??:0
=== System:
Linux version 5.16.14-arch1-2 (linux@archlinux) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0) #1 SMP PREEMPT Sun, 21 Aug 2022 19:29:52 +0000
075e3ebea1414522a78ee9a417ea69ae

cyberpunkrocker-zero avatar Aug 27 '22 13:08 cyberpunkrocker-zero

@denielt i did but its not a very elegant solution... i just made JamesDSP into a service that would restart whenever it stopped (can be a crash or just closing it)

MNS26 avatar Aug 28 '22 10:08 MNS26

I don't have any crash on git. Only problem when jamesdsp stops play audio after laptop sleep and audio clicks when new stream starts play.

goosesima avatar Aug 31 '22 13:08 goosesima

Can someone else try to compile JDSP from git to double-check whether the latest version from git fixes this issue? The stable version (including the one on the AUR) is currently pretty old and doesn't include a few bug fixes.

Manually compiling the app also adds debug symbols to the crash dumps, so I can properly read them if you should still encounter crashes.

timschneeb avatar Sep 02 '22 09:09 timschneeb

@ThePBone Oh, yes, the git version seems to work better, or, at least it doesn't crash straight away like the non-git version did. Will continue testing. (FYI Arch users, there's a 'jamesdsp-git' version on AUR, too)

cyberpunkrocker-zero avatar Sep 02 '22 11:09 cyberpunkrocker-zero

@ThePBone Oh, yes, the git version seems to work better, or, at least it doesn't crash straight away like the non-git version did. Will continue testing. (FYI Arch users, there's a 'jamesdsp-git' version on AUR, too)

ive been using that one for a long time and it seems to be behaving in the passed it also liked to break/crash but for now it seems fine

MNS26 avatar Sep 05 '22 07:09 MNS26

for anyone having issues with JamesDSP crashing... one way to fix it (tho not the cleanest/most elegant way) is to make it a systemd (if your using systemd) service

the service file i use

[Unit]
Description=JamesDSP Audio manager
After=pipewire.service

[Service]
Type=simple
#RemainAfterExit=true #doesnt do anything
ExecStart=/usr/bin/jamesdsp
RestartSec=1
Restart=always
#Restart=on-failure


[Install]
WantedBy=default.target

I am running it as a user service instead of root (dont know why you would even want it as root) located at /etc/systemd/user/JamesDSP.service

all you need to do then is reload your user daemons (systemctl --user daemon-reload) enable it (systemctl --user enable JamesDSP) start it (systemctl --user start JamesDSP) then check if its active and running (systemctl --user status JamesDSP) image

MNS26 avatar Sep 05 '22 08:09 MNS26

when using the Restart=always option it will always keep James running, even when manually quitting it will just relaunch... If you want it to only restart on failure you should use Restart=on-failure instead

MNS26 avatar Sep 05 '22 08:09 MNS26

i will close this issue for now because it seems the git version more stable and there is a workaround for crashes

MNS26 avatar Sep 05 '22 08:09 MNS26