RFR(xxxs): 8193429: "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp

George Triantafillou george.triantafillou at oracle.com
Tue Mar 6 15:03:47 UTC 2018


Hi Thomas,

This looks good.  The failure is very difficult to reproduce locally, 
and I agree that the assert was too strict.

If you'd like, I can sponsor this change for you.

-George

On 3/6/2018 3:30 AM, Thomas Stüfe wrote:
> Hi all,
>
> please take a look at this small fix.
>
> fix:
> http://cr.openjdk.java.net/~stuefe/webrevs/8193429-GetModuleFileName-failed-symbolengine/webrev.00/webrev/
>
> bug: https://bugs.openjdk.java.net/browse/JDK-8193429
>
> Basically, the assert is too strict. We retrieve a list of loaded modules
> (EnumProcessModules) and then attempt to retrieve their file names
> (GetModuleFileName). On the latter we get an invalid handle error.
>
> Since both operations together are not atomic, it may happen that the
> module got unloaded when the file name is retrieved. So, the assert is too
> strict and should be removed.
>
> (Note: I did my fix for 11, should that
>
> Best Regards, Thomas



More information about the hotspot-runtime-dev mailing list