-
Notifications
You must be signed in to change notification settings - Fork 740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remote debugging stops with AGENT_ERROR_INVALID_THREAD(203) #19759
Comments
@thallium Please investigate the issue in ibmruntimes/Semeru-Runtimes#80. I was unable to assign ibmruntimes/Semeru-Runtimes#80 to you; you will have to post a comment in the issue for your name to show in the Begin by reproducing the issue locally using the instructions in ibmruntimes/Semeru-Runtimes#80 (comment). Then, get in touch with @JasonFengJ9 for insights on debugging JDWP issues. fyi @tajila |
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP where the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lost track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lost track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lost track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit removes jvmtiHookVirtualThreadDestroy() and calls destroyThreadData() directly inside jvmtiHookVirtualThreadEnd(). Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
Closing as per ibmruntimes/Semeru-Runtimes#80 (comment). |
Currently destroyThreadData() is hooked onto the VirtualThreadEnd event which is called before the event callback. In JDWP, the agent uses TLS to associate nodes in the running thread list. Clearing TLS before the event callback makes the agent lose track of the node thus failed to remove existed virtual threads from the list. This commit adds JVMTI VirtualThreadDestroy event which is triggered after VirtualThreadEnd and jvmtiHookVirtualThreadDestroy() is hooked onto VirtualThreadDestroy event. Fixes: ibmruntimes/Semeru-Runtimes#80 eclipse-openj9#19759 Signed-off-by: Gengchen Tuo <[email protected]>
See ibmruntimes/Semeru-Runtimes#80 for details.
The text was updated successfully, but these errors were encountered: