Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] deadlock "fixed" .. release?

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

Back to the top