-
Bug
-
Resolution: Fixed
-
P1
-
1.0
-
rc1
-
x86
-
windows_nt
-
Not verified
run the attached batch file.
The crash is reproducible - takes 5-10 minutes to reach failure.
With the following .hotspot_compiler file I have not been able to
reproduce it:
exclude EDU/oswego/cs/dl/util/concurrent/Task coInvoke
More information is shown below. The basic problem is that an oop
has been trashed when the vframearray is being filled. This happens
just before a return, so the debug info is probably be wrong?
Srdjan has seen the failure as well, you might want to talk to him too.
/Steffen
VM THREAD STACK:
================
HandleArea::allocate_handle(oopDesc * 0x00000011) line 25 + 70 bytes
Handle::Handle(oopDesc * 0x00000011) line 21 + 23 bytes
compiledVFrame::create_stack_value(ScopeValue * 0x00cf6e8c) line 298
compiledVFrame::locals() line 247 + 21 bytes
vframeArray::fill_in_locals(int 56, compiledVFrame * 0x00cf6d98) line 39 + 11 bytes
vframeArray::fill_in_vframe(int 50, compiledVFrame * 0x00cf6d98) line 199 + 19 bytes
vframeArray::fill_in(JavaThread * 0x0085e3f8, int 6, GrowableArray<compiledVFrame *> * 0x00cf6d24, const RegisterMap * 0x0e57fb6c) line 218 + 25 bytes
vframeArray::allocate(JavaThread * 0x0085e3f8, int 6, GrowableArray<compiledVFrame *> * 0x00cf6d24, RegisterMap * 0x0e57fb6c) line 28
Deoptimization::create_vframeArray(JavaThread * 0x0085e3f8, frame {...}, const RegisterMap * 0x0e57fd88) line 209 + 30 bytes
Deoptimization::deoptimize(JavaThread * 0x0085e3f8, frame {...}, const RegisterMap * 0x0e57fd88) line 231 + 35 bytes
JavaThread::deoptimize_one() line 909 + 56 bytes
JavaThread::deoptimize() line 925 + 8 bytes
VM_DeoptimizeAll::doit() line 269 + 8 bytes
VM_Operation::evaluate() line 31
VMThread::evaluate_operation(VM_Operation * 0x0ee7e288) line 436
VMThread::loop() line 526
VMThread::vm_thread_main(Monitor * 0x007d2738) line 325
_start(void * 0x00848838) line 196 + 19 bytes
_threadstartex(void * 0x00848890) line 212 + 13 bytes
KERNEL32! 77f04f2c()
THREAD INVOKING VM OPERATION:
=============================
VMThread::execute(VM_Operation * 0x0ee7e288) line 622
InterfaceSupport::deoptimizeAll() line 140 + 9 bytes
VMEntryWrapper::~VMEntryWrapper() line 175
OptoRuntime::resolve_opt_virtual_call_C(JavaThread * 0x0085e3f8) line 716 + 31 bytes
TRACE OF FRAMES (#6 IS BEING DEOPTIMIZED):
==========================================
1. C frame (sp=0xee7e2f4, fp=0, pc=0xdc1123)
RuntimeStub: _resolve_opt_virtual_call_Java
2. Deoptimized frame (sp=0xee7e31c, fp=0, pc=0xdc25e0)
DeoptimizationBlob
3. Deoptimized frame (sp=0xee7e33c, fp=0, pc=0xdc25e0)
DeoptimizationBlob
4. Deoptimized frame (sp=0xee7e354, fp=0, pc=0xdc25e0)
DeoptimizationBlob
5. Deoptimized frame (sp=0xee7e3c4, fp=0, pc=0xdc25e0)
DeoptimizationBlob
6. Compiled frame (sp=0xee7e3e4, fp=0, pc=0xdffede)
nmethod:{method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/o
swego/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/Task'
7. Compiled frame (sp=0xee7e3fc, fp=0, pc=0xdec57a)
nmethod:{method} 'run' '()V' in 'Fib'
STACK DUMP:
===========
0EE7E3C8 084202D8
0EE7E3CC 00000000
0EE7E3D0 084202E8
0EE7E3D4 00000010
0EE7E3D8 084202E8
0EE7E3DC 00000010
0EE7E3E0 00DFFEDE
0EE7E3E4 00000011 <<<<< trashed oop (value_addr in compiledVFrame::create_stack_value)
0EE7E3E8 084DA088
0EE7E3EC 084202D8
0EE7E3F0 00000010
0EE7E3F4 0EE7E40C
0EE7E3F8 00DEC57A
0EE7E3FC 08420000
0EE7E400 084202D8
0EE7E404 00000010
0EE7E408 00000011
0EE7E40C 0EE7E420
0EE7E410 0810409C
0EE7E414 00000006
0EE7E418 00000008
0EE7E41C 0EE7E454
0EE7E420 0EE7E45C
0EE7E424 0822EF22
0EE7E428 08420000
0EE7E42C 00000000
0EE7E430 00000010
0EE7E434 0854DB90
0EE7E438 00000010
0EE7E43C 00000012
0EE7E440 0085E3F8
0EE7E444 082B4048
0EE7E448 00DEB285
0EE7E44C 08420000
0EE7E450 00C94E10
0EE7E454 00000010
0EE7E458 0854DB90
0EE7E45C 00000010
0EE7E460 00DC1123
0EE7E464 00DEAB09
0EE7E468 00DEABB9
0EE7E46C 084A00C0
0EE7E470 084A00C0
0EE7E474 00000000
0EE7E478 08420000
0EE7E47C 0000000F
0EE7E480 0085E3F8
0EE7E484 084A00C0
0EE7E488 00DFFEDE
0EE7E48C 08420000
0EE7E490 084DA088
0EE7E494 084A00C0
0EE7E498 0085E3F8
0EE7E49C 0EE7E4F8
0EE7E4A0 00DEC57A
0EE7E4A4 084A00B0
0EE7E4A8 084A00C0
0EE7E4AC 00000012
0EE7E4B0 00000013
0EE7E4B4 0EE7E500
0EE7E4B8 08192C8C
0EE7E4BC 0085E3F8
0EE7E4C0 0C43D098
0EE7E4C4 0C43D040
0EE7E4C8 00000001
0EE7E4CC 008577CC
0EE7E4D0 082B5D80
0EE7E4D4 0EE7E4D4
0EE7E4D8 0000000F
0EE7E4DC 0854DB90
0EE7E4E0 0000000F
0EE7E4E4 00000014
0EE7E4E8 082B4048
0EE7E4EC 0085E8F8
0EE7E4F0 00DEB285
0EE7E4F4 0849FFD8
0EE7E4F8 082B5BD0
0EE7E4FC 0000000F
NMETHOD BEING DEOPTIMIZED:
==========================
Compiled {method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/osweg
o/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/Task'[2,2]
((nmethod*)0xdffe10)
((nmethod*)0xdffe10) for method 0xc4e0490 { in_use }:
main code [0xdffec0..0xdffef9] = 57
exception code [0xdffef9..0xdffefe] = 5
stub code [0xdffefe..0xdfff18] = 26
relocation [0xdffe94..0xdffeb4] = 32
oops [0xdfff64..0xdfff74] = 16
scopes data [0xdfff18..0xdfff30] = 24
scopes pcs [0xdfff30..0xdfff40] = 16
handler table [0xdfff40..0xdfff60] = 32
nul chk table [0xdfff60..0xdfff64] = 4
total size = 356
Decoding CodeBlob 0xdffe10
0xdffec0: subl 20,%esp
0xdffec3: movl %ecx,8(%esp,1)
0xdffec7: movl %edx,(%esp,1)
0xdffeca: call 0xdffefe
0xdffecf: testl %eax,%eax
0xdffed1: je 0xdffeec
0xdffed3: movl %eax,%ecx
0xdffed5: movl 8(%esp,1),%edx
0xdffed9: call 0xdeab09
0xdffede: addl 20,%esp <<<<<<<<<< pc in frame being deoptimized
0xdffee1: ret
0xdffee2: nop
0xdffee3: nop
0xdffee4: movl %eax,%ecx
0xdffee6: jmp 0xdffef1
0xdffee8: movl %eax,%ecx
0xdffeea: jmp 0xdffef1
0xdffeec: movl 0xc4581e0,%ecx
0xdffef1: addl 20,%esp
0xdffef4: jmp 0xdc21e0
0xdffef9: jmp 0xdc0060
0xdffefe: movl 0xc4e0580,%eax
0xdfff03: jmp 0xe001cf
0xdfff08: movl 0x0,%eax
0xdfff0d: jmp -0x1
0xdfff12: stosl %eax,%es:(%edi)
0xdfff13: stosl %eax,%es:(%edi)
0xdfff14: stosl %eax,%es:(%edi)
0xdfff15: stosl %eax,%es:(%edi)
0xdfff16: stosl %eax,%es:(%edi)
0xdfff17: stosl %eax,%es:(%edi)
NMETHOD JUST CALLED:
====================
Compiled {method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/osweg
o/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/TaskRunner
'[3,5] ((nmethod*)0xdea9d0)
((nmethod*)0xdea9d0) for method 0xc4f6ed8 { in_use }:
main code [0xdeab00..0xdeacef] = 495
exception code [0xdeacef..0xdeacf4] = 5
stub code [0xdeacf4..0xdead70] = 124
relocation [0xdeaa54..0xdeaaf8] = 164
oops [0xdeb020..0xdeb0c4] = 164
scopes data [0xdead70..0xdeaedc] = 364
scopes pcs [0xdeaedc..0xdeaf4c] = 112
handler table [0xdeaf4c..0xdeb00c] = 192
nul chk table [0xdeb00c..0xdeb020] = 20
total size = 1780
Decoding CodeBlob 0xdea9d0
0xdeab00: cmpl 4(%ecx),%eax
0xdeab03: jne 0xdc0220
0xdeab09: subl 28,%esp
0xdeab0c: movl %ebp,16(%esp,1)
0xdeab10: movl %edi,12(%esp,1)
0xdeab14: movl %esi,8(%esp,1)
0xdeab18: movl %edx,(%esp,1)
0xdeab1b: movl %ecx,36(%esp,1)
0xdeab1f: movl %edx,%ebx
0xdeab21: movl %ebx,4(%esp,1)
0xdeab25: movl %ecx,%ebx
0xdeab27: movl 72(%ebx),%esi
0xdeab2a: movl 64(%ebx),%edi
0xdeab2d: movl 76(%ebx),%ebx
0xdeab30: movl 8(%edi),%ecx
0xdeab33: movl %ecx,%ebp
0xdeab35: decl %ebp
0xdeab36: andl %ebp,%ebx
0xdeab38: addl %ecx,%ebx
0xdeab3a: cmpl %ebx,%esi
0xdeab3c: jnl 0xdeab53
0xdeab3e: andl %esi,%ebp
0xdeab40: cmpl %ecx,%ebp
0xdeab42: jae 0xdeacd0
0xdeab48: movl 12(%edi,%ebp,4),%ebx
0xdeab4c: movl %edx,%ecx
0xdeab4e: movl %ecx,8(%ebx)
0xdeab51: jmp 0xdeab77
0xdeab53: movl 36(%esp,1),%ecx
0xdeab57: call 0xdc10e0
0xdeab5c: movl 32(%esp,1),%ecx
0xdeab60: call 0xdc0e60
0xdeab65: movl 36(%esp,1),%ecx
0xdeab69: movl 4(%esp,1),%edx
0xdeab6d: call 0xdc10e0
0xdeab72: jmp 0xdeac7c
0xdeab77: shrl 0x9,%ebx
0xdeab7a: movb 0x0,239132416(%ebx)
0xdeab81: movl %esi,%ebx
0xdeab83: incl %ebx
0xdeab84: movl 36(%esp,1),%ecx
0xdeab88: movl %ebx,72(%ecx)
0xdeab8b: movl 32(%esp,1),%ebx
0xdeab8f: testl %ebx,%ebx
0xdeab91: je 0xdeacc1
0xdeab97: movl 32(%esp,1),%ecx
0xdeab9b: call 0xdead12
0xdeaba0: testl %eax,%eax
0xdeaba2: jne 0xdeabc2
0xdeaba4: movl 36(%esp,1),%ebx
0xdeaba8: incl 92(%ebx)
0xdeabab: movl 32(%esp,1),%ecx
0xdeabaf: movl 0xc4effd0,%eax
0xdeabb4: call 0xdec2c0
0xdeabb9: movl 32(%esp,1),%ecx
0xdeabbd: call 0xe000e9
0xdeabc2: movl 4(%esp,1),%ebx
0xdeabc6: testl %ebx,%ebx
0xdeabc8: je 0xdeacc1
0xdeabce: movl %ebx,%ecx
0xdeabd0: call 0xdead26
0xdeabd5: testl %eax,%eax
0xdeabd7: jne 0xdeac7c
0xdeabdd: nop
0xdeabde: nop
0xdeabdf: nop
0xdeabe0: movl 36(%esp,1),%ebx
0xdeabe4: movl 72(%ebx),%ebx
0xdeabe7: decl %ebx
0xdeabe8: movl %ebx,32(%esp,1) <<<<<<<< likely trashing of argument
0xdeabec: movl 36(%esp,1),%ebx
0xdeabf0: movl 32(%esp,1),%ecx
0xdeabf4: movl %ecx,72(%ebx)
0xdeabf7: movl 76(%ebx),%ebx
0xdeabfa: cmpl 32(%esp,1),%ebx
0xdeabfe: jl 0xdeac11
0xdeac00: movl 36(%esp,1),%ecx
0xdeac04: movl 32(%esp,1),%edx
0xdeac08: call 0xdc10e0
0xdeac0d: movl %eax,%esi
0xdeac0f: jmp 0xdeac38
0xdeac11: movl 36(%esp,1),%ebx
0xdeac15: movl 64(%ebx),%esi
0xdeac18: movl 8(%esi),%ebx
0xdeac1b: movl %ebx,%edi
0xdeac1d: decl %edi
0xdeac1e: andl 32(%esp,1),%edi
0xdeac22: cmpl %ebx,%edi
0xdeac24: jae 0xdeac9a
0xdeac2a: movl 12(%esi,%edi,4),%ebx
0xdeac2e: movl 8(%ebx),%esi
0xdeac31: movl 0x0,8(%ebx)
0xdeac38: testl %esi,%esi
0xdeac3a: je 0xdeacc1
0xdeac40: movl %esi,%ecx
0xdeac42: call 0xdead3a
0xdeac47: testl %eax,%eax
0xdeac49: jne 0xdeac6b
0xdeac4b: movl 36(%esp,1),%ebx
0xdeac4f: incl 92(%ebx)
0xdeac52: movl %esi,%ecx
0xdeac54: movl 0xc4effd0,%eax
0xdeac59: call 0xdec2c0
0xdeac5e: movl %esi,%ecx
0xdeac60: call 0xdead44
0xdeac65: cmpl 4(%esp,1),%esi
0xdeac69: je 0xdeac7c
0xdeac6b: movl 4(%esp,1),%ecx
0xdeac6f: call 0xdc10e0
0xdeac74: testl %eax,%eax
0xdeac76: je 0xdeabe0
0xdeac7c: movl 8(%esp,1),%esi
0xdeac80: movl 12(%esp,1),%edi
0xdeac84: movl 16(%esp,1),%ebp
0xdeac88: addl 28,%esp
0xdeac8b: ret
0xdeac8c: nop
0xdeac8d: nop
0xdeac8e: movl %eax,%ecx
0xdeac90: jmp 0xdeacdb
0xdeac92: movl %eax,%ecx
0xdeac94: jmp 0xdeacdb
0xdeac96: movl %eax,%ecx
0xdeac98: jmp 0xdeacdb
0xdeac9a: movl 0xfffffffb,%ecx
0xdeac9f: call 0xdc2760
0xdeaca4: int3
0xdeaca5: movl %eax,%ecx
0xdeaca7: jmp 0xdeacdb
0xdeaca9: movl %eax,%ecx
0xdeacab: jmp 0xdeacdb
0xdeacad: movl %eax,%ecx
0xdeacaf: jmp 0xdeacdb
0xdeacb1: movl %eax,%ecx
0xdeacb3: jmp 0xdeacdb
0xdeacb5: movl %eax,%ecx
0xdeacb7: jmp 0xdeacdb
0xdeacb9: movl %eax,%ecx
0xdeacbb: jmp 0xdeacdb
0xdeacbd: movl %eax,%ecx
0xdeacbf: jmp 0xdeacdb
0xdeacc1: movl 0xc4581e0,%ecx
0xdeacc6: jmp 0xdeacdb
0xdeacc8: movl %eax,%ecx
0xdeacca: jmp 0xdeacdb
0xdeaccc: movl %eax,%ecx
0xdeacce: jmp 0xdeacdb
0xdeacd0: movl 0xfffffffb,%ecx
0xdeacd5: call 0xdc2760
0xdeacda: int3
0xdeacdb: movl 8(%esp,1),%esi
0xdeacdf: movl 12(%esp,1),%edi
0xdeace3: movl 16(%esp,1),%ebp
0xdeace7: addl 28,%esp
0xdeacea: jmp 0xdc21e0
0xdeacef: jmp 0xdc0060
0xdeacf4: movl 0x0,%eax
0xdeacf9: jmp -0x1
0xdeacfe: movl 0x0,%eax
0xdead03: jmp -0x1
0xdead08: movl 0x0,%eax
0xdead0d: jmp -0x1
0xdead12: movl 0xc4e06e8,%eax
0xdead17: jmp 0xdeb24f
0xdead1c: movl 0xc4e0820,%eax
0xdead21: jmp 0xdffa8f
0xdead26: movl 0xc4e06e8,%eax
0xdead2b: jmp 0xdeb24f
0xdead30: movl 0x0,%eax
0xdead35: jmp -0x1
0xdead3a: movl 0xc4e06e8,%eax
0xdead3f: jmp 0xdeb24f
0xdead44: movl 0xc4e0820,%eax
0xdead49: jmp 0xdffa8f
0xdead4e: movl 0x0,%eax
0xdead53: jmp -0x1
0xdead58: stosl %eax,%es:(%edi)
0xdead59: stosl %eax,%es:(%edi)
0xdead5a: stosl %eax,%es:(%edi)
0xdead5b: stosl %eax,%es:(%edi)
0xdead5c: stosl %eax,%es:(%edi)
0xdead5d: stosl %eax,%es:(%edi)
0xdead5e: stosl %eax,%es:(%edi)
0xdead5f: stosl %eax,%es:(%edi)
0xdead60: stosl %eax,%es:(%edi)
0xdead61: stosl %eax,%es:(%edi)
0xdead62: stosl %eax,%es:(%edi)
0xdead63: stosl %eax,%es:(%edi)
0xdead64: stosl %eax,%es:(%edi)
0xdead65: stosl %eax,%es:(%edi)
0xdead66: stosl %eax,%es:(%edi)
0xdead67: stosl %eax,%es:(%edi)
0xdead68: stosl %eax,%es:(%edi)
0xdead69: stosl %eax,%es:(%edi)
0xdead6a: stosl %eax,%es:(%edi)
0xdead6b: stosl %eax,%es:(%edi)
0xdead6c: stosl %eax,%es:(%edi)
0xdead6d: stosl %eax,%es:(%edi)
0xdead6e: stosl %eax,%es:(%edi)
0xdead6f: stosl %eax,%es:(%edi)
steffen.grarup@eng 1999-02-10
The crash is reproducible - takes 5-10 minutes to reach failure.
With the following .hotspot_compiler file I have not been able to
reproduce it:
exclude EDU/oswego/cs/dl/util/concurrent/Task coInvoke
More information is shown below. The basic problem is that an oop
has been trashed when the vframearray is being filled. This happens
just before a return, so the debug info is probably be wrong?
Srdjan has seen the failure as well, you might want to talk to him too.
/Steffen
VM THREAD STACK:
================
HandleArea::allocate_handle(oopDesc * 0x00000011) line 25 + 70 bytes
Handle::Handle(oopDesc * 0x00000011) line 21 + 23 bytes
compiledVFrame::create_stack_value(ScopeValue * 0x00cf6e8c) line 298
compiledVFrame::locals() line 247 + 21 bytes
vframeArray::fill_in_locals(int 56, compiledVFrame * 0x00cf6d98) line 39 + 11 bytes
vframeArray::fill_in_vframe(int 50, compiledVFrame * 0x00cf6d98) line 199 + 19 bytes
vframeArray::fill_in(JavaThread * 0x0085e3f8, int 6, GrowableArray<compiledVFrame *> * 0x00cf6d24, const RegisterMap * 0x0e57fb6c) line 218 + 25 bytes
vframeArray::allocate(JavaThread * 0x0085e3f8, int 6, GrowableArray<compiledVFrame *> * 0x00cf6d24, RegisterMap * 0x0e57fb6c) line 28
Deoptimization::create_vframeArray(JavaThread * 0x0085e3f8, frame {...}, const RegisterMap * 0x0e57fd88) line 209 + 30 bytes
Deoptimization::deoptimize(JavaThread * 0x0085e3f8, frame {...}, const RegisterMap * 0x0e57fd88) line 231 + 35 bytes
JavaThread::deoptimize_one() line 909 + 56 bytes
JavaThread::deoptimize() line 925 + 8 bytes
VM_DeoptimizeAll::doit() line 269 + 8 bytes
VM_Operation::evaluate() line 31
VMThread::evaluate_operation(VM_Operation * 0x0ee7e288) line 436
VMThread::loop() line 526
VMThread::vm_thread_main(Monitor * 0x007d2738) line 325
_start(void * 0x00848838) line 196 + 19 bytes
_threadstartex(void * 0x00848890) line 212 + 13 bytes
KERNEL32! 77f04f2c()
THREAD INVOKING VM OPERATION:
=============================
VMThread::execute(VM_Operation * 0x0ee7e288) line 622
InterfaceSupport::deoptimizeAll() line 140 + 9 bytes
VMEntryWrapper::~VMEntryWrapper() line 175
OptoRuntime::resolve_opt_virtual_call_C(JavaThread * 0x0085e3f8) line 716 + 31 bytes
TRACE OF FRAMES (#6 IS BEING DEOPTIMIZED):
==========================================
1. C frame (sp=0xee7e2f4, fp=0, pc=0xdc1123)
RuntimeStub: _resolve_opt_virtual_call_Java
2. Deoptimized frame (sp=0xee7e31c, fp=0, pc=0xdc25e0)
DeoptimizationBlob
3. Deoptimized frame (sp=0xee7e33c, fp=0, pc=0xdc25e0)
DeoptimizationBlob
4. Deoptimized frame (sp=0xee7e354, fp=0, pc=0xdc25e0)
DeoptimizationBlob
5. Deoptimized frame (sp=0xee7e3c4, fp=0, pc=0xdc25e0)
DeoptimizationBlob
6. Compiled frame (sp=0xee7e3e4, fp=0, pc=0xdffede)
nmethod:{method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/o
swego/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/Task'
7. Compiled frame (sp=0xee7e3fc, fp=0, pc=0xdec57a)
nmethod:{method} 'run' '()V' in 'Fib'
STACK DUMP:
===========
0EE7E3C8 084202D8
0EE7E3CC 00000000
0EE7E3D0 084202E8
0EE7E3D4 00000010
0EE7E3D8 084202E8
0EE7E3DC 00000010
0EE7E3E0 00DFFEDE
0EE7E3E4 00000011 <<<<< trashed oop (value_addr in compiledVFrame::create_stack_value)
0EE7E3E8 084DA088
0EE7E3EC 084202D8
0EE7E3F0 00000010
0EE7E3F4 0EE7E40C
0EE7E3F8 00DEC57A
0EE7E3FC 08420000
0EE7E400 084202D8
0EE7E404 00000010
0EE7E408 00000011
0EE7E40C 0EE7E420
0EE7E410 0810409C
0EE7E414 00000006
0EE7E418 00000008
0EE7E41C 0EE7E454
0EE7E420 0EE7E45C
0EE7E424 0822EF22
0EE7E428 08420000
0EE7E42C 00000000
0EE7E430 00000010
0EE7E434 0854DB90
0EE7E438 00000010
0EE7E43C 00000012
0EE7E440 0085E3F8
0EE7E444 082B4048
0EE7E448 00DEB285
0EE7E44C 08420000
0EE7E450 00C94E10
0EE7E454 00000010
0EE7E458 0854DB90
0EE7E45C 00000010
0EE7E460 00DC1123
0EE7E464 00DEAB09
0EE7E468 00DEABB9
0EE7E46C 084A00C0
0EE7E470 084A00C0
0EE7E474 00000000
0EE7E478 08420000
0EE7E47C 0000000F
0EE7E480 0085E3F8
0EE7E484 084A00C0
0EE7E488 00DFFEDE
0EE7E48C 08420000
0EE7E490 084DA088
0EE7E494 084A00C0
0EE7E498 0085E3F8
0EE7E49C 0EE7E4F8
0EE7E4A0 00DEC57A
0EE7E4A4 084A00B0
0EE7E4A8 084A00C0
0EE7E4AC 00000012
0EE7E4B0 00000013
0EE7E4B4 0EE7E500
0EE7E4B8 08192C8C
0EE7E4BC 0085E3F8
0EE7E4C0 0C43D098
0EE7E4C4 0C43D040
0EE7E4C8 00000001
0EE7E4CC 008577CC
0EE7E4D0 082B5D80
0EE7E4D4 0EE7E4D4
0EE7E4D8 0000000F
0EE7E4DC 0854DB90
0EE7E4E0 0000000F
0EE7E4E4 00000014
0EE7E4E8 082B4048
0EE7E4EC 0085E8F8
0EE7E4F0 00DEB285
0EE7E4F4 0849FFD8
0EE7E4F8 082B5BD0
0EE7E4FC 0000000F
NMETHOD BEING DEOPTIMIZED:
==========================
Compiled {method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/osweg
o/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/Task'[2,2]
((nmethod*)0xdffe10)
((nmethod*)0xdffe10) for method 0xc4e0490 { in_use }:
main code [0xdffec0..0xdffef9] = 57
exception code [0xdffef9..0xdffefe] = 5
stub code [0xdffefe..0xdfff18] = 26
relocation [0xdffe94..0xdffeb4] = 32
oops [0xdfff64..0xdfff74] = 16
scopes data [0xdfff18..0xdfff30] = 24
scopes pcs [0xdfff30..0xdfff40] = 16
handler table [0xdfff40..0xdfff60] = 32
nul chk table [0xdfff60..0xdfff64] = 4
total size = 356
Decoding CodeBlob 0xdffe10
0xdffec0: subl 20,%esp
0xdffec3: movl %ecx,8(%esp,1)
0xdffec7: movl %edx,(%esp,1)
0xdffeca: call 0xdffefe
0xdffecf: testl %eax,%eax
0xdffed1: je 0xdffeec
0xdffed3: movl %eax,%ecx
0xdffed5: movl 8(%esp,1),%edx
0xdffed9: call 0xdeab09
0xdffede: addl 20,%esp <<<<<<<<<< pc in frame being deoptimized
0xdffee1: ret
0xdffee2: nop
0xdffee3: nop
0xdffee4: movl %eax,%ecx
0xdffee6: jmp 0xdffef1
0xdffee8: movl %eax,%ecx
0xdffeea: jmp 0xdffef1
0xdffeec: movl 0xc4581e0,%ecx
0xdffef1: addl 20,%esp
0xdffef4: jmp 0xdc21e0
0xdffef9: jmp 0xdc0060
0xdffefe: movl 0xc4e0580,%eax
0xdfff03: jmp 0xe001cf
0xdfff08: movl 0x0,%eax
0xdfff0d: jmp -0x1
0xdfff12: stosl %eax,%es:(%edi)
0xdfff13: stosl %eax,%es:(%edi)
0xdfff14: stosl %eax,%es:(%edi)
0xdfff15: stosl %eax,%es:(%edi)
0xdfff16: stosl %eax,%es:(%edi)
0xdfff17: stosl %eax,%es:(%edi)
NMETHOD JUST CALLED:
====================
Compiled {method} 'coInvoke' '(LEDU/oswego/cs/dl/util/concurrent/Task;LEDU/osweg
o/cs/dl/util/concurrent/Task;)V' in 'EDU/oswego/cs/dl/util/concurrent/TaskRunner
'[3,5] ((nmethod*)0xdea9d0)
((nmethod*)0xdea9d0) for method 0xc4f6ed8 { in_use }:
main code [0xdeab00..0xdeacef] = 495
exception code [0xdeacef..0xdeacf4] = 5
stub code [0xdeacf4..0xdead70] = 124
relocation [0xdeaa54..0xdeaaf8] = 164
oops [0xdeb020..0xdeb0c4] = 164
scopes data [0xdead70..0xdeaedc] = 364
scopes pcs [0xdeaedc..0xdeaf4c] = 112
handler table [0xdeaf4c..0xdeb00c] = 192
nul chk table [0xdeb00c..0xdeb020] = 20
total size = 1780
Decoding CodeBlob 0xdea9d0
0xdeab00: cmpl 4(%ecx),%eax
0xdeab03: jne 0xdc0220
0xdeab09: subl 28,%esp
0xdeab0c: movl %ebp,16(%esp,1)
0xdeab10: movl %edi,12(%esp,1)
0xdeab14: movl %esi,8(%esp,1)
0xdeab18: movl %edx,(%esp,1)
0xdeab1b: movl %ecx,36(%esp,1)
0xdeab1f: movl %edx,%ebx
0xdeab21: movl %ebx,4(%esp,1)
0xdeab25: movl %ecx,%ebx
0xdeab27: movl 72(%ebx),%esi
0xdeab2a: movl 64(%ebx),%edi
0xdeab2d: movl 76(%ebx),%ebx
0xdeab30: movl 8(%edi),%ecx
0xdeab33: movl %ecx,%ebp
0xdeab35: decl %ebp
0xdeab36: andl %ebp,%ebx
0xdeab38: addl %ecx,%ebx
0xdeab3a: cmpl %ebx,%esi
0xdeab3c: jnl 0xdeab53
0xdeab3e: andl %esi,%ebp
0xdeab40: cmpl %ecx,%ebp
0xdeab42: jae 0xdeacd0
0xdeab48: movl 12(%edi,%ebp,4),%ebx
0xdeab4c: movl %edx,%ecx
0xdeab4e: movl %ecx,8(%ebx)
0xdeab51: jmp 0xdeab77
0xdeab53: movl 36(%esp,1),%ecx
0xdeab57: call 0xdc10e0
0xdeab5c: movl 32(%esp,1),%ecx
0xdeab60: call 0xdc0e60
0xdeab65: movl 36(%esp,1),%ecx
0xdeab69: movl 4(%esp,1),%edx
0xdeab6d: call 0xdc10e0
0xdeab72: jmp 0xdeac7c
0xdeab77: shrl 0x9,%ebx
0xdeab7a: movb 0x0,239132416(%ebx)
0xdeab81: movl %esi,%ebx
0xdeab83: incl %ebx
0xdeab84: movl 36(%esp,1),%ecx
0xdeab88: movl %ebx,72(%ecx)
0xdeab8b: movl 32(%esp,1),%ebx
0xdeab8f: testl %ebx,%ebx
0xdeab91: je 0xdeacc1
0xdeab97: movl 32(%esp,1),%ecx
0xdeab9b: call 0xdead12
0xdeaba0: testl %eax,%eax
0xdeaba2: jne 0xdeabc2
0xdeaba4: movl 36(%esp,1),%ebx
0xdeaba8: incl 92(%ebx)
0xdeabab: movl 32(%esp,1),%ecx
0xdeabaf: movl 0xc4effd0,%eax
0xdeabb4: call 0xdec2c0
0xdeabb9: movl 32(%esp,1),%ecx
0xdeabbd: call 0xe000e9
0xdeabc2: movl 4(%esp,1),%ebx
0xdeabc6: testl %ebx,%ebx
0xdeabc8: je 0xdeacc1
0xdeabce: movl %ebx,%ecx
0xdeabd0: call 0xdead26
0xdeabd5: testl %eax,%eax
0xdeabd7: jne 0xdeac7c
0xdeabdd: nop
0xdeabde: nop
0xdeabdf: nop
0xdeabe0: movl 36(%esp,1),%ebx
0xdeabe4: movl 72(%ebx),%ebx
0xdeabe7: decl %ebx
0xdeabe8: movl %ebx,32(%esp,1) <<<<<<<< likely trashing of argument
0xdeabec: movl 36(%esp,1),%ebx
0xdeabf0: movl 32(%esp,1),%ecx
0xdeabf4: movl %ecx,72(%ebx)
0xdeabf7: movl 76(%ebx),%ebx
0xdeabfa: cmpl 32(%esp,1),%ebx
0xdeabfe: jl 0xdeac11
0xdeac00: movl 36(%esp,1),%ecx
0xdeac04: movl 32(%esp,1),%edx
0xdeac08: call 0xdc10e0
0xdeac0d: movl %eax,%esi
0xdeac0f: jmp 0xdeac38
0xdeac11: movl 36(%esp,1),%ebx
0xdeac15: movl 64(%ebx),%esi
0xdeac18: movl 8(%esi),%ebx
0xdeac1b: movl %ebx,%edi
0xdeac1d: decl %edi
0xdeac1e: andl 32(%esp,1),%edi
0xdeac22: cmpl %ebx,%edi
0xdeac24: jae 0xdeac9a
0xdeac2a: movl 12(%esi,%edi,4),%ebx
0xdeac2e: movl 8(%ebx),%esi
0xdeac31: movl 0x0,8(%ebx)
0xdeac38: testl %esi,%esi
0xdeac3a: je 0xdeacc1
0xdeac40: movl %esi,%ecx
0xdeac42: call 0xdead3a
0xdeac47: testl %eax,%eax
0xdeac49: jne 0xdeac6b
0xdeac4b: movl 36(%esp,1),%ebx
0xdeac4f: incl 92(%ebx)
0xdeac52: movl %esi,%ecx
0xdeac54: movl 0xc4effd0,%eax
0xdeac59: call 0xdec2c0
0xdeac5e: movl %esi,%ecx
0xdeac60: call 0xdead44
0xdeac65: cmpl 4(%esp,1),%esi
0xdeac69: je 0xdeac7c
0xdeac6b: movl 4(%esp,1),%ecx
0xdeac6f: call 0xdc10e0
0xdeac74: testl %eax,%eax
0xdeac76: je 0xdeabe0
0xdeac7c: movl 8(%esp,1),%esi
0xdeac80: movl 12(%esp,1),%edi
0xdeac84: movl 16(%esp,1),%ebp
0xdeac88: addl 28,%esp
0xdeac8b: ret
0xdeac8c: nop
0xdeac8d: nop
0xdeac8e: movl %eax,%ecx
0xdeac90: jmp 0xdeacdb
0xdeac92: movl %eax,%ecx
0xdeac94: jmp 0xdeacdb
0xdeac96: movl %eax,%ecx
0xdeac98: jmp 0xdeacdb
0xdeac9a: movl 0xfffffffb,%ecx
0xdeac9f: call 0xdc2760
0xdeaca4: int3
0xdeaca5: movl %eax,%ecx
0xdeaca7: jmp 0xdeacdb
0xdeaca9: movl %eax,%ecx
0xdeacab: jmp 0xdeacdb
0xdeacad: movl %eax,%ecx
0xdeacaf: jmp 0xdeacdb
0xdeacb1: movl %eax,%ecx
0xdeacb3: jmp 0xdeacdb
0xdeacb5: movl %eax,%ecx
0xdeacb7: jmp 0xdeacdb
0xdeacb9: movl %eax,%ecx
0xdeacbb: jmp 0xdeacdb
0xdeacbd: movl %eax,%ecx
0xdeacbf: jmp 0xdeacdb
0xdeacc1: movl 0xc4581e0,%ecx
0xdeacc6: jmp 0xdeacdb
0xdeacc8: movl %eax,%ecx
0xdeacca: jmp 0xdeacdb
0xdeaccc: movl %eax,%ecx
0xdeacce: jmp 0xdeacdb
0xdeacd0: movl 0xfffffffb,%ecx
0xdeacd5: call 0xdc2760
0xdeacda: int3
0xdeacdb: movl 8(%esp,1),%esi
0xdeacdf: movl 12(%esp,1),%edi
0xdeace3: movl 16(%esp,1),%ebp
0xdeace7: addl 28,%esp
0xdeacea: jmp 0xdc21e0
0xdeacef: jmp 0xdc0060
0xdeacf4: movl 0x0,%eax
0xdeacf9: jmp -0x1
0xdeacfe: movl 0x0,%eax
0xdead03: jmp -0x1
0xdead08: movl 0x0,%eax
0xdead0d: jmp -0x1
0xdead12: movl 0xc4e06e8,%eax
0xdead17: jmp 0xdeb24f
0xdead1c: movl 0xc4e0820,%eax
0xdead21: jmp 0xdffa8f
0xdead26: movl 0xc4e06e8,%eax
0xdead2b: jmp 0xdeb24f
0xdead30: movl 0x0,%eax
0xdead35: jmp -0x1
0xdead3a: movl 0xc4e06e8,%eax
0xdead3f: jmp 0xdeb24f
0xdead44: movl 0xc4e0820,%eax
0xdead49: jmp 0xdffa8f
0xdead4e: movl 0x0,%eax
0xdead53: jmp -0x1
0xdead58: stosl %eax,%es:(%edi)
0xdead59: stosl %eax,%es:(%edi)
0xdead5a: stosl %eax,%es:(%edi)
0xdead5b: stosl %eax,%es:(%edi)
0xdead5c: stosl %eax,%es:(%edi)
0xdead5d: stosl %eax,%es:(%edi)
0xdead5e: stosl %eax,%es:(%edi)
0xdead5f: stosl %eax,%es:(%edi)
0xdead60: stosl %eax,%es:(%edi)
0xdead61: stosl %eax,%es:(%edi)
0xdead62: stosl %eax,%es:(%edi)
0xdead63: stosl %eax,%es:(%edi)
0xdead64: stosl %eax,%es:(%edi)
0xdead65: stosl %eax,%es:(%edi)
0xdead66: stosl %eax,%es:(%edi)
0xdead67: stosl %eax,%es:(%edi)
0xdead68: stosl %eax,%es:(%edi)
0xdead69: stosl %eax,%es:(%edi)
0xdead6a: stosl %eax,%es:(%edi)
0xdead6b: stosl %eax,%es:(%edi)
0xdead6c: stosl %eax,%es:(%edi)
0xdead6d: stosl %eax,%es:(%edi)
0xdead6e: stosl %eax,%es:(%edi)
0xdead6f: stosl %eax,%es:(%edi)
steffen.grarup@eng 1999-02-10
- relates to
-
JDK-6522319 java_g hitting assertion while de-optimizing
-
- Closed
-
-
JDK-6522315 java_g hitting assertion while de-optimizing
-
- Closed
-
-
JDK-6522316 java_g hitting assertion while de-optimizing
-
- Closed
-
-
JDK-6522317 java_g hitting assertion while de-optimizing
-
- Closed
-
-
JDK-6522318 java_g hitting assertion while de-optimizing
-
- Closed
-