# HG changeset patch # User stuefe # Date 1520320605 -3600 # Node ID 30f39453f0a8a7e3ac98c8f43c18a8d2592370a2 # Parent c6f2f91a1b4eb6eb47bdd5382a79a9feed227ae0 8193429: "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp Reviewed-by: clanger, gtriantafill diff -r c6f2f91a1b4e -r 30f39453f0a8 src/hotspot/os/windows/symbolengine.cpp --- a/src/hotspot/os/windows/symbolengine.cpp Wed Mar 07 09:32:46 2018 -0500 +++ b/src/hotspot/os/windows/symbolengine.cpp Tue Mar 06 08:16:45 2018 +0100 @@ -375,10 +375,10 @@ const int len_returned = (int)::GetModuleFileName(hMod, filebuffer, (DWORD)file_buffer_capacity); DEBUG_ONLY(g_buffers.dir_name.check();) if (len_returned == 0) { - // Error. This is suspicious - this may happen if a module has just been - // unloaded concurrently after our call to EnumProcessModules and - // GetModuleFileName, but probably just indicates a coding error. - assert(false, "GetModuleFileName failed (%u)", ::GetLastError()); + // This may happen when a module gets unloaded after our call to EnumProcessModules. + // It should be rare but may sporadically happen. Just ignore and continue with the + // next module. + continue; } else if (len_returned == file_buffer_capacity) { // Truncation. Just skip this module and continue with the next module. continue;