Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-14 Thread Chris Plummer
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-13 Thread Serguei Spitsyn
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-13 Thread Serguei Spitsyn
On Fri, 9 Dec 2022 19:44:34 GMT, Daniel D. Daugherty wrote: > Of course, it is possible that JVMTI_VERSION_9 is compatible with > JVMTI_VERSION_1_N and JVMTI_VERSION_11 is compatible with both > JVMTI_VERSION_9 and JVMTI_VERSION_1_N. We might have simply bumped the major > number because we we

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-12 Thread Chris Plummer
On Mon, 12 Dec 2022 16:28:27 GMT, Alan Bateman wrote: > I don't mind. For now (JDK 19 and 20), the case where it will only likely > arise is -agentlib:jdwp --enable-preview on ports that don't have VM > continuations. In that case, GetEnv will fail. If virtual threads become > permanent in JDK

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-12 Thread Alan Bateman
On Sat, 10 Dec 2022 10:29:43 GMT, Alan Bateman wrote: >> I have a memory of the following concerning JVM/TI versions: >> >> - if you asked for JVMTI_VERSION, then you got the highest version supported >> by the JVM. >> - if you asked for JVMTI_VERSION_1, then you got the highest compatible >>

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-11 Thread Chris Plummer
On Sat, 10 Dec 2022 10:29:43 GMT, Alan Bateman wrote: >> I have a memory of the following concerning JVM/TI versions: >> >> - if you asked for JVMTI_VERSION, then you got the highest version supported >> by the JVM. >> - if you asked for JVMTI_VERSION_1, then you got the highest compatible >>

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-10 Thread Alan Bateman
On Fri, 9 Dec 2022 19:39:16 GMT, Daniel D. Daugherty wrote: > I have a memory of the following concerning JVM/TI versions: > > * if you asked for JVMTI_VERSION, then you got the highest version supported > by the JVM. JVMTI_VERSION is defined in jvmti.h so its value depends on which JDK includ

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Chris Plummer
On Fri, 9 Dec 2022 19:39:16 GMT, Daniel D. Daugherty wrote: > if you asked for JVMTI_VERSION_1, could you get back JVMTI_VERSION_1_2 or > JVMTI_VERSION_9 or JVMTI_VERSION_11 if the JVM in question supported each of those versions (and no higher)? Yes, but the debug agent does a version check

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Daniel D . Daugherty
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Daniel D . Daugherty
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Chris Plummer
On Fri, 9 Dec 2022 03:00:36 GMT, Serguei Spitsyn wrote: > Should we consider filing a CSR as potentially there is a minimal > compatibility risk? It don't think it should be necessary. I don't believe there are any known compatibility issues here. Although we switched from requesting `JVMTI_V

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Alan Bateman
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-09 Thread Alan Bateman
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-08 Thread Serguei Spitsyn
On Fri, 9 Dec 2022 01:16:58 GMT, Chris Plummer wrote: >> 3 things to cleanup in this area: >> >> (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI >> environment. If `GetEnv` fails the JDWP agent prints this: >> >> `ERROR: JDWP unable to access JVMTI Version 1 (0x3001),

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization

2022-12-08 Thread Chris Plummer
On Fri, 9 Dec 2022 01:43:46 GMT, David Holmes wrote: > I don't know what the deployment model for the debug agent is, but you have > now made it so that it can't work with older versions. Does this affect the > ability to run an earlier version of the debugger VM compared to the debugee > VM?

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization

2022-12-08 Thread David Holmes
On Fri, 9 Dec 2022 01:23:31 GMT, Chris Plummer wrote: > Maybe the debug agent built by Oracle (probably actually Sun at the time) was > also used by other JVMs, and was expected to work with older versions of > JVMTI. I doubt that is the case anymore. I don't know what the deployment model for

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization

2022-12-08 Thread Chris Plummer
On Fri, 9 Dec 2022 00:27:47 GMT, David Holmes wrote: > > (2) JVMTI_VERSION_1 suggests that the JDWP agent is looking for a JVMTI v1 > > environment when it really wants the latest. > > Does it? I guess it is a somewhat moot point inside the same VM but don't you > only need to ask for the vers

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-08 Thread Chris Plummer
On Thu, 8 Dec 2022 23:51:33 GMT, Alex Menkov wrote: >> Chris Plummer has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Get rid of some structs and statics that are no longer needed. > > src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c l

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization [v2]

2022-12-08 Thread Chris Plummer
> 3 things to cleanup in this area: > > (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI > environment. If `GetEnv` fails the JDWP agent prints this: > > `ERROR: JDWP unable to access JVMTI Version 1 (0x3001), is your J2SE a > 1.5 or newer version? JNIEnv's GetEnv() retu

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization

2022-12-08 Thread David Holmes
On Thu, 8 Dec 2022 22:40:57 GMT, Chris Plummer wrote: > (2) JVMTI_VERSION_1 suggests that the JDWP agent is looking for a JVMTI v1 > environment when it really wants the latest. Does it? I guess it is a somewhat moot point inside the same VM but don't you only need to ask for the version of t

Re: RFR: 8287812: Cleanup JDWP agent GetEnv initialization

2022-12-08 Thread Alex Menkov
On Thu, 8 Dec 2022 22:40:57 GMT, Chris Plummer wrote: > 3 things to cleanup in this area: > > (1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI > environment. If `GetEnv` fails the JDWP agent prints this: > > `ERROR: JDWP unable to access JVMTI Version 1 (0x3001), is you