On 31/03/12 at 23:09 -0400, Roberto C. Sánchez wrote:
> tags 66671 + unreproducible
> thanks
>
> On Sat, Mar 31, 2012 at 10:12:38PM +0200, Lucas Nussbaum wrote:
> > > g++ -o test_tbb_version.exe -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -g -O0
> > > -DUSE_PTHREAD -m64 -Wall -Wshadow -Wcast-qual -Woverloaded-virtual
> > > -Wnon-virtual-dtor -Wextra test_tbb_version.o libtbb_debug.so -lpthread
> > > -lrt -Wl,-rpath-link=.
> > > ./test_tbb_version.exe
> > > done
> > > ./test_assembly.exe
> > > done
> > > ./test_atomic.exe
> > > make[1]: *** wait: No child processes. Stop.
> > > make[1]: *** Waiting for unfinished jobs....
> > > make[1]: *** wait: No child processes. Stop.
> > > make: *** wait: No child processes. Stop.
> > > make: *** Waiting for unfinished jobs....
> > > make: *** wait: No child processes. Stop.
> > > make[2]: *** [test_tbb_plain] Terminated
> > > Build killed with signal TERM after 15 minutes of inactivity
> > > ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
>
> I just rebuilt this on my amd64 system (in a sid pbuilder chroot) and
> the build completed fine. Can you offer any suggestions as to where I
> should start trying to track down this bug?
What I can tell is that I can reproduce test_atomic.exe hanging.
Apparently it hangs in a futex() call:
LD_LIBRARY_PATH=. strace ./test_atomic.exe says:
[..]
futex(0x7f72508f49d0, FUTEX_WAIT, 9721, NULL) = 0
futex(0x7f7250af59d0, FUTEX_WAIT, 9720, NULL) = 0
clone(child_stack=0x7f7250af4fd0,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0x7f7250af59d0, tls=0x7f7250af5700, child_tidptr=0x7f7250af59d0)
= 9722
clone(child_stack=0x7f72508f3fd0,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0x7f72508f49d0, tls=0x7f72508f4700, child_tidptr=0x7f72508f49d0)
= 9723
futex(0x7f72508f49d0, FUTEX_WAIT, 9723, NULL^C
with strace -f:
[pid 9816] sched_yield() = 0
[pid 9816] sched_yield() = 0
[pid 9816] sched_yield() = 0
[pid 9816] sched_yield() = 0
[pid 9816] sched_yield(^C <unfinished ...>
gdb shows:
(gdb) bt
#0 0x00002b4e84890e75 in pthread_join () from
/lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00000000004798b4 in NativeParallelForTask<int, ArbitrationBody<long long,
(LoadStoreExpression)2> >::wait_to_finish (this=0x11e80b8) at
../../src/test/harness.h:359
#2 0x000000000044983e in NativeParallelFor<int, ArbitrationBody<long long,
(LoadStoreExpression)2> > (n=2,
body=...) at ../../src/test/harness.h:412
#3 0x0000000000416ebe in TestDekkerArbitration<long long,
(LoadStoreExpression)2> ()
at ../../src/test/test_atomic.cpp:1062
#4 0x0000000000407a50 in TestParallel<long long> (name=0x4d39f2 "long long")
at ../../src/test/test_atomic.cpp:1076
#5 0x00000000004029ec in TestAtomicInteger<long long> (name=0x4d39f2 "long
long")
at ../../src/test/test_atomic.cpp:327
#6 0x000000000040169b in TestMain () at ../../src/test/test_atomic.cpp:576
#7 0x00000000004014a7 in main (argc=1, argv=0x7fff92bddee8) at
../../src/test/harness.h:271
If you can't reproduce this yourself, I can provide access to a VM where the
problem can be seen.
Lucas
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]