[haiku-bugs] [Haiku] #6288: popen deadlocks Paladin on multicore machines

#6288: popen deadlocks Paladin on multicore machines
----------------------------+-----------------------------------------------
   Reporter:  darkwyrm      |        Owner:  nobody   
       Type:  bug           |       Status:  new      
   Priority:  normal        |    Milestone:  R1       
  Component:  System/POSIX  |      Version:  R1/alpha2
   Keywords:                |   Blocked By:           
Has a Patch:  0             |     Platform:  All      
   Blocking:                |  
----------------------------+-----------------------------------------------
 This only occurs when multithreaded builds are enabled. Here are the steps
 to reproduce the error:

 1) Load a project on an SMP machine.
 2) Force a rebuild of the project
 3) Run the build.

 On my quad core system, perhaps 1 file might get built. Typically not,
 though. It deadlocks. Killing Paladin from the Deskbar at this point
 causes a crash with the following backtrace:

 {{{
 0x00356031 in _ZL7do_execPKcPKPcS3_b () from /boot/system/lib/libroot.so
 (gdb) bt
 #0  0x00356031 in _ZL7do_execPKcPKPcS3_b () from
 /boot/system/lib/libroot.so
 #1  0x0035623f in execl () from /boot/system/lib/libroot.so
 #2  0x00318de2 in _IO_proc_open () from /boot/system/lib/libroot.so
 #3  0x00319000 in popen () from /boot/system/lib/libroot.so
 #4  0x0028a53c in SourceFileC::Compile (this=0x1802c468, info=@0x18069174,
     options=0x18189de8 "-O0 -I '/boot/home/projects/BeVexed' -I
 '/boot/home/projects/BeVexed/.' -I '/boot/develop/headers/be' -I
 '/boot/develop/headers/cpp' -I '/boot/develop/headers/posix' -I
 '/boot/home/config/include' ")
     at /boot/home/projects/Paladin-related/Paladin/SourceTypeC.cpp:309
 #5  0x0024968d in Project::CompileFile (this=0x18069050, file=0x1802c468)
     at /boot/home/projects/Paladin-related/Paladin/Project.cpp:701
 #6  0x002872e6 in ProjectBuilder::BuildThread (data=0x18062318)
     at /boot/home/projects/Paladin-related/Paladin/ProjectBuilder.cpp:343
 #7  0x002ef4ec in thread_entry () from /boot/system/lib/libroot.so
 #8  0x70184fec in ?? ()
 }}}

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6288>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: