The return of threading errors in ogg123
Peter Wemm
peter at wemm.org
Sat Mar 13 13:39:35 PST 2004
On Tuesday 24 February 2004 12:11 pm, Adriaan de Groot wrote:
> On Wednesday 18 February 2004 12:30, Adriaan de Groot wrote:
> > libc_r seems solid as a rock; libpthread can play ok for a while
> > but seems to bail as soon as there is some load on the system.
> > libpth doesn't work at all, missing a pthread_push_create symbol.
> > Any gdb trickery I can use on the core files to get more useful
> > information out of them over the short bt?
>
> ogg123 with libc_r played 1500 tracks without a hitch (all ripped
> from the CDs off my self, thanks); with libpthread (ie. kse) it takes
> a little prodding, but then it dumps core:
>
> Playing: TomCochrane/02-LoveUnderFire.ogg
> Ogg Vorbis stream: 2 channel, 44100 Hz
> Title: Love Under Fire
> Artist: Tom Cochrane
> Bus error (core dumped)5] of 04:48.17 (119.7 kbps) Output Buffer
> 96.9%
>
> (still with the same FreeBSD beans.ebn.kun.nl 5.2-CURRENT FreeBSD
> 5.2-CURRENT #0: Mon Feb 16 08:12:04 CET 2004
> root at beans.ebn.kun.nl:/usr/obj/mnt/sys/CURRENT/src/sys/GENERIC amd64
> )
>
>
> It crashes here:
>
> #0 0x0000000200f19320 in pthread_testcancel () from
> /usr/lib/libpthread.so.1
>
> with this disassembly:
>
> 0x0000000200f19307 <pthread_testcancel+2735>: nop
> 0x0000000200f19308 <pthread_testcancel+2736>: mov
> 1085185(%rip),%rcx # 0x201022210
> 0x0000000200f1930f <pthread_testcancel+2743>: jmpq *%ecx
> 0x0000000200f19311 <pthread_testcancel+2745>: nop
> 0x0000000200f19312 <pthread_testcancel+2746>: nop
> 0x0000000200f19313 <pthread_testcancel+2747>: nop
> 0x0000000200f19314 <pthread_testcancel+2748>: mov $0x17e,%rax
> 0x0000000200f1931b <pthread_testcancel+2755>: mov %rcx,%r10
> 0x0000000200f1931e <pthread_testcancel+2758>: syscall
> 0x0000000200f19320 <pthread_testcancel+2760>: jb 0x200f19308
> <pthread_testcancel+2736>
> 0x0000000200f19322 <pthread_testcancel+2762>: retq
> 0x0000000200f19323 <pthread_testcancel+2763>: nop
> 0x0000000200f19324 <pthread_testcancel+2764>: mov
> 1085157(%rip),%rcx
>
>
> Not a place that looks like erroring. However:
>
> (gdb) print $rsp
> $1 = (void *) 0x51eeb8
> (gdb) print $rbp
> $2 = (void *) 0x51ef80
>
> looks like the stack-16-alignment has gotten broken again somewhere.
Are you still having problems with this? I've been trying to reproduce
it for a while, but I'm having no success. I figure the best way to
make sure I can see it in action is to make a post saying I can't
reproduce it. :-)
I'm using SCHED_ULE fwiw.
--
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
More information about the freebsd-amd64
mailing list