amitsarangi / mt4j

Automatically exported from code.google.com/p/mt4j
GNU General Public License v2.0
0 stars 0 forks source link

Pick in PreDrawAction results in concurrency problem #29

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

I'm using the pick method within a PreDrawAction.

What is the expected output? What do you see instead?

The expected output is a normal pick recursion. What I get is an error of 
concurrent modification of the list used when picking. Then I moved the pick to 
a different method in the preDrawAction which is synchronized but the problem 
remains.

Exception in thread "Animation Thread" java.util.ConcurrentModificationException
    at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
    at java.util.AbstractList$Itr.next(AbstractList.java:343)
    at org.mt4j.components.MTComponent.pickRecursive(MTComponent.java:2645)
    at org.mt4j.components.MTComponent.pick(MTComponent.java:2530)
    at view.widgets.actions.HoverPreDrawAction.pick(HoverPreDrawAction.java:39)
    at view.widgets.actions.HoverPreDrawAction.processAction(HoverPreDrawAction.java:24)
    at org.mt4j.sceneManagement.AbstractScene.drawAndUpdate(AbstractScene.java:159)
    at org.mt4j.MTApplication.runApplication(MTApplication.java:780)
    at org.mt4j.MTApplication.draw(MTApplication.java:666)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:680)

What version of the product are you using? On what operating system?

The latest HEAD of MT4j on Mac OS X 10.6.7

Original issue reported on code.google.com by michael....@gmail.com on 25 Apr 2011 at 11:10