RFR(s): 8204243: remove Thread.destroy() and Thread.stop(Throwable)

David Holmes david.holmes at oracle.com
Sun Jun 3 12:11:11 UTC 2018


On 2/06/2018 4:38 PM, Alan Bateman wrote:
> On 02/06/2018 06:36, David Holmes wrote:
>> On 2/06/2018 10:43 AM, Stuart Marks wrote:
>>> :
>>>
>>> It looks to me like this interface resides on the debugger side of 
>>> JDWP. I don't know exactly where it's implemented in the target VM, 
>>> but I imagine it goes through some VM-internal or JDWP implementation 
>>> interface, not through the target VM's public 
>>> java.lang.Thread.stop(thr) interface. Is that right? (I'm not that 
>>> familiar with this area of the system.)
>>
>> It's a rather complex setup but the backend that does the work is 
>> (usually?) JVM TI, which won't go back out through the Java API.
> Right, there's a StopThread function in JVM TI and a corresponding Stop 
> Command in the JDWP protocol. The JVM TI spec has a statement to say 
> that it works "similar to Thread.stop" and the JDWP spec has "as if done 
> by Thread.stop" so it would be good to update both of these.

Any suggestions as to how to do that in a practical and effective way?

"As if done by the highly-dangerous, long-deprecated and finally removed 
Thread.stop(Throwable)"

? ;-)

In all seriousness I hate to do anything that might suggest these are 
valid API's even for tools. Maybe we should deprecate them as well 
(separate RFE of course).

David

> -Alan


More information about the core-libs-dev mailing list