Dixi quod… >I guess we should let it use __sync_val_compare_and_swap instead then?
That one’s interesting: it makes an idle-spin instead of busy-spin: top - 07:26:10 up 11 days, 17:52, 0 users, load average: 0.01, 0.03, 0.05 Tasks: 63 total, 1 running, 62 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa,100.0 hi, 0.0 si, 0.0 st 9234 pts/1 Sl+ 0:00 /tmp/buildd/openjdk-6-6b24-1.11.3/build/bootstrap/jdk1.6.0/bin/java -version (gdb) bt #0 0xc004bfba in pthread_join () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 #1 0x80005e9a in ContinueInNewThread (continuation=0x80002cac <JavaMain>, stack_size=1572864, args=0xefba4886, ret=0) at ../../../../src/solaris/bin/java_md.c:1754 #2 0x80001f26 in main (argc=1, argv=0x8000a09c) at ../../../../src/share/bin/java.c:370 (gdb) info threads Id Target Id Frame 3 Thread 0xc07d34c0 (LWP 9235) "java" 0xc004f504 in pthread_cond_wait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 2 Thread 0xdeeae4c0 (LWP 9236) "java" 0xc004f95c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 * 1 Thread 0xc0192210 (LWP 9234) "java" 0xc004bfba in pthread_join () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 (gdb) thread 2 [Switching to thread 2 (Thread 0xdeeae4c0 (LWP 9236))] #0 0xc004f95c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 (gdb) bt #0 0xc004f95c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 #1 0xc0438ace in park (millis=1000, this=0x80062100) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/os/linux/vm/os_linux.cpp:5006 #2 os::PlatformEvent::park (this=0x80062100, millis=1000) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/os/linux/vm/os_linux.cpp:4968 #3 0xc0416888 in ParkCommon (timo=1000, ev=0x80062100) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/mutex.cpp:422 #4 Monitor::IWait (this=0x8000f4e8, Self=0x80061318, timo=1000) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/mutex.cpp:784 #5 0xc0416efe in Monitor::wait (this=0x8000f4e8, no_safepoint_check=true, timeout=1000, as_suspend_equivalent=false) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/mutex.cpp:1093 #6 0xc04d395a in VMThread::loop (this=0x80061318) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/vmThread.cpp:408 #7 0xc04d3aba in VMThread::run (this=0x80061318) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/vmThread.cpp:273 #8 0xc0434ff8 in java_start (thread=0x80061318) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/os/linux/vm/os_linux.cpp:856 #9 0xc004b056 in start_thread () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 #10 0xc012829c in clone () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libc.so.6 (gdb) thread 3 [Switching to thread 3 (Thread 0xc07d34c0 (LWP 9235))] #0 0xc004f504 in pthread_cond_wait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 (gdb) bt #0 0xc004f504 in pthread_cond_wait@@GLIBC_2.3.2 () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 #1 0xc04388cc in os::PlatformEvent::park (this=0x80011d00) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/os/linux/vm/os_linux.cpp:4951 #2 0xc042aca0 in ObjectMonitor::EnterI (this=0xc07d2928, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp:566 #4 0xc0337402 in instanceKlass::initialize_impl (this_oop=..., __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:401 #5 0xc0337a06 in initialize (__the_thread__=0x80010008, this=0xdab20588) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:198 #6 instanceKlass::initialize (this=0xdab20588, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:194 #7 0xc02ea576 in Exceptions::new_exception (thread=0x80010008, h_name=..., signature=..., args=0xc07d2818, h_cause=..., h_loader=..., h_protection_domain=...) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:269 #8 0xc02ea896 in Exceptions::new_exception (thread=0x80010008, h_name=..., message=0x0, h_cause=..., h_loader=..., h_protection_domain=..., to_utf8_safe=Exceptions::safe_to_utf8) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:353 #9 0xc02eaa76 in Exceptions::_throw_msg (thread=0x80010008, file=0xc04feaa4 "/tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp", line=1710, h_name=..., message=0x0, h_loader=..., h_protection_domain=...) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:169 #10 0xc02eab60 in Exceptions::_throw_msg (thread=0x80010008, file=0xc04feaa4 "/tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp", line=1710, name=0xdaaf1e48, message=0x0) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:188 #11 0xc0428cf6 in ObjectMonitor::notifyAll (this=0xc07d2928, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp:1710 #12 0xc0335556 in notify_all (__the_thread__=0x80010008, this=0xc07d2922) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp:158 #13 instanceKlass::set_initialization_state_and_notify_impl (this_oop=..., state=instanceKlass::initialization_error, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:521 #14 0xc03355de in instanceKlass::set_initialization_state_and_notify (this=0xdab20588, state=instanceKlass::initialization_error, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:515 #15 0xc03377b4 in instanceKlass::initialize_impl (this_oop=..., __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:458 #16 0xc0337a06 in initialize (__the_thread__=0x80010008, this=0xdab20588) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:198 #17 instanceKlass::initialize (this=0xdab20588, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:194 #18 0xc02ea576 in Exceptions::new_exception (thread=0x80010008, h_name=..., signature=..., args=0xc07d2ac8, h_cause=..., h_loader=..., h_protection_domain=...) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:269 #19 0xc02ea896 in Exceptions::new_exception (thread=0x80010008, h_name=..., message=0x0, h_cause=..., h_loader=..., h_protection_domain=..., to_utf8_safe=Exceptions::safe_to_utf8) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:353 #20 0xc02eaa76 in Exceptions::_throw_msg (thread=0x80010008, file=0xc04feaa4 "/tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp", line=1710, h_name=..., message=0x0, h_loader=..., h_protection_domain=...) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:169 #21 0xc02eab60 in Exceptions::_throw_msg (thread=0x80010008, file=0xc04feaa4 "/tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp", line=1710, name=0xdaaf1e48, message=0x0) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/utilities/exceptions.cpp:188 #22 0xc0428cf6 in ObjectMonitor::notifyAll (this=0xc07d2bd8, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/objectMonitor.cpp:1710 #23 0xc0335556 in notify_all (__the_thread__=0x80010008, this=0xc07d2bd2) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp:158 #24 instanceKlass::set_initialization_state_and_notify_impl (this_oop=..., state=instanceKlass::fully_initialized, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:521 #25 0xc03355de in instanceKlass::set_initialization_state_and_notify (this=0xdaaf67d8, state=instanceKlass::fully_initialized, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:515 #26 0xc03377fe in instanceKlass::initialize_impl (this_oop=..., __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:484 #27 0xc0337a06 in initialize (__the_thread__=0x80010008, this=0xdaaf67d8) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:198 #28 instanceKlass::initialize (this=0xdaaf67d8, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:194 #29 0xc0337752 in instanceKlass::initialize_impl (this_oop=..., __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:451 #30 0xc0337a06 in initialize (__the_thread__=0x80010008, this=0xdaafeff0) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:198 #31 instanceKlass::initialize (this=0xdaafeff0, __the_thread__=0x80010008) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/oops/instanceKlass.cpp:194 #32 0xc04a3c84 in initialize_class (__the_thread__=0x80010008, class_name=...) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/thread.cpp:896 #33 Threads::create_vm (args=0xc07d2ed6, canTryAgain=0xc07d2e87) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/runtime/thread.cpp:3164 #34 0xc0371a80 in JNI_CreateJavaVM (vm=0xc07d2ece, penv=0xc07d2ed2, args=0xc07d2ed6) at /tmp/buildd/openjdk-6-6b24-1.11.3/build/openjdk-ecj/hotspot/src/share/vm/prims/jni.cpp:3344 #35 0x80002d20 in InitializeJVM (penv=0xc07d2ed2, pvm=0xc07d2ece, ifn=<optimized out>) at ../../../../src/share/bin/java.c:1269 #36 JavaMain (_args=0xefba4886) at ../../../../src/share/bin/java.c:404 #37 0xc004b056 in start_thread () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libpthread.so.0 #38 0xc012829c in clone () from /var/cache/pbuilder/build/cow.20573/lib/m68k-linux-gnu/libc.so.6 Is there something wrong with threads (whatever façette of it)? bye, //mirabilos -- 22:20⎜<asarch> The crazy that persists in his craziness becomes a master 22:21⎜<asarch> And the distance between the craziness and geniality is only measured by the success 18:35⎜<asarch> "Psychotics are consistently inconsistent. The essence of sanity is to be inconsistently inconsistent -- To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1208090726460.24...@herc.mirbsd.org