RFR (XS) JDK-8010389 - After fix for 7107135 a failed dlopen() call results in a VM crash
Christian Tornqvist
christian.tornqvist at oracle.com
Fri Mar 22 05:41:36 PDT 2013
Hi Ioi,
Change looks good!
Thanks,
Christian
From: hotspot-runtime-dev-bounces at openjdk.java.net
[mailto:hotspot-runtime-dev-bounces at openjdk.java.net] On Behalf Of Ioi Lam
Sent: den 21 mars 2013 23:12
To: hotspot-runtime-dev at openjdk.java.net
Subject: Re: RFR (XS) JDK-8010389 - After fix for 7107135 a failed dlopen()
call results in a VM crash
Hi Coleen,
Thanks for the review. I have now moved the call to dlopen and strncpy into
a helper function, so the code is a little cleaner.
http://cr.openjdk.java.net/~iklam/8010389/dlopen_crash_003/
<http://cr.openjdk.java.net/%7Eiklam/8010389/dlopen_crash_003/>
- Ioi
On 03/21/2013 02:09 PM, Coleen Phillimore wrote:
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/
<http://cr.openjdk.java.net/%7Eiklam/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/20130322/36000648/attachment.html
More information about the hotspot-runtime-dev
mailing list