From: Godmar Back (gback@cs.utah.edu)
Date: Wed Jan 27 1999 - 13:24:19 EST
Thread-0 is waiting to be signaled on an MediaTrackerEntry object,
but it still holds the lock on a MediaTracker object.
AWT-EventQueue-0, on the other hand, wants to acquire the lock on the
MediaTracker object that Thread-0 holds.
Looks like a classic deadlock situation to me.
Thread-0 should not wait on a MediaTrackerEntry while it holds the
MediaTracker lock.  Most likely, the AWT-EventQueue-0 thread is
attempting to get the MediaTracker in order to signal the MediaTrackerEntry.
I didn't even look at any code to guess that.
(I admit though that my deadlock output could be more clear on that.
You need to know that lock@822ab88.cv == Thread-0.blockqueue and that
AWT-EventQueue-0.blockqueue == lock@81e29f8.mx + 4)
Peter?
        - Godmar
> 
> Hi,
> 
> I have just install libungif-4.1.0 and rebuild Kaffe
> with the current CVS tree (with my configure.in patch)
> 
> A co-worker try the Animator demo from jdk1.1.7B witch
> use GIF images.
> 
> When he runs 'appletviewer example1.html' and shift-click
> in the Applet dialog, he get the followind deadlock trace:
> 
> efr21988:/home/loisance/Animator$ appletviewer example1.html 
> Dumping dynamic locks:
> lock@822ab88 java/awt/MediaTrackerEntry held by `noone'
>  .hd=0         .ct=0 .mx=8123bd8   .cv=81235b8  
> lock@81e29f8 java/awt/MediaTracker held by `Thread-0'
>  .hd=822c010   .ct=1 .mx=80bb7b8   .cv=80bb798  
> Dumping static locks:
> &gcman held by `gc'
>  .hd=8158010   .ct=0 .mx=8123588   .cv=8123598  
> &finman held by `finaliser'
>  .hd=814e010   .ct=0 .mx=8123568   .cv=8123578  
> &thread_start_lock held by `noone'
>  .hd=0         .ct=0 .mx=8123548   .cv=8123558  
> &translatorlock held by `noone'
>  .hd=0         .ct=0 .mx=80bb868   .cv=80bb878  
> &classLock held by `noone'
>  .hd=0         .ct=0 .mx=80ba4b8   .cv=80ba4c8  
> &jarlock held by `noone'
>  .hd=0         .ct=0 .mx=80ba418   .cv=80ba428  
> &classHashLock held by `noone'
>  .hd=0         .ct=0 .mx=80ba3d8   .cv=80ba3e8  
> &utf8Lock held by `noone'
>  .hd=0         .ct=0 .mx=80ba3b8   .cv=80ba3c8  
> &stringLock held by `noone'
>  .hd=0         .ct=0 .mx=80ba398   .cv=80ba3a8  
> &gc_lock held by `noone'
>  .hd=0         .ct=0 .mx=bff925d4  .cv=bff925dc 
> Dumping live threads:
> `Thread-0' tid 822c010, status SUSPENDED flags DONTSTOP 
>  blockqueue 81235b8 (822c010->|) 
> `AWT-EventQueue-0' tid 8204010, status SUSPENDED flags 
>  blockqueue 80bb7bc (8204010->|) 
> `gc' tid 8158010, status SUSPENDED flags DONTSTOP 
>  blockqueue 8123598 (8158010->|) 
> `finaliser' tid 814e010, status SUSPENDED flags DONTSTOP 
>  blockqueue 8123578 (814e010->|) 
> Deadlock: all threads blocked on internal events
> Abort
> 
> Hope this help,
> Edouard.
> ---
> 
> 
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:51 EDT