RFR (XS) JDK-8010389 - After fix for 7107135 a failed dlopen() call results in a VM crash

Coleen Phillimore coleen.phillimore at oracle.com
Thu Mar 21 14:09:08 PDT 2013


Hi Ioi,

In this code, do you only want to copy the dlerror() to the buffer if 
the dlopen fails?
Why not have the check for null result and copy to error buffer at line 
1870 and not have the bool to copy it later?

Thanks,
Coleen

On 03/21/2013 04:54 PM, Ioi Lam wrote:
> Hi,
>
> Could some give a quick review. This is a P2 bug and I'd like fix it 
> quickly.
>
> I have updated the patch to have a more simplified test case:
>
> http://cr.openjdk.java.net/~iklam/8010389/dlopen_crash_002/
>
>
> Thanks
>
> - Ioi
>
>
> On 03/21/2013 05:55 AM, Christian Tornqvist wrote:
>>
>> Hi Ioi,
>>
>> Adding '-Djava.library.path=.' to the @run tag seems to work.
>>
>> Thanks,
>>
>> Christian
>>
>> *From:*Ioi Lam [mailto:ioi.lam at oracle.com]
>> *Sent:* den 21 mars 2013 05:22
>> *To:* hotspot-runtime-dev at openjdk.java.net; Christian Törnqvist
>> *Subject:* RFR (XS) JDK-8010389 - After fix for 7107135 a failed 
>> dlopen() call results in a VM crash
>>
>> Please review:
>>
>> http://cr.openjdk.java.net/~iklam/8010389/dlopen_crash_001/ 
>> <http://cr.openjdk.java.net/%7Eiklam/8010389/dlopen_crash_001/>
>>
>> Bug: After fix for 7107135 a failed dlopen() call results in a VM crash
>>
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8010389
>> https://jbs.oracle.com/bugs/browse/JDK-8010389
>>
>>     (The bugs.sun.com page may be unavailable for a couple of days)
>>
>> Summary of fix:
>>
>>     Previously, if dlopen() fails inside the VM Thread, the Java 
>> thread would
>>     call dlerror() to try to find out what happened, but would get a 
>> NULL return
>>     instead. Attempts to use this NULL value causes the JVM to crash.
>>
>>     The fix is to read dlerror() in the VM Thread when necessary.
>>
>> To Christian:
>>
>>     I integrated your test into jtreg, but I needed to write a shell 
>> test to set
>>     the LD_LIBRARY_PATH. Is there a way to avoid the shell test?
>>
>> Tests executed:
>>
>>     * JPRT (linux only)
>>     * UTE (vm.quick.testlist)
>>     * JTREG
>>
>> Thanks,
>> Ioi
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130321/f28b66b7/attachment-0001.html 


More information about the hotspot-runtime-dev mailing list