-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Getting error "unable to find LoginModule class: com.ibm.security.auth.module.JAASLoginModule" #30
Comments
com.ibm.security.auth.module.JAASLoginModule is a class found in IBM Java 8, not Semeru. LIkely the App is incorrectly identifying the JVM as IBM Java 8 based on the "java.vendor" and assuming the class will be present. The app needs to be corrected to distinguish between IBM Java 8 and Semeru. In the meantime, see #22 (comment) |
Hi @pshipton, there's some inconsistency in java.vendor naming used with all Semeru runtimes. I've just checked all LTS open versions available in github. Seems like it's not general change between java 11 and 17.
It means, only old versions of java8 and java11 were using long IBM name (International Business Machines Corporation). if you don't mind, please take a look at my issue with mssql jdbc Seems like similar story like you had with db2 driver: #22 Actually, MSSQL jdbc driver is just checking if java.vendor starts with "IBM*" ..if not, then com.sun.* libs are used for Kerberos authentications. It means, with old java11 Semeru versions Kerberos login worked because "International Business Machines Corporation" didn't meet the condition and after that change it fails due to no module found |
so.. if my understanding is correct, MSSQL jdbc driver maintainers shouldn't just check if the vendor name starts with IBM*. They should rather check if it's Semeru runtime and use com.sun.* libs in that case instead? |
The long name was used in some old releases as a temporary workaround for the problem, which was only needed in jdk8 and jdk11. The temporary workaround expired and the java.vendor was updated to the expected value "IBM Corporation". It's still possible, using the workaround I provided, to modify the java.vendor so that apps which make assumptions based on java.vendor can work.
Correct. |
Thank you for quick response! Well, workaround looks good. However, if there's anything else that relays on actual value then it could become broken. Their approach to relay on a substring of this value also looks to me bad. |
Just to mention the impact to anyone else who's going to check this topic. |
|
We are getting below error when creating Spark context.
Java Version :
The text was updated successfully, but these errors were encountered: