Re: Deadlock and MediaTracker

Date view Thread view Subject view Author view

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.
> ---
>
>


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:51 EDT