GCJ Thread Dump

Bryce McKinlay mckinlay@redhat.com
Thu Feb 10 14:34:00 GMT 2005


Sun's implementation actually shows you where on the stack each lock was 
acquired. Here's an example:
"Java2D Disposer" daemon prio=1 tid=0x08388478 nid=0x3c6d in 
Object.wait() [0xa8247000..0xa82480c0]
 at java.lang.Object.wait(Native Method)
 - waiting on <0xa91d8810> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
 - locked <0xa91d8810> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
 at sun.java2d.Disposer.run(Disposer.java:107)
 at java.lang.Thread.run(Thread.java:595)
This level of detail would certainly be hard in GCJ, but having it 
iterate through the lock table and just show a list of locks held (and 
being waited on) alongside each thread stack would be almost as useful, 
I think.
Regards
Bryce
Boehm, Hans wrote:
>I'm not sure the locks are that hard either. Assuming hash
>synchronization is enabled, I think it's mostly a
>matter of walking the lock table. But I haven't thought
>about it in detail.
>>Hans
>>>>>-----Original Message-----
>>From: java-owner@gcc.gnu.org [mailto:java-owner@gcc.gnu.org] 
>>On Behalf Of Bryce McKinlay
>>Sent: Wednesday, February 09, 2005 2:02 PM
>>To: Andrew Haley
>>Cc: Mark Anderson; java@gcc.gnu.org
>>Subject: Re: GCJ Thread Dump
>>>>>>Andrew Haley wrote:
>>>>>>>>>Mark Anderson writes:
>>>>>>>>>>Is there any way to get a thread dump from a running GCJ 
>>>>>>>>>>application 
>>>>>>>>in the
>>>>same way you can send a kill -3 signal to the Sun JVM?
>>>>>>>>>>>No, there isn't, and it would be extremely hard to do. Whan 
>>>>>>>>we have a 
>>>>>>>problem like this, we attach gdb to the process.
>>>>>>>>>>>I'm curious - why is this so difficult? I think Sun's implementation 
>>shows what locks are held by each thread, along with the stack trace, 
>>which might be tricky. However, I don't see why plain old 
>>thread dumps 
>>would be so hard given that we can already unwind through signal 
>>handlers. Note that there is a enhancement request for this:
>>>>http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15686
>>>>Regards
>>>>Bryce
>>>>>>>>


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /