RFR (XS) 7182040 - make native thread creation failure message more descriptive (original) (raw)

Christian Thalinger christian.thalinger at oracle.com
Wed Feb 12 22:50:47 PST 2014


On Feb 12, 2014, at 3:49 PM, Ioi Lam <ioi.lam at oracle.com> wrote:

On 2/12/14, 3:28 PM, Christian Thalinger wrote: On Feb 12, 2014, at 3:17 PM, Ioi Lam <ioi.lam at oracle.com> wrote:

On 2/12/14, 2:35 PM, Christian Thalinger wrote: On Feb 12, 2014, at 1:03 PM, Ioi Lam <ioi.lam at oracle.com> wrote:

Christian,

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.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? No, all ports are using the same message right now. Then let’s remove the macro and deal with a solution when we have to. I think that's a good idea, except I already pushed the change :-( I think it's not a big issue so maybe we can clean that up next time this area is touched?

Sure.

- Ioi

- Ioi

Thanks - Ioi

On 2/12/14, 12:06 PM, Christian Thalinger wrote: Can we not use a macro for the message?

OSNATIVETHREADCREATIONFAILEDMSG 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):

http://cr.openjdk.java.net/~iklam/7182040/threadcreatefailedmsg001/ Bug: The original "OutOfMemorError" message could be misleading when the actual cause is the OS limit on number of processes/threads. https://bugs.openjdk.java.net/browse/JDK-7182040 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::nativethreadcreationfailedmsg(). Individual OS ports may define an alternative message by defining the OSNATIVETHREADCREATIONFAILEDMSG macro in os.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) Tests: JPRT Thanks - Ioi



More information about the hotspot-dev mailing list