|
|
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
|
|