Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 340731 - Deadlock while refreshing workspace
Summary: Deadlock while refreshing workspace
Status: RESOLVED DUPLICATE of bug 239230
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.7   Edit
Hardware: PC Linux-GTK
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-23 05:06 EDT by Tomasz Zarna CLA
Modified: 2011-03-23 11:42 EDT (History)
2 users (show)

See Also:


Attachments
dump (517.97 KB, text/plain)
2011-03-23 05:07 EDT, Tomasz Zarna CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Zarna CLA 2011-03-23 05:06:55 EDT
I20110322-0800 but running 3.6 gives the same result

I have a workspace which I haven't used for a while (couple of weeks). Yesterday, when I wanted to open it with I20110322-0800 all I saw was the Workspace prompt and after I picked the workspace and clicked Ok nothing happened.

The only message in .log says:
!ENTRY org.eclipse.core.resources 2 10035 2011-03-23 09:33:31.348
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

I left the Eclipse running over night but giving it more time didn't help. So I had to kill it, I'll attach the dump in a minute.

I'm filing it against Plaform/Resources because this is what the last (and only) message from the log is saying.
Comment 1 Tomasz Zarna CLA 2011-03-23 05:07:43 EDT
Created attachment 191732 [details]
dump
Comment 2 Szymon Brandys CLA 2011-03-23 05:24:40 EDT
I looked at the dump and I can't see any core.reosurces or core.filesystem calls in it. I see JDT, SWT and Equinox Secure Storage calls though. Please look at the dump and decide where the bug should go.
Comment 3 James Blackburn CLA 2011-03-23 05:59:56 EDT
Worker-1: is doing Refresh -> ProjectPreferences.updatePreferences -> SecurePreferencesRoot.getPassword -> syncExec

main: acquire WS lock.

So the deadlock is Worker-0: WS -> UI
                   main:     UI -> WS

The deadlock aside, there seems to be an issue in core.jobs. The locks are meant to be deadlock safe and process syncExec's while waiting to acquire locks on the UI thread.
Comment 4 James Blackburn CLA 2011-03-23 06:22:49 EDT
Ah the Deadlock is happening early in startup, workbench.init() is being called, and we haven't got as far as Workbench#runEventLoop.

Looks very similar to: bug 325941, bug 313866 and bug 239230.

Perhaps this should be closed as a duplicate of bug 239230.
Comment 5 James Blackburn CLA 2011-03-23 06:24:58 EDT
Resolving as duplicate

*** This bug has been marked as a duplicate of bug 239230 ***