|
Quick Lists
|
|
Bug ID:
|
6496524
|
|
Votes
|
0
|
|
Synopsis
|
Setting breakpoint in jdb crashes Hotspot JVM
|
|
Category
|
hotspot:compiler2
|
|
Reported Against
|
b10
|
|
Release Fixed
|
hs10(b14),
6u4(b03) (Bug ID:2171881)
, 7(b14) (Bug ID:2176942)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
6538464
|
|
Submit Date
|
22-NOV-2006
|
|
Description
|
Here are the steps to reproduce the issue. Please see the attached testcase:
1. Run the program:
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
BreakpointBugTest
2. Attach a debugger in parallel:
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000
3. Wait some seconds in the debugger
4. Set a customer in line 21 (the one starting ' int index = ...')
stop at BreakpointBugTest$Runner:21
5. Now the VM chrashes.
cheers,
Matthias
Posted Date : 2006-11-22 12:13:38.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
Jdb is setting a breakpoint at an invokestatic bytecode. The VM safepoints, then deopts at this same bytecode.
AbstractInterpreter::continuation_for() is confused. It chooses the wrong tos type: vtos based on _breakpoint, instead of itos based on _invokestatic. The continuation state is wrong, so deopt_entry() returns the wrong entry point and hijinks ensue.
Posted Date : 2006-12-14 18:38:35.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |