Status: New
Owner: ----
New issue 2657 by [email protected]:
cctest/test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
timeout on MIPS-sim and ARM-sim
http://code.google.com/p/v8/issues/detail?id=2657
cctest/test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
test can timeout on MIPS and ARM simulators if the host is otherwise idle.
To reproduce the issue compile v8 for simulator on a linux machine (I have
tested it on Intel based linux machines and a mac and the timout didn't
occur on mac):
make -j8 mipsel.release
and
make -j8 arm.release
The following commands must be run for a few times and the test fails with
timeout about 50% of the time on an otherwise idle, multicore linux machine
(tested on an Intel Xeon E3 based PC with 8G RAM, OS: Ubuntu lucid). For
ARM:
$ time out/arm.release/cctest --stress-opt --always-opt
test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
--nobreak-on-abort --nodead-code-elimination --nofold-constants
and for MIPS:
$ time out/mipsel.release/cctest --stress-opt --always-opt
test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
--nobreak-on-abort --nodead-code-elimination --nofold-constants
On both MIPS and ARM simulator similar hangup/timeout results will be
caught about 50% of the time:
real 7m35.508s
user 7m36.020s
sys 0m0.900s
We got time results from 0m0.03xs to 22mx.xxxs.
The test runs 8 threads (4 sweeper, 1 context swather, 2 test threads and
the main starter thread). A backtrace of the 3 important threads at a
hangup on ARM simulator:
Thread 1 (Thread 0xf74f7b30 (LWP 23989)):
#0 0xf77cf430 in __kernel_vsyscall ()
#1 0xf7664ed9 in __lll_lock_wait ()
at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142
#2 0xf7660219 in _L_lock_835 () from /lib32/libpthread.so.0
#3 0xf76600ab in __pthread_mutex_lock (mutex=0x9d72854) at
pthread_mutex_lock.c:82
#4 0x084707a2 in v8::Locker::Initialize(v8::Isolate*) ()
#5 0x081c4f01 in TestTerminateMultipleV8ThreadsDefaultIsolate() ()
#6 0x0804b26e in main ()
Thread 2 (Thread 0xf63bfb70 (LWP 23996)):
#0 0x085214f6 in
v8::internal::Simulator::GetShiftRm(v8::internal::Instruction*, bool*) ()
#1 0x08526b36 in
v8::internal::Simulator::DecodeType01(v8::internal::Instruction*) ()
#2 0x08528014 in
v8::internal::Simulator::InstructionDecode(v8::internal::Instruction*) ()
#3 0x085284d3 in v8::internal::Simulator::CallInternal(unsigned char*) ()
#4 0x085285cb in v8::internal::Simulator::Call(unsigned char*, int, ...) ()
#5 0x0825e322 in v8::internal::Invoke(bool,
v8::internal::Handle<v8::internal::JSFunction>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*) ()
#6 0x0825f018 in
v8::internal::Execution::Call(v8::internal::Handle<v8::internal::Object>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*, bool) ()
#7 0x081fd596 in v8::Script::Run() ()
#8 0x081c5b48 in DoLoop(v8::Arguments const&) ()
#9 0x08226446 in v8::internal::Builtin_HandleApiCall(int,
v8::internal::Object**, v8::internal::Isolate*) ()
#10 0x085276f2 in
v8::internal::Simulator::SoftwareInterrupt(v8::internal::Instruction*) ()
#11 0x0852802c in
v8::internal::Simulator::InstructionDecode(v8::internal::Instruction*) ()
#12 0x085284d3 in v8::internal::Simulator::CallInternal(unsigned char*) ()
#13 0x085285cb in v8::internal::Simulator::Call(unsigned char*, int, ...) ()
#14 0x0825e322 in v8::internal::Invoke(bool,
v8::internal::Handle<v8::internal::JSFunction>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*) ()
#15 0x0825f018 in
v8::internal::Execution::Call(v8::internal::Handle<v8::internal::Object>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*, bool) ()
(More stack frames follow...)
Thread 3 (Thread 0xf6bc0b70 (LWP 23995)):
#0 0xf77cf430 in __kernel_vsyscall ()
#1 0xf7664ed9 in __lll_lock_wait ()
at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142
#2 0xf7660219 in _L_lock_835 () from /lib32/libpthread.so.0
#3 0xf76600ab in __pthread_mutex_lock (mutex=0x9d72854) at
pthread_mutex_lock.c:82
#4 0x084706a1 in v8::Unlocker::~Unlocker() ()
#5 0x082608aa in
v8::internal::Execution::HandleStackGuardInterrupt(v8::internal::Isolate*)
()
#6 0x085276f2 in
v8::internal::Simulator::SoftwareInterrupt(v8::internal::Instruction*) ()
#7 0x0852802c in
v8::internal::Simulator::InstructionDecode(v8::internal::Instruction*) ()
#8 0x085284d3 in v8::internal::Simulator::CallInternal(unsigned char*) ()
#9 0x085285cb in v8::internal::Simulator::Call(unsigned char*, int, ...) ()
#10 0x0825e322 in v8::internal::Invoke(bool,
v8::internal::Handle<v8::internal::JSFunction>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*) ()
#11 0x0825f018 in
v8::internal::Execution::Call(v8::internal::Handle<v8::internal::Object>,
v8::internal::Handle<v8::internal::Object>, int,
v8::internal::Handle<v8::internal::Object>*, bool*, bool) ()
#12 0x081fd596 in v8::Script::Run() ()
#13 0x081c5b48 in DoLoop(v8::Arguments const&) ()
#14 0x08226446 in v8::internal::Builtin_HandleApiCall(int,
v8::internal::Object**, v8::internal::Isolate*) ()
#15 0x085276f2 in
v8::internal::Simulator::SoftwareInterrupt(v8::internal::Instruction*) ()
For further details of investigating the issue please look at:
https://github.com/paul99/v8m-rb/issues/36
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.