--- old/src/os/solaris/vm/os_solaris.cpp 2015-11-27 02:24:49.910761686 -0500 +++ new/src/os/solaris/vm/os_solaris.cpp 2015-11-27 02:24:48.102659991 -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 @@ -5605,7 +5608,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 {