Community
Participate
Working Groups
Using eclipse.buildId=I20101029-1118 (4.1 build) java.version=1.6.0_23-ea java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_CA Command-line arguments: -os win32 -ws win32 -arch x86_64 -console I got this stack trace once I entered my new password after they have been changed. org.eclipse.equinox.security.storage.StorageException: No secure storage modules found. at org.eclipse.equinox.internal.security.storage.PasswordProviderSelector.findStorageModule(PasswordProviderSelector.java:190) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:231) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110) at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.updateCache(CVSRepositoryLocation.java:1021) at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.updateCache(CVSRepositoryLocation.java:1003) at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.setAllowCaching(CVSRepositoryLocation.java:990) at org.eclipse.team.internal.ccvs.ssh2.JSchSession$1.update(JSchSession.java:74) at org.eclipse.jsch.internal.ui.authenticator.WorkbenchUserAuthenticator.promptForUserInfo(WorkbenchUserAuthenticator.java:81) at org.eclipse.jsch.internal.core.UserInfoImpl.promptSecret(UserInfoImpl.java:86) at org.eclipse.jsch.internal.core.UserInfoImpl.promptPassword(UserInfoImpl.java:118) at com.jcraft.jsch.UserAuthPassword.start(UserAuthPassword.java:52) at com.jcraft.jsch.Session.connect(Session.java:419) at com.jcraft.jsch.Session.connect(Session.java:150) at org.eclipse.jsch.internal.core.JSchProvider.connect(JSchProvider.java:87) at org.eclipse.team.internal.ccvs.ssh2.JSchSession.createSession(JSchSession.java:112) at org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:83) at org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2ServerConnection.java:134) at org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerConnection.java:119) at org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:132) at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConnection(CVSRepositoryLocation.java:545) at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:806) at org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:159) at org.eclipse.team.internal.ccvs.core.resources.UpdateContentCachingService.cacheFileContents(UpdateContentCachingService.java:224) at org.eclipse.team.internal.ccvs.core.resources.UpdateContentCachingService.buildRemoteTree(UpdateContentCachingService.java:118) at org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.getRemoteTree(CVSWorkspaceRoot.java:176) at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.fetchVariant(CVSResourceVariantTree.java:78) at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(AbstractResourceVariantTree.java:84) at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.refresh(CVSResourceVariantTree.java:334) at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(AbstractResourceVariantTree.java:54) at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(ResourceVariantTreeSubscriber.java:162) at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(ResourceVariantTreeSubscriber.java:126) at org.eclipse.team.core.subscribers.Subscriber.refresh(Subscriber.java:466) at org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber.refreshWithContentFetch(CVSWorkspaceSubscriber.java:434) at org.eclipse.team.internal.ccvs.ui.mappings.WorkspaceSubscriberContext.refresh(WorkspaceSubscriberContext.java:305) at org.eclipse.team.core.mapping.provider.SynchronizationContext.refresh(SynchronizationContext.java:109) at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.doRefresh(RefreshModelParticipantJob.java:69) at org.eclipse.team.internal.ui.synchronize.RefreshParticipantJob.run(RefreshParticipantJob.java:309) at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.run(RefreshModelParticipantJob.java:117) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
For some reason, the security storage doesn't work anymore. Any idea what could be wrong ?
I spoke with Olivier and he uses Windows 64bit with 64bit Eclipse and 64 bit JVM. There is no native integration module supplied for this configuration, see bug 226482 . It is likley that secure storage was created earlier with the 32-bit integartion module; that integartion module is not available in the 64-bit version. Hence the message about the missing module. *** This bug has been marked as a duplicate of bug 226482 ***
Oleg, shouldn't he get the default password provider defined by equinox UI in the case where no platform-specific fragment is found? Or is this a case where the workspace was created on one architecture, and then moved to a machine with different architecture?
(In reply to comment #3) > Oleg, shouldn't he get the default password provider defined by equinox UI in > the case where no platform-specific fragment is found? Or is this a case where > the workspace was created on one architecture, and then moved to a machine with > different architecture? In this case I thought a 32-bit eclipse was run on a 64-bit arch and then later a 64-bit eclipse was run and it would not work because of a previous run with a 32-bit eclipse install. But it all happened on the same machine.
(In reply to comment #4) > In this case I thought a 32-bit eclipse was run on a 64-bit arch and then later > a 64-bit eclipse was run and it would not work because of a previous run with a > 32-bit eclipse install. But it all happened on the same machine. Ok, whether its the same physical machine isn't the main issue. The issue is that the same workspace was used with a different architectures. I just wanted to make sure that the ugly error in the log isn't the default behaviour on platforms with no native secure storage. If you only get that error when switching architectures I'm not too worried about it (in this case the stored settings have effectively been lost so an error in the log seems legitimate).
I'm going to reopen this because we should handle Olivier's case more gracefully. The general problem case is: 1) Run with a native secure storage provider 2) native provider is uninstalled 3) Startup again, it tries to consult the native provider and throws this exception. Ideally it should just fall back to the default storage provider automatically.
(In reply to comment #6) > Ideally it should just fall back to the default storage provider automatically. The message comes up because some code requests the encrypted data. The data was encrypted with the missing provider. There is no way to decrypt that data without the provider that was used to encrypt it.
(In reply to comment #7) > The message comes up because some code requests the encrypted data. The data > was encrypted with the missing provider. There is no way to decrypt that data > without the provider that was used to encrypt it. From the stack it looks like an attempt to store data, rather than retrieve it. I agree a retrieval request should fail in this case, so I would expect a workflow like: CVS attempts to retrieve the stored password with the native provider This fails, so they prompt the user to enter a password CVS then stores the password, which uses the default provider The current behaviour appears to be that once a user gets into this state, you can never again store passwords.
The problem still occurs with eclipse.buildId=M20120208-0800 java.version=1.6.0_30 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_DE Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /home/michael/.eclipse-keyring/.keyring Command-line arguments: -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product -keyring /home/michael/.eclipse-keyring/.keyring Could not store authorization credentials org.eclipse.equinox.security.storage.StorageException: No secure storage modules found. at org.eclipse.equinox.internal.security.storage.PasswordProviderSelector.findStorageModule(PasswordProviderSelector.java:190) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:231) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110) at org.eclipse.mylyn.tasks.core.TaskRepository.addAuthInfo(TaskRepository.java:264) at org.eclipse.mylyn.tasks.core.TaskRepository.setCredentials(TaskRepository.java:758) at com.atlassian.connector.eclipse.internal.jira.ui.wizards.JiraRepositorySettingsPage.validateSettings(JiraRepositorySettingsPage.java:452) at org.eclipse.mylyn.tasks.ui.wizards.TaskRepositoryWizardDialog.handleExtraButtonPressed(TaskRepositoryWizardDialog.java:96) at org.eclipse.mylyn.commons.ui.dialogs.EnhancedWizardDialog.buttonPressed(EnhancedWizardDialog.java:98) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openEditRepositoryWizard(TasksUiUtil.java:206) at org.eclipse.mylyn.internal.tasks.ui.dialogs.TaskRepositoryCredentialsDialog$1.widgetSelected(TaskRepositoryCredentialsDialog.java:105) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1396) at org.eclipse.swt.widgets.Link.gtk_button_release_event(Link.java:339) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1732) at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8422) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2276) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.mylyn.internal.tasks.ui.TaskRepositoryLocationUi$PasswordRunner.run(TaskRepositoryLocationUi.java:114) at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164) at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Hello. I have been bounced around from: https://bugs.eclipse.org/bugs/show_bug.cgi?id=378583 to: https://studio.atlassian.com/browse/PLE-1356 now to here. :( I have installed "Eclipse for Testers" on my 64b Linux machine, installed the jira connector. Created a new workspace. After trying to connect to jira I get the same error as Olivier. I have not moved any workspace between any machines, everything is on the same one machine. Is this the same problem?
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.