-
Bug
-
Resolution: Fixed
-
P1
-
1.3.1_01, 1.4.0
-
02
-
sparc
-
solaris_7, solaris_8
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2046941 | 1.4.0 | Jane Loizeaux | P1 | Closed | Fixed | beta3 |
Client/server application becomes deadlocked.
Both client and server are running with /usr/lib/lwp/libthread, and are doing
lots of compression and storage.
-----------------
Additional problem in this code area:
(Reported by Karen Kinnear)
I was just running b78 (from last week's code base) and turned
on
VM option '+ShowMessageBoxOnError'
VM option '+FullGCALot'
VM option '+GCALotAtAllSafepoints'
VM option '+VerifyBeforeGC'
VM option '+VerifyAfterGC'
VM option 'FullGCALotInterval=1000'
And ran into an assertion:
# assert(_no_handle_mark_nesting == 0, "allocating handle inside NoHandleMark")
The stack trace looks like:
[6] report_assertion_failure(code_str = 0xfee0fbd1 "_no_handle_mark_nesting ==
0", file_name = 0xfee0fbee
"/net/karenspc/files/merlinmain_fixes/src/share/vm/runti
me/handles.cpp", line_no = 23, message = 0xfee0fc34 "allocating handle inside
NoHandleMark"), line 148 in "debug.cpp"
[7] HandleArea::allocate_handle(this = 0x39a20, obj = 0xf1f502d0), line 23 in
"handles.cpp"
[8] Handle::Handle(0xffbed284, 0xf1f502d0, 0xffbedb38, 0xf9c214c0, 0xf1800400,
0x0), at 0xfeae3830
[9] VM_GC_Operation::acquire_pending_list_lock(this = 0xffbed434), line 66 in
"vm_operations.cpp"
[10] VM_GC_Operation::doit_prologue(this = 0xffbed434), line 91 in
"vm_operations.cpp"
[11] VMThread::execute(op = 0xffbed434), line 381 in "vmThread.cpp"
[12] GenCollectedHeap::collect_locked(this = 0xad1a8, cause = _full_gc_alot,
max_level = 1), line 446 in "genCollectedHeap.cpp"
[13] GenCollectedHeap::collect(this = 0xad1a8, cause = _full_gc_alot), line
421in "genCollectedHeap.cpp"
[14] InterfaceSupport::gc_alot(), line 56 in "interfaceSupport.cpp"
[15] InterfaceSupport::check_gc_alot(), line 62 in "interfaceSupport.hpp"
[16] Thread::check_for_valid_safepoint_state(this = 0x39430,
potential_vm_operation = 0), line 638 in "thread.cpp"
[17] Mutex::check_prelock_state(this = 0x387f0, thread = 0x39430), line 264 in
"mutex.cpp"
[18] Mutex::lock(this = 0x387f0), line 28 in "mutex.cpp"
[19] MutexLocker::MutexLocker(0xffbed834, 0x387f0, 0x6, 0x0, 0x0, 0x0), at
0xfe79338c
[20] GC_locker::lock_critical(thread = 0x39430), line 84 in "gcLocker.hpp"
[21] jni_GetStringCritical(env = 0x394c8, string = 0x128144, isCopy = (nil)),
line 1604 in "jni.cpp"
dbx: warning: can't find file
"/export/home3/jdk/jdk1.4/ws/control/build/solaris-sparc/tmp/java/java.lang/java
/obj_g/jni_util.o"
[22] getString646_USChars(0x394c8, 0x128144, 0x0, 0x0, 0x0, 0x0), at
0xfe36608c@
###@###.### 2001-09-11
Both client and server are running with /usr/lib/lwp/libthread, and are doing
lots of compression and storage.
-----------------
Additional problem in this code area:
(Reported by Karen Kinnear)
I was just running b78 (from last week's code base) and turned
on
VM option '+ShowMessageBoxOnError'
VM option '+FullGCALot'
VM option '+GCALotAtAllSafepoints'
VM option '+VerifyBeforeGC'
VM option '+VerifyAfterGC'
VM option 'FullGCALotInterval=1000'
And ran into an assertion:
# assert(_no_handle_mark_nesting == 0, "allocating handle inside NoHandleMark")
The stack trace looks like:
[6] report_assertion_failure(code_str = 0xfee0fbd1 "_no_handle_mark_nesting ==
0", file_name = 0xfee0fbee
"/net/karenspc/files/merlinmain_fixes/src/share/vm/runti
me/handles.cpp", line_no = 23, message = 0xfee0fc34 "allocating handle inside
NoHandleMark"), line 148 in "debug.cpp"
[7] HandleArea::allocate_handle(this = 0x39a20, obj = 0xf1f502d0), line 23 in
"handles.cpp"
[8] Handle::Handle(0xffbed284, 0xf1f502d0, 0xffbedb38, 0xf9c214c0, 0xf1800400,
0x0), at 0xfeae3830
[9] VM_GC_Operation::acquire_pending_list_lock(this = 0xffbed434), line 66 in
"vm_operations.cpp"
[10] VM_GC_Operation::doit_prologue(this = 0xffbed434), line 91 in
"vm_operations.cpp"
[11] VMThread::execute(op = 0xffbed434), line 381 in "vmThread.cpp"
[12] GenCollectedHeap::collect_locked(this = 0xad1a8, cause = _full_gc_alot,
max_level = 1), line 446 in "genCollectedHeap.cpp"
[13] GenCollectedHeap::collect(this = 0xad1a8, cause = _full_gc_alot), line
421in "genCollectedHeap.cpp"
[14] InterfaceSupport::gc_alot(), line 56 in "interfaceSupport.cpp"
[15] InterfaceSupport::check_gc_alot(), line 62 in "interfaceSupport.hpp"
[16] Thread::check_for_valid_safepoint_state(this = 0x39430,
potential_vm_operation = 0), line 638 in "thread.cpp"
[17] Mutex::check_prelock_state(this = 0x387f0, thread = 0x39430), line 264 in
"mutex.cpp"
[18] Mutex::lock(this = 0x387f0), line 28 in "mutex.cpp"
[19] MutexLocker::MutexLocker(0xffbed834, 0x387f0, 0x6, 0x0, 0x0, 0x0), at
0xfe79338c
[20] GC_locker::lock_critical(thread = 0x39430), line 84 in "gcLocker.hpp"
[21] jni_GetStringCritical(env = 0x394c8, string = 0x128144, isCopy = (nil)),
line 1604 in "jni.cpp"
dbx: warning: can't find file
"/export/home3/jdk/jdk1.4/ws/control/build/solaris-sparc/tmp/java/java.lang/java
/obj_g/jni_util.o"
[22] getString646_USChars(0x394c8, 0x128144, 0x0, 0x0, 0x0, 0x0), at
0xfe36608c@
###@###.### 2001-09-11
- backported by
-
JDK-2046941 Java application becomes deadlocked
- Closed
- duplicates
-
JDK-4509128 vm deadlock/race hazard
- Closed
- relates to
-
JDK-4496133 JVM dumps core
- Closed