Le Mon, 17 Nov 2003 12:46:33 -0500 Thomas DeWeese <[EMAIL PROTECTED]> me disait que :
> Ok wild shot in the dark. Do you use invokeAndWait on the update
> thread from the event listener thread?
Will look at what I can do with it...
> > I set the document URI
> > I set the document state to ALWAYS_DYNAMIC
>
> Hmm, this should be too late. You should set ALWAYS_DYNAMIC up
> where you set it double buffered.
I put it at the place you told me...
> Can you get the thread dump when it is hung? on Windows you
> can press ctrl-break in a dos window and the JVM will dump the state of all
> threads.
(see below)
> > Dynamicity (i.e. adding elements to the document dynamically from a
> > database)
> > works well as well as contextual menus. The "hangs" occurs while I try to
> > :
> > 1) resize the component (whereas it only locks the resizing but not
> > others
> > interaction)
> > 2) zoom : all is hung!
>
> So the entirety of the bug seems to be in the 'resizing' code. I think
> a thread dump would be really helpful.
Full thread dump Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode):
(...)
"RunnableQueue-0" daemon prio=7 tid=0x197e4d60 nid=0x204 in Object.wait()
[19e9f
000..19e9fd94]
at java.lang.Object.wait(Native Method)
- waiting on <0x109f3810> (a org.apache.batik.util.DoublyLinkedList)
at java.lang.Object.wait(Unknown Source)
at org.apache.batik.util.RunnableQueue.run(Unknown Source)
- locked <0x109f3810> (a org.apache.batik.util.DoublyLinkedList)
at java.lang.Thread.run(Unknown Source)
"DestroyJavaVM" prio=5 tid=0x00234f28 nid=0x408 waiting on condition
[0..6fae0]
(...)
"Thread-6" daemon prio=2 tid=0x18417ab0 nid=0x380 in Object.wait()
[19d1f000..19
d1fd94]
at java.lang.Object.wait(Native Method)
- waiting on <0x108f3078> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x108f3078> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at org.apache.batik.util.CleanerThread.run(Unknown Source)
"TimerQueue" daemon prio=5 tid=0x1843ffa0 nid=0x384 in Object.wait()
[1976f000..
1976fd94]
at java.lang.Object.wait(Native Method)
- waiting on <0x105b6ae0> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x105b6ae0> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-0" prio=7 tid=0x182f0840 nid=0x1bc in Object.wait()
[1972f000..1
972fd94]
at java.lang.Object.wait(Native Method)
- waiting on <0x1053ce28> (a java.awt.EventQueue)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x1053ce28> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x182cece8 nid=0x260 in Object.wait()
[196e
f000..196efd94]
at java.lang.Object.wait(Native Method)
- waiting on <0x10540440> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x10540440> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-Windows" daemon prio=7 tid=0x182b4618 nid=0x464 runnable
[1965f000..1965fd9
4]
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-Shutdown" prio=5 tid=0x182b43e0 nid=0x3ac in Object.wait()
[1961f000..1961f
d94]
at java.lang.Object.wait(Native Method)
- waiting on <0x105096e0> (a java.lang.Object)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x105096e0> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
(...)
--
Jean-Christophe Arnu
Paratronic Toulouse
pgp00000.pgp
Description: PGP signature
