Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4906990
Votes 0
Synopsis Infinite loop in error handler if TLS is not yet initialized.
Category hotspot:runtime_system
Reported Against tiger
Release Fixed 1.5(tiger-b18)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 4515367 , 4963998
Submit Date 14-AUG-2003
Description
From Swamy:

Date: Thu, 14 Aug 2003 10:59:42 -0500
> From: swamy venkataramanappa <  xxxxx@xxxxx  >
> Subject: Error msg printing in infinite loop?
> 
> Have you seen this error running in a infinite loop. It is
> annoying. ctrl-c does not work. But "kill" command works.
> 
> after -XX: or in .hotspotrc:  SuppressErrorAt=/os_solaris.cpp:1377
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc:  SuppressErrorAt=/os_solaris.cpp:1377
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc:  SuppressErrorAt=/os_solaris.cpp:1377

os_solaris.cpp:1377 is in os::thread_local_storage_at():

   void* os::thread_local_storage_at(int index) {
     // %%% this is used only in threadLocalStorage.cpp
     void* r = NULL;
     if (thr_getspecific((thread_key_t)index, &r))
==>    fatal1("os::thread_local_storage_at: thr_getspecific failed (%s)", strerror(errno));
     return r;
   }

The infinite loop can happen if a fatal error happened very early during 
VM initialization, when ThreadLocalStorage is not yet initialized.


  xxxxx@xxxxx   2003-08-15

Do you need information attached so you can reproduce this?
Work Around
N/A
Evaluation
See description. The problematic code (and a few others) are fixed to work
properly during early startup.

  xxxxx@xxxxx   2003-08-28
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang