[PD] glibc pthread_join freezing on sarge using PD/pdp/Gem software

B. Bogart ben at ekran.org
Sun Sep 18 20:13:33 CEST 2005


Hello all,

Sorry for the cross-posting.

I'm running a stock sarge machine with the 32bit 2.6.8 kernel on a AMD64
3200+ machine. I'm using some unstable and demudi packages for media
applications, in particular pure-data (PD).

Problem I'm having is that PD crashes when I try and use v4l2.  Actually
there is no fault, but PD hangs. I traced it down to the use of
pthread_join() which is where the code hangs. (I've been doing a
backtrace after manually killing the application)

I tried upgrading my libc6 2.3.2.ds1-22.d to 2.3.5 and am still getting
the same crash. Here are a couple examples of traces:

(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x40128f18 in pthread_join () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x44bd97bd in videoV4L::stopTransfer () from
/usr/lib/pd/extra/Gem.pd_linux
#3  0x44bd504c in pix_videoNEW::stopRendering ()
      from /usr/lib/pd/extra/Gem.pd_linux
#4  0x44b0111e in GemBase::gem_startstopMess ()
      from /usr/lib/pd/extra/Gem.pd_linux
#5  0x44b01382 in GemBase::gem_MessCallback ()
      from /usr/lib/pd/extra/Gem.pd_linux
#6  0x0809ba47 in pd_typedmess ()
#7  0x00000000 in ?? ()

(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x40128f18 in pthread_join () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x42a86440 in pdp_sdl_setup () from /usr/lib/pd/extra/pdp.pd_linux

Gem.pd_linux & pdp.pd_linux are libs loaded into PD. I have recompiled
Gem.pd_linux from source and it still crashes.

Possible issues:

PD is from the demudi (stable) package
Gem is compiled from source
PDP is from the demudi (stable) package

The crash still happens on libc6 2.3.2, and 2.3.5

If this crash is caused because the packages were compiled against a
different version of libc6 I tried to compile PD from source as well.

So with Gem compiled from source and PD compiled from source (both
against libc6 2.3.5) I still get the crash. No other libs are noted in
the backtrace, could one of the other libs actually be the cause? Gem
links with libmpeg3,libmpeg,aviplay,ffmpeg etc.. But I don't see any
calls to these in the trace...

So to recap, PD and Gem are recompiled from source against my libc6
2.3.5 (unstable) pthread_join() still crashes, only these two packages
are in the trace... So what is causing the crash?

Any suggestions, especially for debugging beyond the gdb backtrace,
would be greatly appreciated. I've read of some people have issues with
AMD64 and pthreads, but those seemed to get resolved by upgrading to
libc6 2.3.5.

So what should I do to try and solve this?
Are there known bugs with my configuration and pthreads?

I'm doing an art installation on this machine in just weeks so I really
need to get it working or I'll have to resort to dropping linux and
going to an OS X machine. :(

Thanks all for your time and attention.

B.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20050918/5e99d7f7/attachment.pgp>


More information about the Pd-list mailing list