RFR (XS) 7182040 - make native thread creation failure message more descriptive
christian.thalinger at oracle.com
Wed Feb 12 14:35:01 PST 2014
On Feb 12, 2014, at 1:03 PM, Ioi Lam <ioi.lam at oracle.com> wrote:
> It's not clear to me how to define a "generic" version of a method and override it in a port. In the "os" class, there aren't virtual methods. Also, the various os_<port>.hpp files are included into the middle of the declaration of the "os" class. So it seems to me one way or another you have to use #ifdef.
Sigh. We have to stop including stuff into the middle of class declarations. This is such bad design.
Is actually a port using a different message right now?
> - Ioi
> On 2/12/14, 12:06 PM, Christian Thalinger wrote:
>> Can we not use a macro for the message?
>> If you want to be able to override the message override the method.
>> On Feb 10, 2014, at 2:00 PM, Ioi Lam <ioi.lam at oracle.com> wrote:
>>> Please review a very small fix (JDK9):
>>> Bug: The original "OutOfMemorError" message could be misleading when the
>>> actual cause is the OS limit on number of processes/threads.
>>> Summary of fix:
>>> I changed all occurrence of the literal string "unable to create new native thread"
>>> in the C code to call a common function os::native_thread_creation_failed_msg().
>>> Individual OS ports may define an alternative message by defining the
>>> OS_NATIVE_THREAD_CREATION_FAILED_MSG macro in os_<port>.hpp
>>> Here's a snap shot of the new message:
>>> java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory
>>> or process/resource limits reached
>>> at java.lang.Thread.start0(Native Method)
>>> at java.lang.Thread.start(Thread.java:713)
>>> at spin.main(spin.java:15)
>>> - Ioi
More information about the hotspot-dev