You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by sugawara <su...@humane-systems.co.jp> on 2006/03/24 12:57:11 UTC

ConcurrentModificationException in org.apache.batik.gvt.UpdateTracker.getDirtyAreas

Hi all,
I am developping a graphical editor program using batik 1.6 and JDK1.50_05.
It almost works fine, but sometimes after using my program for 2 or 3 hours,
following exception occurs in sudden.

Exception in thread "RunnableQueue-5"
java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
	at java.util.HashMap$KeyIterator.next(HashMap.java:823)
	at org.apache.batik.gvt.UpdateTracker.getDirtyAreas(Unknown Source)
	at org.apache.batik.bridge.UpdateManager.repaint(Unknown Source)
	at
org.apache.batik.bridge.UpdateManager$UpdateManagerRunHander.runnableInvoked
(Unknown Source)
	at org.apache.batik.util.RunnableQueue.runnableInvoked(Unknown Source)
	at org.apache.batik.util.RunnableQueue.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:595)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException:
RunnableQueue not started or has exited
	at org.apache.batik.util.RunnableQueue.invokeLater(Unknown Source)
	at
org.apache.batik.swing.svg.JSVGComponent$SVGListener.dispatchMouseReleased(U
nknown Source)
	at org.apache.batik.swing.gvt.JGVTComponent$Listener.mouseReleased(Unknown
Source)
	at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Once this happens, the second exception, IllegalStateException appears
 for every mouse events infinitely.
Is this a bug in org.apache.batik.gvt.UpdateTracker.getDirtyAreas() ?
If anyone knows anything about this problem, please let me know.

Thanks in advance
Shin



---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


RE: ConcurrentModificationException in org.apache.batik.gvt.UpdateTracker.getDirtyAreas

Posted by sugawara <su...@humane-systems.co.jp>.
Hi Thomas,

I checked all my codes which modiying the DOM and found
several cases which does not.
After correcting those codes, the sympton I reported seems
to be fixed perfectly.
Thank you for your good advice.

Shin

> -----Original Message-----
> From: thomas.deweese@kodak.com [mailto:thomas.deweese@kodak.com]
> Sent: Friday, March 24, 2006 8:58 PM
> To: batik-users@xmlgraphics.apache.org
> Cc: batik-users@xmlgraphics.apache.org
> Subject: Re: ConcurrentModificationException in 
> org.apache.batik.gvt.UpdateTracker.getDirtyAreas
> 
> 
> Hi Shin,
> 
> sugawara@humane-systems.co.jp (sugawara) wrote on 03/24/2006 06:57:11 AM:
> 
> > I am developping a graphical editor program using batik 1.6 and 
> JDK1.50_05.
> > It almost works fine, but sometimes after using my program for 2 or 3 
> hours,
> > following exception occurs in sudden.
> > 
> > Exception in thread "RunnableQueue-5"
> > java.util.ConcurrentModificationException
> >    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> >    at java.util.HashMap$KeyIterator.next(HashMap.java:823)
> >    at org.apache.batik.gvt.UpdateTracker.getDirtyAreas(Unknown Source)
> 
>    This is a clear indication that you are modifying the DOM outside of
> the UpdateManager's RunnableQueue.
> 
> >    at org.apache.batik.bridge.UpdateManager.repaint(Unknown Source)
> >    at
> > 
> org.apache.batik.bridge.UpdateManager$UpdateManagerRunHander.runna
> bleInvoked
> > (Unknown Source)
> >    at org.apache.batik.util.RunnableQueue.runnableInvoked(Unknown 
> Source)
> >    at org.apache.batik.util.RunnableQueue.run(Unknown Source)
> >    at java.lang.Thread.run(Thread.java:595)
> 
> > Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException:
> > RunnableQueue not started or has exited
> >    at org.apache.batik.util.RunnableQueue.invokeLater(Unknown Source)
> 
>   The above exception kills the RunnableQueue.
> 
> > Once this happens, the second exception, IllegalStateException appears
> >  for every mouse events infinitely.
> > Is this a bug in org.apache.batik.gvt.UpdateTracker.getDirtyAreas() ?
> > If anyone knows anything about this problem, please let me know.
> 
>   You must ensure that _all_ modifications of the DOM take place
> in the UpdateManager's RunnableQueue (read the FAQ for code on 
> how to make this happen).
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Re: ConcurrentModificationException in org.apache.batik.gvt.UpdateTracker.getDirtyAreas

Posted by th...@kodak.com.
Hi Shin,

sugawara@humane-systems.co.jp (sugawara) wrote on 03/24/2006 06:57:11 AM:

> I am developping a graphical editor program using batik 1.6 and 
JDK1.50_05.
> It almost works fine, but sometimes after using my program for 2 or 3 
hours,
> following exception occurs in sudden.
> 
> Exception in thread "RunnableQueue-5"
> java.util.ConcurrentModificationException
>    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
>    at java.util.HashMap$KeyIterator.next(HashMap.java:823)
>    at org.apache.batik.gvt.UpdateTracker.getDirtyAreas(Unknown Source)

   This is a clear indication that you are modifying the DOM outside of
the UpdateManager's RunnableQueue.

>    at org.apache.batik.bridge.UpdateManager.repaint(Unknown Source)
>    at
> 
org.apache.batik.bridge.UpdateManager$UpdateManagerRunHander.runnableInvoked
> (Unknown Source)
>    at org.apache.batik.util.RunnableQueue.runnableInvoked(Unknown 
Source)
>    at org.apache.batik.util.RunnableQueue.run(Unknown Source)
>    at java.lang.Thread.run(Thread.java:595)

> Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException:
> RunnableQueue not started or has exited
>    at org.apache.batik.util.RunnableQueue.invokeLater(Unknown Source)

  The above exception kills the RunnableQueue.

> Once this happens, the second exception, IllegalStateException appears
>  for every mouse events infinitely.
> Is this a bug in org.apache.batik.gvt.UpdateTracker.getDirtyAreas() ?
> If anyone knows anything about this problem, please let me know.

  You must ensure that _all_ modifications of the DOM take place
in the UpdateManager's RunnableQueue (read the FAQ for code on 
how to make this happen).


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org