JDK-4295599 : Sparc/C2 Java Webserver hang while exiting.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.3.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_7
  • CPU: generic
  • Submitted: 1999-11-30
  • Updated: 2000-02-03
  • Resolved: 2000-02-03
Related Reports
Duplicate :  
Description
This is an intermittent hang running Java Webserver.  It looks like the
VM is in the process of exiting, is trying to free some memory, and
gets hung on the malloc lock.  There is a compilation thread that
looks like it has been suspended while malloc'ing some memory and is
holding the malloc lock.

Below is the thread list from dbx and a retrace on the three interesting
threads.

(dbx) threads                                                                
      t@1  a l@14 ?()   sleep on 0xff3366a0     in __lwp_sema_wait()
      t@2  b l@2  ?()   running                 in _signotifywait()
      t@3  a l@17 ?()   sleep on 0xff37e070     in __lwp_sema_wait()
      t@4  b l@5  _start()      sleep on 0xff3366a0     in __lwp_sema_wait()
      t@5  b l@6  _co_timerset()        running                 in __lwp_sema_wait()
      t@6         _start()      sleep on 0x10e0f8       in cond_wait()
      t@7         _start()      sleep on 0x10e278       in cond_wait()
     t@10  a l@11 _start()      suspended       in __lwp_sema_wait()


(dbx) W 4 
current thread: t@4
  [1] __lwp_sema_wait(0xfd781e78, 0x0, 0x0, 0xff385784, 0x64, 0x0), at 0xff3162b8
  [2] _park(0xfd781dc8, 0xfd781e78, 0x0, 0xfd781e54, 0xfd781e50, 0xfd781e4c), at 0xff35b044
  [3] _mutex_adaptive_lock(0xff3366a0, 0x4c00, 0xff37c524, 0x1, 0x4d58, 0xfffeffff), at 0xff35c5c8
  [4] _cmutex_lock(0xff3366a0, 0xff, 0x10afd8, 0xff2c60e0, 0x1c, 0x3f508), at 0xff35c378
  [5] free(0x10afc0, 0xfe303ee4, 0xfe3048e4, 0xfe439ed8, 0xfe303eec, 0xfe2333ec), at 0xff2c60e0
  [6] Thread::~Thread(0x10af30, 0x0, 0xfe2333ec, 0xfe27acc0, 0xfe33e594, 0x10afd8), at 0xfde97058
  [7] VMThread::vm_thread_main(0x10af30, 0xfe34b670, 0xfe34b804, 0xfe27acc0, 0xfe2f441c, 0xfe2333ec), at 0xfdee947c
  [8] _start(0x10000, 0x10170, 0xfe306c0c, 0x10878, 0xfe2333ec, 0xff37c524), at 0xfdd92488


