Bug 3427

Summary: sometimes hangs xmms on exit
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: xmms-out-crossfadeAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael Shigorin 2004-01-04 20:19:39 MSK
With crossfade+alsa, xmms-1.2.8 would constantly segfault and *sometimes* hang
on exit with *some* of the threads having finished and some more still alive,
like this:

~> /sbin/pidof xmms
16337 16336 16293 16292

Only one thread does something interesting then:

~> strace -p 16336
Process 16336 attached - interrupt to quit
close(11)                               = 0
close(12)                               = 0
shmget(1025, 65536, IPC_CREAT|0666)     = 2010873869
shmat(2010873869, 0, 0)                 = 0x40012000
mlock(0x40012000, 65536)                = -1 EPERM (Operation not permitted)
shmdt(0x40012000)                       = 0
shmctl(2010873869, IPC_64|IPC_STAT, 0xbf3fef4c) = 0
unlink("/tmp/alsa-dmix-16333-1073234389-218308") = 0
shmdt(0x4107a000)                       = 0
shmctl(2010808332, IPC_64|IPC_STAT, 0xbf3fef4c) = 0
semctl(393217, 0, IPC_RMID, 0xbf3fef58) = 0
_exit(0)                                = ?
Process 16336 detached

Tested with xmms-1.2.8-alt3 + xmms-out-alsa-1.2.8-alt3 +
xmms-out-crossfade-0.3.4-alt2; there's dmix setup in ~/.asound but removing the
file (with xmms restart) doesn't change the usual situation much.  Maybe it's
more racey though...

Plain OSS, plain ALSA, CF + builtin OSS, CF + OSS plugin all work just fine, but
CF + ALSA plugin misbehaves.
Comment 1 Michael Shigorin 2004-01-04 20:22:37 MSK
2.4.2x / 2.6.0 -- all the same, btw.
Comment 2 Michael Shigorin 2004-01-05 00:59:35 MSK
Hah!  corssfade's author fixed that with a one-liner :-)

1.2.8-alt4 on its way to Sisyphus.
Comment 3 Sergey Vlasov 2004-06-10 19:15:33 MSD
Broken again with xmms-1.2.10-alt2, xmms-out-crossfade-0.3.4-alt2,
xmms-out-alsa-1.2.10-alt2.

With crossfade+alsa, when exiting xmms without stopping the playback, xmms hangs
on exit:

$ pidof xmms
19231 19223 19222

$ strace -p 19223
Process 19223 attached - interrupt to quit
getppid()                               = 19222
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid()                               = 19222
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid()                               = 19222
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid()                               = 19222
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid()                               = 19222
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid()                               = 19222
poll( <unfinished ...>
Process 19223 detached

With both CF + OSS plugin and CF + builtin OSS in the same situation xmms segfaults.
Comment 4 Michael Shigorin 2005-08-30 02:15:10 MSD
what's with 1.2.10-alt7?
Comment 5 Michael Shigorin 2006-01-25 11:21:25 MSK
То ли было от чего другого, то ли полечилось -- уже не наблюдаю.
Заодно сейчас займусь 0.3.10.