The return of threading errors in ogg123

Adriaan de Groot adridg at cs.kun.nl
Tue Feb 24 12:11:42 PST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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.


- -- 
pub  1024D/FEA2A3FE 2002-06-18 Adriaan de Groot <groot at kde.org>
                     Would you like a freem?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFAO6/7dqzuAf6io/4RAumYAJ9+2AblgDOTXG6x1yC9ZH2UJEqvzgCglwiv
illIjGyTEEG0FzCtx6WWGrw=
=yCGZ
-----END PGP SIGNATURE-----


More information about the freebsd-amd64 mailing list