Community
Participate
Working Groups
Salvo workbench is not loading and get stuck if one of the store bundles are started before loading the workbench.
This occurs in Linux platform. The problem is something related to Secure Storage.
can you please give some more information. What do you mean by "before loading the workbench". Do you mean before you see the UI? Is there an obscured window asking for credentials?
Are you running the Salvo dowloaded RCP or do you run from the workbench?
(In reply to comment #2) > can you please give some more information. What do you mean by "before loading > the workbench". Do you mean before you see the UI? Yes before I see the UI.In the splash screen "Loading workbench.." displays and get stuck. > Is there an obscured window > asking for credentials? No.
(In reply to comment #3) > Are you running the Salvo dowloaded RCP or do you run from the workbench? I am running from the workbench
Okay. got it. The problem is that we have a deadlock. The Salvo update runner thread fetches the list of servers from the store (in a synchronized block) and for each server it wants to create a connection. To create a connection it wants to fetch the password to the news server from the secure store. The secure store wants to get the UI thread for showing the password dialog to get entrance to the secure store. But the UI thread is blocked by the Salvo news view who tries to create its UI by calling the setContent method on the viewer. Updating the contents of a Viewer all happens in the UI thread. The content provider walks the same path for getting the servers and is blocked by the first synchronized block.
Fixed and pushed to master: https://github.com/ECF/Newsreader/commit/e7fe964194f52b5813f2f0cfc8ae767ffc85952b Starting of the Salvo update thread is now done from the user interface thread. Since the password for the secure store must only be entered once it avoids the described deadlock situation.
Adding assignee
asssignee added