RFR: 8220095: Assertion failure when symlink (with different name) is used for lib/modules file
Harold Seigel
harold.seigel at oracle.com
Thu Mar 7 16:50:46 UTC 2019
Hi Jiangli,
The copyright for new test ModulesSymLink.java is correct.
Harold
On 3/7/2019 11:18 AM, Jiangli Zhou wrote:
> Hi Harold,
>
> Thank you so much for the review and checking on the copyright header!
> Will update the webrev to address your comment.
>
> Thanks and regards,
> Jiangli
>
> On Thu, Mar 7, 2019 at 8:13 AM Harold Seigel <harold.seigel at oracle.com
> <mailto:harold.seigel at oracle.com>> wrote:
>
> Hi Jiangli,
>
> The change looks good. Could you change the call to strdup() at line
> 710 in classLoader.cpp to os::strdup() ?
>
> Also, I'm not sure about the copyright for your new test. I'll ask
> internally if you are using the right one.
>
> Thanks! Harold
>
> On 3/6/2019 6:20 PM, Jiangli Zhou wrote:
> > Please review the following fix for 8220095.
> >
> > webrev: http://cr.openjdk.java.net/~jiangli/8220095/webrev.00/
> > bug: https://bugs.openjdk.java.net/browse/JDK-8220095
> >
> > Symbolic links may be used commonly in some cloud environments.
> The target
> > files might have different names than the linked names. The VM
> crashes when
> > 'lib/modules' links to a target file with a different name, for
> example,
> > lib/modules -> lib/0.
> >
> > The usage of the hard-coded MODULES_IMAGE_NAME (used by
> > ClassLoader::is_modules_image(const char*)) can become
> problematic in this
> > case and leads to assertion failures and crashes in this case. The
> > is_modules_image()
> > checks always fail even the actual file is the runtime image
> because the
> > canonical paths (which might not end with 'modules') are passed
> in for the
> > check. The fix is to obtain the real name from the canonical
> path early
> > during initialization and use that for the is_modules_image() check.
> >
> > Tested with submit repo testing, tier1, tier2, and hotspot
> runtime tests
> > locally.
> >
> > Thanks!
> > Jiangli
>
More information about the hotspot-runtime-dev
mailing list