diff -r bf3518bba285 -r 2a6c7c7b30a7 hotspot/src/os/solaris/vm/os_solaris.cpp --- a/hotspot/src/os/solaris/vm/os_solaris.cpp Fri Dec 04 04:29:31 2015 +0000 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Fri Dec 04 04:06:37 2015 -0500 @@ -728,6 +728,9 @@ int prio; Thread* thread = (Thread*)thread_addr; + + thread->initialize_thread_current(); + OSThread* osthr = thread->osthread(); osthr->set_lwp_id(_lwp_self()); // Store lwp in case we are bound @@ -5579,7 +5582,7 @@ // fork is async-safe, fork1 is not so can't use in signal handler pid_t pid; - Thread* t = ThreadLocalStorage::get_thread_slow(); + Thread* t = Thread::current_or_null_safe(); if (t != NULL && t->is_inside_signal_handler()) { pid = fork(); } else {