Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 459366

Summary: Equinox Security Integration doesn't work in latest 3.0.0 m5 build
Product: [RT] RAP Reporter: ocsy <ocsy.ru>
Component: WorkbenchAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: ivan
Version: 3.0   
Target Milestone: 3.0 M6   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:
Bug Depends on: 459445    
Bug Blocks:    
Attachments:
Description Flags
Test project for demo LoginModule not found none

Description ocsy CLA 2015-02-07 11:56:39 EST
Stack tracke:
[system][ERROR]Can't login user:Failed to log in.
org.eclipse.equinox.internal.security.auth.SecureContext.login(SecureContext.java:57)
org.eclipse.equinox.internal.security.auth.SecureContext.getSubject(SecureContext.java:81)
com.s5540liop.pms.ui.core.rap.UICoreEntryPoint.login(UICoreEntryPoint.java:90)
com.s5540liop.pms.ui.core.rap.UICoreEntryPoint.createUI(UICoreEntryPoint.java:38)
org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:171)
org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:283)
java.lang.Thread.run(Thread.java:744)
org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:104)
[system][ERROR]-->:unable to find LoginModule class: org.eclipse.equinox.security.auth.module.ExtensionLoginModule cannot be found by org.eclipse.rap.ui.workbench_3.0.0.20141125-0949
javax.security.auth.login.LoginContext.invoke(LoginContext.java:794)
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
javax.security.auth.login.LoginContext.login(LoginContext.java:587)
org.eclipse.equinox.internal.security.auth.SecureContext.login(SecureContext.java:50)
org.eclipse.equinox.internal.security.auth.SecureContext.getSubject(SecureContext.java:81)
com.s5540liop.pms.ui.core.rap.UICoreEntryPoint.login(UICoreEntryPoint.java:90)
com.s5540liop.pms.ui.core.rap.UICoreEntryPoint.createUI(UICoreEntryPoint.java:38)
org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:171)
org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:283)
java.lang.Thread.run(Thread.java:744)
org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:104)


Previos build (3.0.0m4) work well.
Jaas binding done according to https://wiki.eclipse.org/RAP/Equinox_Security_Integration. Work well from RAP 1.5 to 3.0.0m5 release

Think it's more close to bundle classloader (
[system][ERROR]-->:unable to find LoginModule class: org.eclipse.equinox.security.auth.module.ExtensionLoginModule cannot be found by org.eclipse.rap.ui.workbench_3.0.0.20141125-0949), as 3.0.0 m4 try to load this extension with bundle owned entry point (in trace com.s5540liop.pms.ui.core)
Comment 1 Ivan Furnadjiev CLA 2015-02-07 12:59:16 EST
Could you please provide a complete test project(s) to demonstrate the issue?
Comment 2 ocsy CLA 2015-02-07 13:39:38 EST
Created attachment 250597 [details]
Test project for demo LoginModule not found

Just access in browser (http://host:port/test) and catch exceptions in console. Switch back target platform to m4, and we see login dialog.
Comment 3 Ivan Furnadjiev CLA 2015-02-09 06:24:49 EST
Mars build of RAP 3.0M4 has the same problem, Luna build works fine. Something in Equinox has changed.
Comment 4 Ivan Furnadjiev CLA 2015-02-09 06:56:51 EST
Some more insides about class loaders used to load org.eclipse.equinox.security.auth.module.ExtensionLoginModule (in org.eclipse.osgi.internal.framework.ContextFinder line 721):
- in Luna build was org.eclipse.osgi.internal.framework.ContextFinder
- in Mars build is org.eclipse.osgi.internal.loader.EquinoxClassLoader
Now I think that this bug??/problem will be better addressed by Equinox team. Could you please open a bugzilla against Equinox and make this bug dependent on it?
Comment 5 Ivan Furnadjiev CLA 2015-02-09 07:11:31 EST
I made a typo in the above comment. The contextClassLoader is in class javax.security.auth.login.LoginContext line 721.
Comment 6 Ivan Furnadjiev CLA 2015-02-10 10:41:36 EST
Will close it as underling Equinox bug is fixed. Please check it with RAP 3.0M6 (March 27).