31 #include "code/vtableStubs.hpp" |
31 #include "code/vtableStubs.hpp" |
32 #include "compiler/compileBroker.hpp" |
32 #include "compiler/compileBroker.hpp" |
33 #include "compiler/disassembler.hpp" |
33 #include "compiler/disassembler.hpp" |
34 #include "interpreter/interpreter.hpp" |
34 #include "interpreter/interpreter.hpp" |
35 #include "logging/log.hpp" |
35 #include "logging/log.hpp" |
|
36 #include "logging/logStream.hpp" |
36 #include "memory/allocation.inline.hpp" |
37 #include "memory/allocation.inline.hpp" |
37 #include "memory/filemap.hpp" |
38 #include "memory/filemap.hpp" |
38 #include "oops/oop.inline.hpp" |
39 #include "oops/oop.inline.hpp" |
39 #include "os_share_solaris.hpp" |
40 #include "os_share_solaris.hpp" |
40 #include "os_solaris.inline.hpp" |
41 #include "os_solaris.inline.hpp" |
990 log_info(os, thread)("Thread started (tid: " UINTX_FORMAT ", attributes: %s). ", |
991 log_info(os, thread)("Thread started (tid: " UINTX_FORMAT ", attributes: %s). ", |
991 (uintx) tid, describe_thr_create_attributes(buf, sizeof(buf), stack_size, flags)); |
992 (uintx) tid, describe_thr_create_attributes(buf, sizeof(buf), stack_size, flags)); |
992 } else { |
993 } else { |
993 log_warning(os, thread)("Failed to start thread - thr_create failed (%s) for attributes: %s.", |
994 log_warning(os, thread)("Failed to start thread - thr_create failed (%s) for attributes: %s.", |
994 os::errno_name(status), describe_thr_create_attributes(buf, sizeof(buf), stack_size, flags)); |
995 os::errno_name(status), describe_thr_create_attributes(buf, sizeof(buf), stack_size, flags)); |
|
996 // Log some OS information which might explain why creating the thread failed. |
|
997 log_info(os, thread)("Number of threads approx. running in the VM: %d", Threads::number_of_threads()); |
|
998 LogStream st(Log(os, thread)::info()); |
|
999 os::Posix::print_rlimit_info(&st); |
|
1000 os::print_memory_info(&st); |
995 } |
1001 } |
996 |
1002 |
997 if (status != 0) { |
1003 if (status != 0) { |
998 thread->set_osthread(NULL); |
1004 thread->set_osthread(NULL); |
999 // Need to clean up stuff we've allocated so far |
1005 // Need to clean up stuff we've allocated so far |