review (S) for 6970683: improvements to hs_err output

David Holmes David.Holmes at
Fri Oct 8 15:43:09 PDT 2010

Hi Coleen,

Coleen Phillimore said the following on 10/09/10 02:03:
> This change looks good to me.  I missed when print_location() was added 
> for the registers, but it does a lot of things that we used to consider 
> unsafe from the error handler.  And I didn't like all the white space. 

It was added (by me) as part of the SE-Embedded integration but was only 
enabled for ARM and PPC at the time. Note that it is the hs_find 
functionality from debug.cpp transferred into the error handler. And 
yes, sometime those checks will induce secondary crashes.

What whitespace are you referring to?

> wonder if you should check for Universe::is_initialized() in vmError 
> before calling this?

No idea. As I said the code came from the debug.cpp code - no better, no 


> Can you attach an "after" version of hs_err?  I guess I can get one of 
> my own pretty easily after you check this in, but I'd like to see one 
> first.
> Lastly, what sort of problems can you diagnose from the code cache bounds?
> Thanks,
> Coleen
> Tom Rodriguez wrote:
>> 6970683: improvements to hs_err output
>> Reviewed-by:
>> There are a few things missing from the hs_err dump that would be
>> useful.  First we don't dump the sparc L and I registers.  Second some
>> information about the size and contents of the code cache would be
>> useful.  Third we should dump a larger region around the faulting
>> instruction.  Additionally the new register to memory mapping output
>> can crash which stops us from getting the stack and instructions at
>> the faulting pc, so I moved it into it's own section.  block_start
>> would assert in some cases so I augmented existing logic to just
>> return null.  I also changed the formatting to remove all the extra
>> whitespace and made some of the output more compact and eliminated
>> most of the useless whitespace.

More information about the hotspot-dev mailing list