Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] dynbvh builder breaking on barrier wait?


Chronological Thread 
  • From: "Abe Stephens" <abestephens@gmail.com>
  • To: "manta@sci.utah.edu" <manta@sci.utah.edu>
  • Subject: [Manta] dynbvh builder breaking on barrier wait?
  • Date: Tue, 8 Apr 2008 11:07:52 -0600
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=Lc2yNcdHXeF6lpOGysxC4doKy6eG3l9C59+TvpJJoCIYyLPn8/HsYxm8YF5rmyiySc8x4wNk1DJy7Rn2zlaDWNpDFUWMz22J5XMx/f9QGl+RLDb4cvUn43RUcbY8T64opaaRUFWuY5kVM/TVbiXH5y/9Ol0Ce4izbn5oN9lEv78=

Hi, Does anyone know what is going on with the DynBVH builder? It appears to be breaking while waiting at a barrier when there is only one thread:

(gdb) frame
#0  0x03e0e2f5 in Manta::Thread::couldBlock (why=0x34b25fb "Barrier for preprocessing") at /Users/abe/Manta/Core/Thread/Thread.cc:370
370      Thread_private* p=Thread::self()->priv_;
(gdb) p Thread::self()
$13 = (Manta::Thread *) 0x0
(gdb) bt
#0  0x03e0e2f5 in Manta::Thread::couldBlock (why=0x34b25fb "Barrier for preprocessing") at /Users/abe/Manta/Core/Thread/Thread.cc:370
#1  0x03e13f42 in Manta::Barrier::wait (this=0x96009c, n=1) at Barrier_default.cc:89
#2  0x03dc5114 in Manta::PreprocessContext::done (this=0xb0bc1be0) at /Users/abe/Manta/Interface/Context.cc:35
#3  0x03d66673 in Manta::Group::preprocess (this=0x3ba8e00, context=@0xb0bc1be0) at /Users/abe/Manta/Model/Groups/Group.cc:154
#4  0x022ab244 in Manta::DynBVH::preprocess (this=0x9b5600, context=@0xb0bc1be0) at /Users/abe/Manta/Model/Groups/DynBVH.cc:717
#5  0x03329253 in Manta::RTRT::doPreprocess (this=0x960000, proc=0, numProcs=1) at /Users/abe/Manta/Engine/Control/RTRT.cc:567
#6  0x0332ccc2 in Manta::RTRT::internalRenderLoop (this=0x960000, proc=0, lateComerFlag=false) at /Users/abe/Manta/Engine/Control/RTRT.cc:686
#7  0x0332e4ae in Manta::RTRT::Worker::run (this=0x3bae040) at /Users/abe/Manta/Engine/Control/RTRT.cc:115
#8  0x0346c1c0 in Manta::Thread::run_body (this=0x3bb01b0) at /Users/abe/Manta/Core/Thread/Thread.cc:142
#9  0x03470c16 in Thread_run (t=0x3bb01b0) at /Users/abe/Manta/Core/Thread/Thread_pthreads.cc:450
#10 0x034727d7 in run_threads (priv_v=0x3bb0c00) at /Users/abe/Manta/Core/Thread/Thread_pthreads.cc:468
#11 0x9090fc55 in _pthread_start ()
#12 0x9090fb12 in thread_start ()
(gdb)

If I modify PreprocessContext::done() to not call wait on the barrier if numProcs==1 then it works, but I'm curious is there is a better solution. I'm not really sure what the state of the parallel build stuff is at the moment.

Thanks-
Abe



Archive powered by MHonArc 2.6.16.

Top of page