On 1/12/2020 3:19 pm, David Holmes wrote:
On 1/12/2020 2:46 pm, Yasumasa Suenaga wrote:
Hi Chris, David,

Currently Agent_OnUnload() is not called when Agent_OnLoad() is failed - JVM will abort.
Should we re-think this behavior?

We should we rethink that? It is probably one of the clearest parts of the spec. If Agent_Onload fails that is considered a fatal error - end of story.

I meant, of course, "Why should we rethink that?".

David

The issue is with Agent_onAttach and how its failure should, or should not, impact Agent_OnUnload.

David
-----

https://github.com/YaSuenag/jvmti-examples/tree/master/helloworld

```
$ java -agentpath:/path/to/libhelloworld.so=error --version
Hello World from Agent_OnLoad()
   options = error
Error occurred during initialization of VM
agent library failed to init: /path/to/libhelloworld.so
```


Thanks,

Yasumasa


On 2020/12/01 11:44, David Holmes wrote:
On 1/12/2020 11:45 am, Chris Plummer wrote:
On Fri, 2 Oct 2020 07:27:43 GMT, Yasumasa Suenaga <ysuen...@openjdk.org> wrote:

* Q3: What has to be done for statically linked agent?

JVMTI spec says "unless it is statically linked into the executable", so I think we can ignore about Agent_OnUnload_L() in this PR.

I don't think that makes sense. If you call it for dynamically linked then you need to call it for statically linked also.

Agreed. Even though you can't physically unload the statically linked library, if it is logically unloaded by some mechanism, then Agent_OnUnload_L is supposed to be called.

David
-----

-------------

PR: https://git.openjdk.java.net/jdk/pull/19

Reply via email to