Deployment issue on version upgrade

0
Hello Everyone,We recently migrated a live application from Mendix 9.24.6 to 11.12.3.The migration was completed successfully in our local environment following the upgrade path:9.24.6 → 9 LTS → 10 LTS → 11.12.3The application runs correctly locally without any issues. However, when deploying to the Acceptance environment, we are encountering the following problems:The environment URL returns a 502 Bad Gateway error.Runtime logs show errors (attached below).The application is not accessible at all after deployment.Additional context:There has been no active deployment on this application for approximately 1.5 years.The Production environment is still in use, although usage is relatively light.We tried with branch of 10LTS and branch 11 LTS version as well but same errorCould someone please help us investigate and resolve this issue? Any guidance, recommendations, or support would be helpful.Thank you in advance for your assistance.Thanks & Regards, DhanushantRuntime error :2026-08-20 08:15:50.968 ERROR - M2EE: An error occurred while initializing the Runtime: Unsupported pre-analysis migration version: 4.4.0. You are trying to synchronize aMendix application database from an unsupported Mendix version. com.mendix.m2ee.api.AdminException: An error occurred while initializing the Runtime: Unsupported pre-analysis migration version: 4.4.0. You are trying to synchronize a Mendix application database from an unsupported Mendix version. at com.mendix.basis.impl.MxRuntimeImplBase.start(MxRuntimeImplBase.java:267)Caused by: com.mendix.connectionbus.ConnectionBusRuntimeException: Unsupported pre-analysis migration version: 4.4.0. You are trying to synchronize a Mendix application database from an unsupported Mendix version. at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader.getTables(DatabaseMappingReader.scala:152) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader.fillModel(DatabaseMappingReader.scala:59) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.$anonfun$getDatabaseMappingModel$4(DatabaseMappingReader.scala:34) at scala.util.Using$.resource(Using.scala:261) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.$anonfun$getDatabaseMappingModel$3(DatabaseMappingReader.scala:34) at scala.Option.map(Option.scala:242) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.getDatabaseMappingModel(DatabaseMappingReader.scala:32) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.$anonfun$getDatabaseMappingModel$1(DatabaseMappingReader.scala:19) at scala.util.Using$.resource(Using.scala:261) at com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.getDatabaseMappingModel(DatabaseMappingReader.scala:19) at com.mendix.connectionbus.ConnectionBusImpl.fillMappingCache(ConnectionBusImpl.scala:405) at com.mendix.connectionbus.ConnectionBusImpl.getInitialDatabaseCommands(ConnectionBusImpl.scala:400) at com.mendix.basis.impl.MxRuntimeImplBase.collectDdlCommands(MxRuntimeImplBase.java:370) at com.mendix.basis.impl.MxRuntimeImplBase.doSynchronization(MxRuntimeImplBase.java:285) at com.mendix.basis.impl.MxRuntimeImplBase.startConnectionBus(MxRuntimeImplBase.java:274) at com.mendix.basis.impl.MxRuntimeImplBase.start(MxRuntimeImplBase.java:246) at com.mendix.m2ee.appcontainer.actions.StartAction.startRuntime(StartAction.scala:30) at com.mendix.m2ee.appcontainer.actions.StartAction.execute(StartAction.scala:17) at com.mendix.m2ee.appcontainer.server.handler.HttpAdminHandlerBase.service(HttpAdminHandlerBase.java:128) at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1385) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1307) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) at org.eclipse.jetty.server.Server.handle(Server.java:563) at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:936) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1080) at java.base/java.lang.Thread.run(Thread.java:829)2026-08-20 08:15:50.973 INFO - Core: Mendix Runtime is shutting down now... [containersupport:eventing] WARNING: Could not send event because no event handler was found for topic `com/mendix/events/runtime/shutdown`. 2026-08-20 08:15:50.983 INFO - Core: Mendix Runtime is now shut down. [root@accp backup]#
asked
2 answers
0

The 502 Bad Gateway looks like a consequence of the Mendix Runtime not starting successfully. The most important error in the log is:

Unsupported pre-analysis migration version: 4.4.0


This suggests that the Acceptance database is in an older migration state that the newly deployed Runtime cannot process. Considering that there has been no active deployment to Acceptance for around 1.5 years, I would investigate the database migration state first rather than focusing on the 502 itself.


One additional suggestion: why jump directly to Mendix 11 for this environment?

Since this is a legacy application coming from Mendix 9.24.6 and the Acceptance environment has not been deployed for a long time, I would first try getting the application successfully deployed on a Mendix 10 LTS version.


For example:

9.24.6 → latest suitable 9 LTS → 10 LTS → validate Acceptance → multiple successful deployments → then move to Mendix 11


Mendix 10 can be used as an intermediate validation step here. Once the application and, more importantly, the Acceptance database migration are working correctly on Mendix 10, you can proceed with the Mendix 11 upgrade.


This gives you a much smaller troubleshooting scope. If the application fails on Mendix 10, you know the issue is related to the migration/database state rather than the additional changes introduced by moving all the way to Mendix 11.


I would recommend:

  1. Take a full backup of the Acceptance database.
  2. Deploy the application on an appropriate Mendix 10 LTS version.
  3. Let the Runtime perform the required database synchronization/migration.
  4. Confirm that the application starts and can be accessed successfully.
  5. Perform a few successful deployments/restarts on Acceptance and verify that the database remains healthy.
  6. Only after that, proceed with the Mendix 11 upgrade.
  7. Follow the supported Mendix upgrade path and use the latest patch release of each relevant LTS before moving to the next major version.


Also, don't use the Production database for testing this migration, since Production is still active.


Based on the stack trace, I would not manually modify the migration metadata in the database. If the same Unsupported pre-analysis migration version: 4.4.0 error occurs even when deploying to the appropriate Mendix 10 version, I would raise a Mendix Support ticket with the complete Runtime logs and database migration information.


The key point is: first establish a clean and successful deployment/migration on Mendix 10, then move to Mendix 11. That should make it much easier to isolate whether the problem is the old Acceptance database state or something introduced during the Mendix 11 upgrade.


Kindly mark this as the accepted answer if it helps.

answered
0

I would suggest redeploying the last working Mendix 9 branch again. Once this is deployed, do a deployment to Mendix 9 LTS and confirm that this is working. Once confirmed, deploy the Mendix 10 LTS version, and confirm that this is working. Finally, deploy the Mendix 11 version.


You are trying to carry out a large jump between Mendix versions, and I think you just need to carry this out in stages so the application and data is correctly migrated.

I hope this helps. Good luck!

answered