Hotspot segfaulting on Linux SPARC (original) (raw)
David Holmes david.holmes at oracle.com
Thu Apr 12 09:31:27 UTC 2018
- Previous message: Hotspot segfaulting on Linux SPARC
- Next message: Hotspot segfaulting on Linux SPARC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 12/04/2018 6:43 PM, John Paul Adrian Glaubitz wrote:
On 04/10/2018 11:45 PM, David Holmes wrote:
diff -r 00805b129186 src/hotspot/oscpu/linuxsparc/vmversionlinuxsparc.cpp --- a/src/hotspot/oscpu/linuxsparc/vmversionlinuxsparc.cpp Tue Apr 10 11:43:40 2018 -0700 +++ b/src/hotspot/oscpu/linuxsparc/vmversionlinuxsparc.cpp Tue Apr 10 22:38:12 2018 +0300 @@ -48,7 +48,7 @@ if (vstr != NULL) { // We have a matching line and a valid starting point to the value of // the field, copy the string for keeps. - string = strdup(vstr); + string = os::strdup(vstr, mtInternal); break; } } I will get this change merged first. This definitely fixes one crash on linux-sparc.
I still think the safest fix is to change os::free to ::free, not ::strdup to os::strdup. There are too many codepaths through the os:: code that lead to places where we expect to have an attached thread - even if they are error paths.
David
The only reference to that message I can find is from HashMap/HashSet where the load factor defines how full the collection becomes before it resizes. I would have to guess some kind of floating-point issue here - a very small number rather than 0 perhaps? Then try to track down this issue using hg bisect. Adrian
- Previous message: Hotspot segfaulting on Linux SPARC
- Next message: Hotspot segfaulting on Linux SPARC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]