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