So there are no "easy" ones in that list (i.e. two threads waiting on the same
object).
So next step is to stop in a debugger when we have a deadlock, review each
thread, and go back through the stack checking what objects they have
synchronised against.
I did this in december and sent the summary to the list, we had a blackboard
being held by one thread, at the same time we were trying to update it from
another thread.
(Aside: I was not trying that file, I was going through walkthrough 2 which
consists of edit WFS, editing a memory datastore and editing a shape file).
I know dead lock is hard to reproduce, I would like to double check how we
produce this one.
So what does "30 seconds of editing" consist of? Sounds like you are using the
edit geometry tool, can you catch the deadlock occurring at any of the
following points:
1) taking USA polygon (so using it to select the polygon and generate it into
an EditGeom)
2) moving a node - this is actually two stories
a) moving a node that is zoomed in far enough to represent a single point
b) moving a node when zoomed out so the node represents several points
3) unselect - did this unselect the EditGeom completely?
4) select another polygon
a) Are you selecting another polygon while still working in the same USA
EditGeom?
b) Or did you select another feature (i.e. mexico or canada)
5) then go back to the first
- so selecting USA polygon again
So which stage does it go BOOM above?
a) does it go boom as you are moving the mouse (often it checks the EditGeom to
give you visual feedback and change the cursor)
b) does it go boom as you click the mouse (often it needs to do a query here to
see if you hit anything)
c) does it go boom when you release the mouse (this is when it figures out what
you meant and tries to update the feature)
Ideally I would like to get an answer back like:
While selecting the USA polygon for the second time (number 5 above) it
deadlocks when I release the button (c above).
(This means we could check the renderer / selection / filter code. After
setting up the EditGeom, it triggers the renderer with an additional
NOT(FeatureID) filter so - feature is not drawn twice).
When moving a node representing a single point (number 2a above) it deadlocks
when press down the button (b above).
(This means we could check the SelectionTool and how it updates the EditGeom
and causes the screen to refresh).
Jody
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel