Hi Thomas,
I am displaying more number of shapes in SVGDocument. To update this shapes
attributes dynamically, i did the changes within Update Manager’s
"invokeLater". Using "invokeLater", it is working fine without any problem.
But it is happening in separate thread, I couldn't synchronize with main
thread. So changed "invokeLater" to "invokeAndWait". But after changed to
"invokeAndWait", it is not at all drawing the shapes. It simply hangs. So I
couldn’t find any solution to resolve this.
While go through the nabble threads related to “invokeAndWait”, it told
"updatecompleted" must be completed before calling “invokeAndWait”. So can
you please tell how to find whether updatecompleted is completed or not?
I have attached thread dump along with this mail. Please let me know the
problem. I would be very helpful for me to proceed further.
Full thread dump Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode,
sharing):
"Thread-9" prio=2 tid=0x00aab1f8 nid=0x9dc in Object.wait()
[0x03b6f000..0x03b6fa68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1d6a01a0> (a java.awt.EventQueue$1AWTInvocationLock)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x1d6a01a0> (a java.awt.EventQueue$1AWTInvocationLock)
at
org.apache.batik.util.EventDispatcher.fireEvent(EventDispatcher.java:49)
at
org.apache.batik.swing.gvt.GVTTreeRenderer.fireEvent(GVTTreeRenderer.java:148)
at
org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:130)
"Timer-0" daemon prio=7 tid=0x00aa6d10 nid=0x604 in Object.wait()
[0x03b1f000..0x03b1fbe8]
at java.lang.Object.wait(Native Method)
- waiting on <0x1d5d64e0> (a java.util.TaskQueue)
at java.lang.Object.wait(Unknown Source)
at java.util.TimerThread.mainLoop(Unknown Source)
- locked <0x1d5d64e0> (a java.util.TaskQueue)
at java.util.TimerThread.run(Unknown Source)
"RunnableQueue-0" daemon prio=7 tid=0x02cbcd30 nid=0xb78 in Object.wait()
[0x036ef000..0x036efc68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1d7dc310> (a java.awt.EventQueue$1AWTInvocationLock)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x1d7dc310> (a java.awt.EventQueue$1AWTInvocationLock)
at
org.apache.batik.swing.svg.AbstractJSVGComponent$BridgeUserAgentWrapper.invokeAndWait(AbstractJSVGComponent.java:2953)
at
org.apache.batik.swing.svg.AbstractJSVGComponent$BridgeUserAgentWrapper.checkLoadExternalResource(AbstractJSVGComponent.java:
2908)
at
org.apache.batik.bridge.SVGImageElementBridge.createImageGraphicsNode(SVGImageElementBridge.java:189)
at
org.apache.batik.bridge.SVGImageElementBridge.buildImageGraphicsNode(SVGImageElementBridge.java:166)
at
org.apache.batik.bridge.SVGImageElementBridge.createGraphicsNode(SVGImageElementBridge.java:112)
at
org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:199)
at
org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:161)
at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:131)
at
org.apache.batik.bridge.SVGGElementBridge.handleElementAdded(SVGGElementBridge.java:118)
at
org.apache.batik.bridge.SVGGElementBridge.handleDOMNodeInsertedEvent(SVGGElementBridge.java:104)
at
org.apache.batik.bridge.BridgeContext$DOMNodeInsertedEventListener.handleEvent(BridgeContext.java:1513)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:350)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:407)
at
org.apache.batik.dom.events.EventSupport.dispatchEvent(EventSupport.java:281)
at
org.apache.batik.dom.AbstractNode.dispatchEvent(AbstractNode.java:1010)
at
org.apache.batik.dom.AbstractParentNode.fireDOMNodeInsertedEvent(AbstractParentNode.java:424)
at
org.apache.batik.dom.AbstractParentNode.appendChild(AbstractParentNode.java:224)
at NodeRenderer.drawLabel(NodeRenderer.java:194)
at NodeRenderer.draw(NodeRenderer.java:67)
at GraphView.render(GraphView.java:957)
- locked <0x1e050c70> (a GraphView)
at GraphView$2.run(GraphView.java:865)
at org.apache.batik.util.RunnableQueue.run(RunnableQueue.java:203)
at java.lang.Thread.run(Unknown Source)
"Callback" prio=7 tid=0x02cbc2f0 nid=0x224 in Object.wait()
[0x03adf000..0x03adfd68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1ddb00f0> (a java.util.Vector)
at java.lang.Object.wait(Unknown Source)
at Callback.run(Callback.java:40)
- locked <0x1ddb00f0> (a java.util.Vector)
"DestroyJavaVM" prio=5 tid=0x000377f8 nid=0xab0 waiting on condition
[0x00000000..0x0007fae8]
"Timeout" prio=7 tid=0x02ff38a0 nid=0xaa4 waiting on condition
[0x036af000..0x036af9e8]
at java.lang.Thread.sleep(Native Method)
at Timeout.run(Timeout.java:53)
"Session 0" prio=7 tid=0x02d653f8 nid=0x400 runnable
[0x0362f000..0x0362fa68]
at java.net.PlainDatagramSocketImpl.peekData(Native Method)
- locked <0x1ddb0300> (a java.net.PlainDatagramSocketImpl)
at java.net.DatagramSocket.receive(Unknown Source)
- locked <0x1ddb0360> (a java.net.DatagramPacket)
- locked <0x1ddb0380> (a java.net.DatagramSocket)
at Session.receiver(Session.java:738)
at Session.run(Session.java:299)
"Thread-3" prio=5 tid=0x030567f0 nid=0x904 in Object.wait()
[0x037ef000..0x037efae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e175190> (a java.lang.String)
at java.lang.Object.wait(Unknown Source)
at GraphManager$StatusHandler.run(GraphManager.java:4988)
- locked <0x1e175190> (a java.lang.String)
"AWT-EventQueue-0" prio=7 tid=0x02cfec30 nid=0xc78 in Object.wait()
[0x0376f000..0x0376fb68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1d6b1618> (a
org.apache.batik.util.RunnableQueue$LockableLink)
at java.lang.Object.wait(Unknown Source)
at
org.apache.batik.util.RunnableQueue$LockableLink.lock(RunnableQueue.java:607)
- locked <0x1d6b1618> (a
org.apache.batik.util.RunnableQueue$LockableLink)
at
org.apache.batik.util.RunnableQueue.invokeAndWait(RunnableQueue.java:271)
at GraphView.update(GraphView.java:862)
at GraphView.update(GraphView.java:894)
at GraphManager$5.gvtRenderingCompleted(GraphManager.java:692)
at
org.apache.batik.swing.gvt.GVTTreeRenderer$4.dispatch(GVTTreeRenderer.java:192)
at
org.apache.batik.util.EventDispatcher.dispatchEvent(EventDispatcher.java:102)
at
org.apache.batik.util.EventDispatcher.fireEvent(EventDispatcher.java:86)
at
org.apache.batik.util.EventDispatcher$1.run(EventDispatcher.java:45)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
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)
"AWT-Shutdown" prio=5 tid=0x00aa6b90 nid=0xae4 in Object.wait()
[0x0372f000..0x0372fbe8]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e035098> (a java.lang.Object)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x1e035098> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"Thread-4" daemon prio=5 tid=0x02cddb48 nid=0x79c in Object.wait()
[0x0366f000..0x0366fb68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e035268> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x1e035268> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at org.apache.batik.util.CleanerThread.run(CleanerThread.java:102)
"Java Sound Event Dispatcher" daemon prio=5 tid=0x02ccf6c8 nid=0xbb8 in
Object.wait() [0x035ef000..0x035efa68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e0352e8> (a com.sun.media.sound.EventDispatcher)
at java.lang.Object.wait(Unknown Source)
at com.sun.media.sound.EventDispatcher.dispatchEvents(Unknown
Source)
- locked <0x1e0352e8> (a com.sun.media.sound.EventDispatcher)
at com.sun.media.sound.EventDispatcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x00aa2008 nid=0xaa8 in Object.wait()
[0x0342f000..0x0342fae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e035360> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x1e035360> (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=0x02d33818 nid=0xf18 runnable
[0x033bf000..0x033bfb68]
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Low Memory Detector" daemon prio=5 tid=0x00a680f8 nid=0xebc runnable
[0x00000000..0x00000000]
"CompilerThread0" daemon prio=10 tid=0x00a66cd0 nid=0x970 waiting on
condition [0x00000000..0x02c2f6c0]
"Signal Dispatcher" daemon prio=10 tid=0x00a66018 nid=0xeec waiting on
condition [0x00000000..0x00000000]
"Finalizer" daemon prio=9 tid=0x00a39d70 nid=0xe90 in Object.wait()
[0x02baf000..0x02bafa68]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e035568> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x1e035568> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x00a62aa0 nid=0x364 in Object.wait()
[0x02b6f000..0x02b6fae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x1e0355e8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x1e0355e8> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x00a60de8 nid=0x724 runnable
"VM Periodic Task Thread" prio=10 tid=0x00a69308 nid=0xd88 waiting on
condition
Thanks,
Sudhakar
--
View this message in context:
http://www.nabble.com/Problem-in-invokeAndWait-tf2124331.html#a5860794
Sent from the Batik - Users forum at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]