8220570: Additonal trace when native thread creation fails

Added additonal trace when native thread creation fails

Reviewed-by: dholmes, goetz
This commit is contained in:
Ralf Schmelter 2019-03-22 04:47:02 -07:00
parent c986cef7ba
commit 0714b75ac4
5 changed files with 30 additions and 0 deletions

View file

@ -33,6 +33,7 @@
#include "compiler/disassembler.hpp"
#include "interpreter/interpreter.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/filemap.hpp"
#include "oops/oop.inline.hpp"
@ -743,6 +744,11 @@ bool os::create_thread(Thread* thread, ThreadType thr_type,
} else {
log_warning(os, thread)("Failed to start thread - pthread_create failed (%s) for attributes: %s.",
os::errno_name(ret), os::Posix::describe_pthread_attr(buf, sizeof(buf), &attr));
// Log some OS information which might explain why creating the thread failed.
log_info(os, thread)("Number of threads approx. running in the VM: %d", Threads::number_of_threads());
LogStream st(Log(os, thread)::info());
os::Posix::print_rlimit_info(&st);
os::print_memory_info(&st);
}
pthread_attr_destroy(&attr);