[osg-users] Recurse on a private mutex (FreeBSD)
Occurs on OSG 2.x on FreeBSD 6.2. Definitely a FreeBSD-specific problem. Already tried single-threading. Fatal error 'Recurse on a private mutex.' at line 986 in file /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) Abort trap: 6 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
HI Jim, Could you provide a stack trace and a few more details about when and where this problems occurs i.e. which examples and data etc. Robert. On Jan 26, 2008 3:52 AM, Jim Brooks <[EMAIL PROTECTED]> wrote: > Occurs on OSG 2.x on FreeBSD 6.2. > Definitely a FreeBSD-specific problem. > Already tried single-threading. > > Fatal error 'Recurse on a private mutex.' at line 986 > in file /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) > Abort trap: 6 > ___ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
>Could you provide a stack trace and a few more details about when and >where this problems occurs i.e. which examples and data etc. Hi Robert, abort() was called in pthreads before main() was ever reached. Happens on two different OSG programs (run fine on Linux/Mac/M$). OSG 1.2 runs fine on the same FreeBSD system. [New LWP 100101] [New Thread 0x80ae000 (LWP 100134)] Fatal error 'Recurse on a private mutex.' at line 986 in file /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) [New Thread 0x80ae200 (LWP 100132)] Program received signal SIGABRT, Aborted. [Switching to Thread 0x80ae200 (LWP 100132)] 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 (gdb) bt #0 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 #1 0x288f5c01 in sigaction () from /lib/libpthread.so.2 #2 0x288f5eed in sigaction () from /lib/libpthread.so.2 #3 0x288f66cc in sigaction () from /lib/libpthread.so.2 #4 0x288f6878 in sigaction () from /lib/libpthread.so.2 #5 0x28900ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2 #6 0x294b0470 in ?? () ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
Hi Jim, Unfortunately the stack trace doesn't tell us much beyond its something related to pthreads, it could be a bug in pthreads itself, a bug in OpenThreads, or a bug in OSG but we so far have absolutely no way of telling. You'll need to try and isolate the failure condition from the top level - by starting off with basic examples that do very little to see if they crash then build up to examples that are known to crash. The most stripped down example will be osgversion, then osgconv, then moving up to osgviewer. Could you try these are report back what happens. BTW, your the first person to report this problem, so either there is something particular about your system or the way you are using it, or no one else has yet compiled 2.x under FreeBSD. Perhaps if others are working under FreeBSD then can come forward with there experiences to see if there is any pattern to this problem. Robert. On Jan 26, 2008 9:30 PM, Jim Brooks <[EMAIL PROTECTED]> wrote: > >Could you provide a stack trace and a few more details about when and > >where this problems occurs i.e. which examples and data etc. > > Hi Robert, > > abort() was called in pthreads before main() was ever reached. > Happens on two different OSG programs (run fine on Linux/Mac/M$). > OSG 1.2 runs fine on the same FreeBSD system. > > [New LWP 100101] > [New Thread 0x80ae000 (LWP 100134)] > Fatal error 'Recurse on a private mutex.' at line 986 in file > /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) > [New Thread 0x80ae200 (LWP 100132)] > > Program received signal SIGABRT, Aborted. > [Switching to Thread 0x80ae200 (LWP 100132)] > 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 > (gdb) bt > #0 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 > #1 0x288f5c01 in sigaction () from /lib/libpthread.so.2 > #2 0x288f5eed in sigaction () from /lib/libpthread.so.2 > #3 0x288f66cc in sigaction () from /lib/libpthread.so.2 > #4 0x288f6878 in sigaction () from /lib/libpthread.so.2 > #5 0x28900ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2 > #6 0x294b0470 in ?? () > > ___ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
-Original Message- From: Jim Brooks <[EMAIL PROTECTED]> Sent: Saturday, January 26, 2008 4:30 PM To: osg-users@lists.openscenegraph.org Subject: Re: [osg-users] Recurse on a private mutex (FreeBSD) >Could you provide a stack trace and a few more details about when and >where this problems occurs i.e. which examples and data etc. Hi Robert, abort() was called in pthreads before main() was ever reached. Happens on two different OSG programs (run fine on Linux/Mac/M$). OSG 1.2 runs fine on the same FreeBSD system. [New LWP 100101] [New Thread 0x80ae000 (LWP 100134)] Fatal error 'Recurse on a private mutex.' at line 986 in file /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) [New Thread 0x80ae200 (LWP 100132)] Program received signal SIGABRT, Aborted. [Switching to Thread 0x80ae200 (LWP 100132)] 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 (gdb) bt #0 0x289085b7 in pthread_testcancel () from /lib/libpthread.so.2 #1 0x288f5c01 in sigaction () from /lib/libpthread.so.2 #2 0x288f5eed in sigaction () from /lib/libpthread.so.2 #3 0x288f66cc in sigaction () from /lib/libpthread.so.2 #4 0x288f6878 in sigaction () from /lib/libpthread.so.2 #5 0x28900ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2 #6 0x294b0470 in ?? () ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
This had me fooled. The call stack seemed to indicate an Nvidia OpenGL bug But it wasn't. #2 0x28913b78 in abort () from /lib/libc.so.6 #3 0x2895bc6f in pthread_testcancel () from /lib/libpthread.so.2 #7 0x28a0314d in _nv07gl () from /usr/local/lib/libGL.so.1 #8 0x28a725e4 in ?? () from /usr/local/lib/libGL.so.1 #19 0x28fd1937 in _nv000486gl () from /usr/local/lib/libGLcore.so.1 FreeBSD has different thread libs. Mixing them was the real cause. Solution was to add "pthread" to TARGET_LINK_LIBRARIES in CMakeLists.txt (of my app). ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Recurse on a private mutex (FreeBSD)
Hi Jim, Good to hear that you've got to the bottom of the problem. Now you've explained the cause and solution it does remind a bit of when the OSG was first ported to FreeBSD - this was 7 years ago so a bit of dim recollection, but I think even then there might have been this need to make sure the the 3rd party apps required an explicit link to pthreads, my recollection is rather vague though, twas quite a few moons ago... Robert. On Jan 29, 2008 3:17 AM, Jim Brooks <[EMAIL PROTECTED]> wrote: > This had me fooled. > The call stack seemed to indicate an Nvidia OpenGL bug > But it wasn't. > > #2 0x28913b78 in abort () from /lib/libc.so.6 > #3 0x2895bc6f in pthread_testcancel () from /lib/libpthread.so.2 > #7 0x28a0314d in _nv07gl () from /usr/local/lib/libGL.so.1 > #8 0x28a725e4 in ?? () from /usr/local/lib/libGL.so.1 > #19 0x28fd1937 in _nv000486gl () from /usr/local/lib/libGLcore.so.1 > > FreeBSD has different thread libs. > Mixing them was the real cause. > > Solution was to add "pthread" to TARGET_LINK_LIBRARIES > in CMakeLists.txt (of my app). > > ___ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org