FusionAuth 1.37 is released
-
We use mysql and are getting exceptions that keep Fusion Auth in Docker container from running.
fusionauth_1 | 2022-08-11 09:02:33.547 PM INFO com.inversoft.maintenance.DefaultMaintenanceModeWorkflow -
fusionauth_1 |
fusionauth_1 | ---------------------------------------------------------------------------------------------------------
fusionauth_1 | ---------------------------------- Entering Silent Configuration Mode -----------------------------------
fusionauth_1 | ---------------------------------------------------------------------------------------------------------
fusionauth_1 |
fusionauth_1 | Exception in thread "main" java.lang.NoClassDefFoundError: com/inversoft/mysql/MySQLHelper
fusionauth_1 | at com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService.loadDriver(JDBCMaintenanceModeDatabaseService.java:430)
fusionauth_1 | at com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService.lockDatabase(JDBCMaintenanceModeDatabaseService.java:281)
fusionauth_1 | at com.inversoft.maintenance.db.DatabaseSilentModeWorkflowTask.perform(DatabaseSilentModeWorkflowTask.java:43)
fusionauth_1 | at com.inversoft.maintenance.DefaultMaintenanceModeWorkflow.performSilentConfiguration(DefaultMaintenanceModeWorkflow.java:47)
fusionauth_1 | at com.inversoft.maintenance.BaseMaintenanceModePrimeMain.modules(BaseMaintenanceModePrimeMain.java:58)
fusionauth_1 | at org.primeframework.mvc.BasePrimeMain.hup(BasePrimeMain.java:65)
fusionauth_1 | at org.primeframework.mvc.BasePrimeMain.start(BasePrimeMain.java:93)
fusionauth_1 | at io.fusionauth.app.FusionAuthMain.main(FusionAuthMain.java:23)
fusionauth_1 | Caused by: java.lang.ClassNotFoundException: com.inversoft.mysql.MySQLHelper
fusionauth_1 | at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
fusionauth_1 | at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
fusionauth_1 | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
fusionauth_1 | ... 8 more
fusionauth_1 | Exception in thread "Thread-0" java.lang.NullPointerException: Cannot invoke "org.primeframework.mvc.netty.PrimeHTTPServer.shutdown()" because "this.server" is null
fusionauth_1 | at org.primeframework.mvc.BasePrimeMain.shutdown(BasePrimeMain.java:84)
fusionauth_1 | at org.primeframework.mvc.BasePrimeMain$PrimeHTTPServerShutdown.run(BasePrimeMain.java:106) -
I am facing the following error after I run the startup.bat script on windows.
Exception in thread "main" java.lang.NoClassDefFoundError: com/inversoft/mysql/MySQLHelper
at com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService.loadDriver(JDBCMaintenanceModeDatabaseService.java:430)
at com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService.determineDatabaseStatus(JDBCMaintenanceModeDatabaseService.java:162)
at com.inversoft.maintenance.db.DatabaseInteractiveWorkflowTask.perform(DatabaseInteractiveWorkflowTask.java:27)
at com.inversoft.maintenance.DefaultMaintenanceModeWorkflow.getCurrentStage(DefaultMaintenanceModeWorkflow.java:63)
at com.inversoft.maintenance.BaseMaintenanceModePrimeMain.modules(BaseMaintenanceModePrimeMain.java:71)
at org.primeframework.mvc.BasePrimeMain.hup(BasePrimeMain.java:65)
at org.primeframework.mvc.BasePrimeMain.start(BasePrimeMain.java:93)
at io.fusionauth.app.FusionAuthMain.main(FusionAuthMain.java:23)
Caused by: java.lang.ClassNotFoundException: com.inversoft.mysql.MySQLHelper
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 8 more
Exception in thread "Thread-0" java.lang.NullPointerException: Cannot invoke "org.primeframework.mvc.netty.PrimeHTTPServer.shutdown()" because "this.server" is null
at org.primeframework.mvc.BasePrimeMain.shutdown(BasePrimeMain.java:84)
at org.primeframework.mvc.BasePrimeMain$PrimeHTTPServerShutdown.run(BasePrimeMain.java:106) -
Hello @greggwonderly
Have you managed to solve this issue? I am getting the same error log when running the startup script on windows.
-
@chekikeja I switched back to version 1.36 for now and it is working there as it was prior to this update.
-
@greggwonderly Using Postgresql worked for me. Although I realized if you had initially selected MySql, this error is still thrown. The solution is to do a fresh installation of fusionauth and only select Postgresql while filling the maintenance mode form.
-
@chekikeja FYI, windows support is going to come through WSL2 in 1.37 and beyond.
https://fusionauth.io/docs/v1/tech/release-notes
Windows install has been removed. Our strategy is to support Windows using WSL 2 with our provided debian package. Please plan to utilize this strategy, and open a GitHub issue if you encounter issues with the installation.
-
@greggwonderly Hmm. Interesting.
Were you upgrading?
Do you see this on a fresh install?
What version of mysql are you using?
-
I have the same problem. Yes, it is a fresh install.
-
@hwallenstone @chekikeja @greggwonderly
Sorry for the delay here, I've opened a GH issue to identify the cause of this and resolve ASAP.
https://github.com/FusionAuth/fusionauth-issues/issues/1862 -
When using the Docker image you'll need to either use PostgreSQL or build the MySQL JDBC connector into the image.
We've updated the Docker Hub description and the Docker install instructions to make this clearer.
https://hub.docker.com/r/fusionauth/fusionauth-app
https://fusionauth.io/docs/v1/tech/installation-guide/docker#limitations
https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/master/docker/fusionauth/fusionauth-app-mysql/DockerfileThis is a current limitation due our current understanding of the license under which the MySQL JDBC connector is released by Oracle.
-
You'll need to use WSL v2 or wait for the update which will include a native Windows start script using PowerShell.
See https://github.com/FusionAuth/fusionauth-issues/issues/1848
-
Just to close the loop on this, 1.40 includes the native window installation script and there are now instructions on how to install the mysql jar file.