RFR(XS): 8059868: JVM crashes on attach on Windows when compiled with /RTC1

Volker Simonis volker.simonis at gmail.com
Tue Oct 7 16:35:53 UTC 2014


Hi,

the change looks good to me. I can also sponsor this change.
Nevertheless I'd like to get one more opinion from the serviceability group.

Thanks,
Volker


On Tue, Oct 7, 2014 at 4:27 PM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
> (the corresponding bug report is
> https://bugs.openjdk.java.net/browse/JDK-8059868 )
>
>
> On Tue, Oct 7, 2014 at 4:26 PM, Thomas Stüfe <thomas.stuefe at gmail.com>
> wrote:
>>
>> Hi all,
>>
>> We saw crashes when connecting to a target VM using
>> com.sun.tools.attach.WindowsVirtualMachine when injecting VM was compiled
>> with /RTC1.
>>
>> The error turned out to be in VirtualMachineImpl.c: the function
>> "jvm_attach_thread_func" - the one which is injected into the target VM and
>> used as thread entry point for CreateRemoteThread() - must be compiled with
>> runtime checks disabled in order to keep the code-to-inject position
>> independent.
>>
>> Using /rtc1 will cause the Microsoft compiler to generate relative calls
>> to a check function ("_RTC_CheckEsp") which will not work if code is planted
>> in target process at a different address.
>>
>> This change adds a pragma to locally disable the runtime checks and
>> re-enable them below the function.
>>
>> http://cr.openjdk.java.net/~simonis/webrevs/8059868/
>>
>> Kind regards,
>>
>> Thomas Stuefe
>>
>


More information about the serviceability-dev mailing list