On Mon Jan 16 08:49:12 2012, sprout wrote: > On Wed Dec 14 07:35:12 2011, patrik.h.hagglund@ericsson.com wrote: > > > > Filehandle duplication 'open(STDOUT, '>&', $tmph)', and 'close($tmph)' > > sometimes > > hang in child (forked) processes, when threads are used in the top- > > level process. > > A test program is included below (a skeleton of a program used as a > > test execution > > driver). Run the program, and see the hangs using 'watch pstree'. > > I can reproduce the hang, but when I run it under gdb it never gets that > far. I get this instead: > > Program received signal EXC_SOFTWARE, Software generated exception. > [Switching to process 86000] > 0x98e6b1d6 in __wait4 () > > I have no idea what that means. > > The backtrace is: > > (gdb) bt > #0 0x98e6b1d6 in __wait4 () > #1 0x98e6b1c9 in waitpid$UNIX2003 () > #2 0x000d8016 in Perl_wait4pid (my_perl=0x92b200, pid=89663, > statusp=0xb0102d0c, flags=0) at util.c:3326 > #3 0x001a1b07 in Perl_pp_waitpid (my_perl=0x92b200) at pp_sys.c:4090 > #4 0x000c9de9 in Perl_runops_debug (my_perl=0x92b200) at dump.c:2119 > #5 0x0002c8a2 in Perl_call_sv (my_perl=0x92b200, sv=0x18c1770, flags=9) > at perl.c:2695 > #6 0x002d458b in S_ithread_run (arg=0x55af50) at threads.xs:517 > #7 0x98e3785d in _pthread_start () > #8 0x98e376e2 in thread_start () And it seems that this script has *really* confused things, because when I tried to quit, I got this: (gdb) q The program is running. Exit anyway? (y or n) y error while killing target (killing anyway): assertion failure on line 300 of "/SourceCache/gdb/gdb-1469/src/gdb/macosx/macosx-nat-inferior-util.c" in function "macosx_inferior_suspend_ptrace": status.value.sig == TARGET_SIGNAL_STOP warning: error on line 2179 of "/SourceCache/gdb/gdb-1469/src/gdb/macosx/macosx-nat-inferior.c" in function "macosx_kill_inferior_safe": (os/kern) failure (0x5x) -- Father Chrysostomos --- via perlbug: queue: perl5 status: open https://rt.perl.org:443/rt3/Ticket/Display.html?id=106212Thread Previous