POV-Ray : Newsgroups : povray.beta-test : Last show-stopper before the end of the universe, beta 32 : Re: Last show-stopper before the end of the universe, beta 32 Server Time
5 May 2024 20:27:25 EDT (-0400)
  Re: Last show-stopper before the end of the universe, beta 32  
From: Le Forgeron
Date: 20 Apr 2009 13:40:39
Message: <49ecb397$1@news.povray.org>
Le 20.04.2009 18:30, Le_Forgeron nous fit lire :
> Le 20.04.2009 15:35, Nicolas Calimet nous fit lire :
>>> You mean, SDL without threads, povray as usual (with thread) ?
>>     Yep.  IIRC, libSDL builds with threads enabled by default under Linux,
>> and yet another thread is used to control events (mouse, keyboard).  Maybe
>> forcing libSDL to use a single thread might prevent this deadlock-alike
>> behavior...
>>
>>     - NC
> 
> Ok, test done, SDL 1.2.13 configured with --disable-threads.
> 
> Sad news: the lock of povray is still happening.
> Tried to attached ddd, but the poping window unlocked the povray process.

Here a log of gdb... hopefully it can make sense for someone.

Thread 2 & 3 are computing intersection, so out of cause ?
(Thread 7 is between 6 & 8... )


(gdb) where
#0  0x00007ffa0618255d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
warning: (Internal error: pc 0x440c62 in read in psymtab, but not in symtab.)

#1  0x0000000000440c63 in boost::condition_variable_any::timed_wait<boost::uniqu
e_lock<boost::mutex> > (this=warning: (Internal error: pc 0x440970 in read in ps
ymtab, but not in symtab.)

warning: (Internal error: pc 0x440c62 in read in psymtab, but not in symtab.)

0xe970d8, m=@0xffffffffffffff92,
    wait_until=<value optimized out>)
    at /usr/local/include/boost/thread/pthread/condition_variable.hpp:110
#2  0x00000000004378eb in vfe::vfeSession::GetStatus (this=0xe96e10,
    Clear=true, WaitTime=200) at vfesession.cpp:925
#3  0x000000000041a21c in main (argc=9, argv=0xea8678)
    at unix/unixconsole.cpp:572
(gdb) info threads
  8 Thread 0x40f6a950 (LWP 9873)  0x00007ffa06185e7b in sigwait ()
   from /lib/libpthread.so.0
  7 Thread 0x421ca950 (LWP 9874)  0x00007ffa05ee44b2 in select ()
   from /lib/libc.so.6
  6 Thread 0x429cb950 (LWP 9875)  0x00007ffa0618255d in pthread_cond_timedwait@@
GLIBC_2.3.2 () from /lib/libpthread.so.0
  5 Thread 0x4176b950 (LWP 9876)  0x00007ffa061822d9 in pthread_cond_wait@@GLIBC
_2.3.2 () from /lib/libpthread.so.0
  4 Thread 0x431cc950 (LWP 9879)  0x00007ffa06185851 in nanosleep ()
   from /lib/libpthread.so.0
  3 Thread 0x439cd950 (LWP 9880)  0x0000000000565ca6 in sbisect (np=6,
    sseq=0x439ca1f0, min_value=0, max_value=1220.703125, atmin=4, atmax=1,
    roots=0x439cae30) at math/polysolv.cpp:673
  2 Thread 0x441ce950 (LWP 9881)  pov::Lathe::Intersect (this=0x160fa60,
    ray=@0x441cc7e0, Depth_Stack=@0x441cc040, Thread=0x181e170)
    at shape/lathe.cpp:405
  1 Thread 0x7ffa091086f0 (LWP 9872)  0x00007ffa0618255d in pthread_cond_timedwa
it@@GLIBC_2.3.2 () from /lib/libpthread.so.0

(gdb) thread 4
[Switching to thread 4 (Thread 0x431cc950 (LWP 9879))]#0  0x00007ffa06185851 in
nanosleep
() from /lib/libpthread.so.0
(gdb) where
#0  0x00007ffa06185851 in nanosleep () from /lib/libpthread.so.0
#1  0x0000000000441454 in pov_base::Delay (msec=<value optimized out>)
    at unix/platformbase.cpp:125
#2  0x000000000047a050 in pov::View::RenderControlThread (this=0xeb9200)
    at scene/view.cpp:1126
#3  0x00007ffa06b4a93f in thread_proxy ()
   from /usr/local/lib/libboost_thread-gcc43-mt-1_38.so.1.38.0
#4  0x00007ffa0617e3ea in start_thread () from /lib/libpthread.so.0
#5  0x00007ffa05eebcbd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

(gdb) thread 5
[Switching to thread 5 (Thread 0x4176b950 (LWP 9876))]#0  0x00007ffa061822d9 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
(gdb) where
#0  0x00007ffa061822d9 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x000000000048d09d in pov::TaskQueue::Process (this=0xe97ab0)
    at /usr/local/include/boost/thread/pthread/condition_variable.hpp:84
#2  0x00000000004744d1 in pov::Scene::ParserControlThread (this=0xe97ab0)
    at scene/scene.cpp:702
#3  0x00007ffa06b4a93f in thread_proxy ()
   from /usr/local/lib/libboost_thread-gcc43-mt-1_38.so.1.38.0
#4  0x00007ffa0617e3ea in start_thread () from /lib/libpthread.so.0
#5  0x00007ffa05eebcbd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()
(gdb)

(gdb) thread 6
[Switching to thread 6 (Thread 0x429cb950 (LWP 9875))]#0  0x00007ffa0618255d in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
(gdb) where
#0  0x00007ffa0618255d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x0000000000453879 in vfe::SysQNode::Receive (this=0xe99a40,
    pLen=0x429caf74, Blocking=<value optimized out>)
    at /usr/local/include/boost/thread/pthread/condition_variable.hpp:110
#2  0x0000000000592fca in POVMS_ProcessMessages (contextref=0xe999f0,
    blocking=31, yielding=255) at povms.cpp:621
#3  0x0000000000454cc6 in MainThreadFunction () at povray.cpp:572
#4  0x00007ffa06b4a93f in thread_proxy ()
   from /usr/local/lib/libboost_thread-gcc43-mt-1_38.so.1.38.0
#5  0x00007ffa0617e3ea in start_thread () from /lib/libpthread.so.0
#6  0x00007ffa05eebcbd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()
(gdb)

(gdb) where
#0  0x00007ffa05ee44b2 in select () from /lib/libc.so.6
#1  0x00007ffa048a9356 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ffa048aabdd in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#3  0x00007ffa0839058e in _XReply () from /usr/lib/libX11.so.6
#4  0x00007ffa08372892 in XInternAtom () from /usr/lib/libX11.so.6
#5  0x00007ffa0839f363 in ?? () from /usr/lib/libX11.so.6
#6  0x00007ffa0839f6fd in _Xutf8TextListToTextProperty ()
   from /usr/lib/libX11.so.6
#7  0x00007ffa08cc6862 in X11_SetCaptionNoLock (this=0xeb9fa0,
    title=0x185ee40 "POV-Ray 3.7 SDL display", icon=0x185ee60 "POV-Ray")
    at ./src/video/x11/SDL_x11wm.c:273
#8  0x00007ffa08cc691f in X11_SetCaption (this=0xeb9fa0,
    title=0x185ee40 "POV-Ray 3.7 SDL display", icon=0x185ee60 "POV-Ray")
    at ./src/video/x11/SDL_x11wm.c:311
#9  0x000000000040ed37 in pov_frontend::UnixSDLDisplay::SetCaption (
    this=<value optimized out>, paused=false) at disp_sdl.cpp:196
#10 0x000000000040f434 in pov_frontend::UnixSDLDisplay::Show (this=0x17d3f80)
    at disp_sdl.cpp:293
#11 0x00000000004464d6 in vfe::VirtualFrontEnd::Process (this=0xe9a2c0)
    at vfe.cpp:972
#12 0x0000000000434853 in vfe::vfeSession::ProcessFrontend (this=0xe96e10)
    at vfesession.cpp:556
#13 0x00000000004395b0 in vfe::vfeSession::WorkerThread (this=0xe96e10)
    at vfesession.cpp:647
#14 0x00007ffa06b4a93f in thread_proxy ()
   from /usr/local/lib/libboost_thread-gcc43-mt-1_38.so.1.38.0
#15 0x00007ffa0617e3ea in start_thread () from /lib/libpthread.so.0
#16 0x00007ffa05eebcbd in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

(gdb) thread 8
[Switching to thread 8 (Thread 0x40f6a950 (LWP 9873))]#0  0x00007ffa06185e7b in
sigwait ()
from /lib/libpthread.so.0
(gdb) where
#0  0x00007ffa06185e7b in sigwait () from /lib/libpthread.so.0
#1  0x00000000004180c4 in SignalHandler () at unix/unixconsole.cpp:146
#2  0x00007ffa06b4a93f in thread_proxy ()
   from /usr/local/lib/libboost_thread-gcc43-mt-1_38.so.1.38.0
#3  0x00007ffa0617e3ea in start_thread () from /lib/libpthread.so.0
#4  0x00007ffa05eebcbd in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()
(gdb)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.