That would be amazing Frank :-) I do not think we have a JIRA report yet (in part because we are trying to sort out how to describe the problem). I will check out our notes (http://udig.refractions.net/confluence/display/UDIG/1.3.3) … no JIRA yet.
-- Jody Garnett On Monday, 14 January 2013 at 6:15 PM, Frank Gasdorf wrote: > 2013/1/13 Jody Garnett <[email protected] > (mailto:[email protected])>: > > My prime suspects are: > > - Blackboard (this is where the deadlock is occurring) > > - EditFeature (this is the class that was introduced to make form work > > easier) > > > > > I the past we had several issues with blackboardImpl and I created a > pull request in the past that fixed issues if different threads > accessing the blackboard: > * https://github.com/uDig/udig-platform/pull/132 (Fix for threading > Issues for UDIG-1930 and UDIG-1931) > * https://github.com/uDig/udig-platform/pull/135 (used ReentrantLock > instead of synchronized blocks) > > Looking at the stacktrace that has been posted last year it seems to > be the ReentrantLock comming from pull request 135. > > I'll have a look at it later this week. Do we got an JIRA report already? > > Cheers, > Frank > > > > > 2012/11/22 Jody Garnett <[email protected] > (mailto:[email protected])>: > > I have run into the following deadlock when testing walkthrough 2 (page > > HoleCutter.html ): > > > > Thread [Worker-0] (Suspended) > > Unsafe.park(boolean, long) line: not available [native method] > > LockSupport.park(Object) line: 156 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).parkAndCheckInterrupt() > > line: 811 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquireQueued(AbstractQueuedSynchronizer$Node, > > int) line: 842 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquire(int) line: > > 1178 > > ReentrantLock$NonfairSync.lock() line: 186 > > ReentrantLock.lock() line: 262 > > BlackboardImpl.get(String) line: 212 > > EditToolHandler.getLock() line: 358 > > EditToolHandler.getCurrentState() line: 347 > > SelectFeatureBehaviour.isValid(EditToolHandler, MapMouseEvent, EventType) > > line: 141 > > EventBehaviourCommand.execute(IProgressMonitor) line: 54 > > CommandManager$Executor.execute(Command, IProgressMonitor) line: 395 > > CommandManager$Executor.run(IProgressMonitor, CommandManager$Request) line: > > 326 > > CommandManager$Executor.run(IProgressMonitor) line: 312 > > Worker.run() line: 54 > > > > Thread [pool-1-thread-1] (Suspended) > > Unsafe.park(boolean, long) line: not available [native method] > > LockSupport.park(Object) line: 156 > > AbstractQueuedSynchronizer$ConditionObject.await() line: 1987 > > LinkedBlockingQueue<E>.take() line: 399 > > ThreadPoolExecutor.getTask() line: 947 > > ThreadPoolExecutor$Worker.run() line: 907 > > Thread.run() line: 680 > > > > > > -- > > Jody Garnett > > > > > > _______________________________________________ > > User-friendly Desktop Internet GIS (uDig) > > http://udig.refractions.net > > http://lists.refractions.net/mailman/listinfo/udig-devel > > > > _______________________________________________ > User-friendly Desktop Internet GIS (uDig) > http://udig.refractions.net > http://lists.refractions.net/mailman/listinfo/udig-devel > >
_______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
