RFR: JDK-8317920: JDWP-agent sends broken exception event with onthrow option [v2]
Johannes Bechberger
jbechberger at openjdk.org
Mon Oct 16 16:40:38 UTC 2023
On Mon, 16 Oct 2023 16:22:29 GMT, Johannes Bechberger <jbechberger at openjdk.org> wrote:
>> test/jdk/com/sun/jdi/JdwpOnThrowTest.java line 86:
>>
>>> 84: if (ex.catchLocation() == null) {
>>> 85: throw new RuntimeException("Exception catch location is null");
>>> 86: }
>>
>> One more thing you can check here. ExceptionEvent implements Locatable, which has a location() API. That should return the same location as ex.thread().frame(0).location().
>
> `if (!ex.thread().frame(0).location().equals(ex.location())) {` causes an exception:
>
>
> java.lang.IllegalArgumentException: Invalid method id: 139869509179824
> at jdk.jdi/com.sun.tools.jdi.ReferenceTypeImpl.getMethodMirror(ReferenceTypeImpl.java:127)
> at jdk.jdi/com.sun.tools.jdi.LocationImpl.method(LocationImpl.java:101)
> at jdk.jdi/com.sun.tools.jdi.LocationImpl.equals(LocationImpl.java:66)
> at JdwpOnThrowTest.main(JdwpOnThrowTest.java:92)
> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> at java.base/java.lang.reflect.Method.invoke(Method.java:580)
> at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
> at java.base/java.lang.Thread.run(Thread.java:1570)
I resolved all the other things you pointed out, but this issue is sticky.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16145#discussion_r1360942831
More information about the serviceability-dev
mailing list