(dbx) W 1
current thread: t@1
  [1] __lwp_sema_wait(0x25d18, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xff3162b8
  [2] _park(0x25c68, 0x25d18, 0x0, 0x3, 0xff37d298, 0xfe901dc8), at 0xff35b044
  [3] _swtch(0x5, 0xff37c524, 0x25cf8, 0x25cf4, 0x25cf0, 0x25cec), at 0xff35ad38
  [4] _mutex_adaptive_lock(0xff3366a0, 0x4c00, 0xff37c524, 0x1, 0x4d58, 0xfffeffff), at 0xff35c5c8
  [5] _cmutex_lock(0xff3366a0, 0xff, 0x3e520, 0xff2c60e0, 0x10, 0x0), at 0xff35c378
  [6] free(0x3e508, 0xfe303ee4, 0xfe3048e4, 0xfe439ed8, 0xfe303eec, 0xfe2333ec), at 0xff2c60e0
  [7] ThreadSafepointState::destroy(0x246608, 0xfe31a19c, 0xfe27acc0, 0x3f098, 0x1, 0xfe2333ec), at 0xfdddb230
  [8] Threads::destroy_vm(0x7ed0, 0xfe33e3bc, 0xfe33e3d8, 0xfe2333ec, 0x246608, 0x1), at 0xfdeb08a0
  [9] jni_DestroyJavaVM(0x1, 0xfe27acc0, 0xfe2adf5c, 0xfe2333ec, 0x246608, 0xfe2333ec), at 0xfdc3d0f8
  [10] main(0x5, 0xffbeeb3c, 0xffbeeb54, 0x25800, 0x0, 0x0), at 0x121c8

(dbx) W 10  
current thread: t@10
  [1] __lwp_sema_wait(0xfe901e78, 0xfe901fe4, 0x0, 0x0, 0x0, 0x0), at 0xff3162b8
  [2] _park(0xfe901dc8, 0xfe901e78, 0x0, 0x2, 0xff37d298, 0xfef0ddc8), at 0xff35b044
  [3] _swtch(0x5, 0xff37c524, 0xfe901e58, 0xfe901e54, 0xfe901e50, 0xfe901e4c), at 0xff35ad38
  [4] _dopreempt(0x0, 0xff37c524, 0x0, 0x0, 0x0, 0x0), at 0xff35cc70
  [5] _sigsuspnd(0xfe901dc8, 0xfe9008b8, 0xfe900600, 0x0, 0x0, 0x0), at 0xff35f4d4
  [6] __sighndlr(0x21, 0xfe9008b8, 0xfe900600, 0xff35f4f0, 0xfe901e4c, 0xfe901e2c), at 0xff36b920
  [7] sigacthandler(0x21, 0xfe9008b8, 0xfe900600, 0xff37c524, 0x84, 0xfe901e3c), at 0xff36830c
  ---- called from signal handler with signal 33 (SIGLWP) ------
  [8] _brk_unlocked(0x0, 0x704c2130, 0x5a5ea8, 0xff332118, 0xfe3b6594, 0xff332118), at 0xff3134d8
  [9] _sbrk_unlocked(0x12000, 0x593ea8, 0x26b10, 0x26a98, 0x1e0990, 0x20), at 0xff30e410
  [10] _sbrk(0x12000, 0x593ea8, 0xff338ab0, 0xff332118, 0x26a98, 0x1e0990), at 0xff30e384
  [11] _morecore(0x7fffffff, 0x12000, 0xff332118, 0x592048, 0x593ea8, 0x0), at 0xff2c5c08
  [12] _malloc_unlocked(0xff338ab0, 0x13390, 0x1d0be8, 0x592048, 0x0, 0xff332118), at 0xff2c54f4
  [13] malloc(0x1338c, 0xf800, 0xd2dc6b, 0xfe303ee4, 0x829, 0xfe900a74), at 0xff2c530c
  [14] os::malloc(0x13364, 0xfe2333ec, 0xf9d0, 0x286d0, 0x1, 0x7fec), at 0xfdd8d644
  [15] Arena::grow(0xfe24e650, 0x541f38, 0x116ef0, 0xfe27acc0, 0xfe2333ec, 0x13358), at 0xfd9c1b1c
  [16] PhaseChaitin::Register_Allocate(0xfe900e80, 0xffffffff, 0xfe27acc0, 0xfe2333ec, 0xfe3b6594, 0xfe900eb8), at 0xfdfef444
  [17] Compile::Code_Gen(0xfe9017a4, 0xfe27a9d8, 0x0, 0xfe3d170c, 0xfe2333ec, 0x10000), at 0xfe021010
  [18] Compile::Compile(0xfe9017a4, 0xfe2333ec, 0xfe3d0330, 0xfe27ab50, 0xfe3d170c, 0xfe43c330), at 0xfe01d588
  [19] C2Compiler::compile_method(0x20b2ac, 0x1, 0xfe27acc0, 0x20b398, 0xfe2333ec, 0x1), at 0xfdfc9aa0
  [20] Compilation::invoke_compiler_on_method(0x1, 0x20b398, 0xf858, 0xfe2333ec, 0x20b2ac, 0x17), at 0xfdf44d60
  [21] Compilation::compiler_thread_loop(0x1, 0xfe2333ec, 0xffffffff, 0x1, 0x282510, 0xfefefefe), at 0xfdf43690
  [22] JavaThread::thread_main(0xfe33aba8, 0xfe27acc0, 0x1, 0xfe2333ec, 0x116d58, 0x1), at 0xfdea18f0
  [23] _start(0x10000, 0x10170, 0xfe306c0c, 0x10878, 0xfe2333ec, 0xfe401000), at 0xfdd92488


Comments
PUBLIC COMMENTS This is an intermittent hang.
10-06-2004