[BUG-1687] Client taking 10+ minutes to load after upgrading to 8.3.1 – JxBrowser timeout

I have a vision client that is taking 10+ minutes to load since upgrading to ignition 8.3.1 (From 8.1).

The issue appears to be caused by the JxBrowser failing to initialise causing the client to hang until an exception is thrown. See logs below.

In 8.1 I had a similar issue which was fixed by disabling the Web Browser Module which would stop the JxBrowser from initialising in the first place. However in 8.3.1 I've not found a way to stop JxBrowser from initialising.
I havent got any Web Browser components in the project, and I've tried disabling the reporting module.

This issue is only present on one HMI I have for dev purposes; the same client opens quickly on my local machine.
Problem machine: Windows 10 IoT Enterprise LTSC 21H2, Intel Celeron N2930, 4 GB RAM, Sentinel Agent + Sentinel Firewall enabled, Windows Defender and Windows Firewall disabled.

I suspect this may ultimately be an antivirus / endpoint protection issue on this particular HMI, but if there’s any supported way to get around the JxBrowser initialisation within Ignition 8.3, that would be my preferred solution.

Client Logs (user details removed):

Creating frame. extendedState=6, bounds=java.awt.Rectangle[x=0,y=0,width=1024,height=768] 

11:48:31.172 [ClientPanel-LoginTask] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Skipping local challenge - directory doesn't exist. 

11:48:31.261 [ClientPanel-LoginTask] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Updated login state. Logged in? true, Username: [user], Roles: [Administrator], Security Zones: [] 

Successfully read project [project].proj from cache. 

Cache file [project].proj loaded sucessfully from cache, downloading diff... 

11:48:31.967 [WebSocket@1368428062-38] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- WebSocket session is connected 

11:48:32.256 [ProjectDownloader] INFO Vision.DownloadProjectPane -- Starting download of 134 bytes 

11:48:32.540 [ClientExecEngine-1] INFO tags.subscriptions -- Changing connected quality to 'Good' 

11:58:42.205 [ProjectDownloader] ERROR designer.JXBrowserUtil -- Failed to start Browser Engine with options 

com.teamdev.jxbrowser.engine.EngineOptions: 

  autoplayEnabled: false 

  chromiumDir: C:\Users\[user]\.ignition\cache\resources\jxbrowser\8.12.1 

  chromiumSwitches: [] 

  diskCacheSize: <unknown> 

  fileAccessFromFilesAllowed: false 

  isGpuDisabled: false 

  isIncognitoEnabled:true 

  language:en-us 

  passwordStore: <unknown> 

  remoteDebugginPort: 9222 

  renderingMode: OFF_SCREEN 

  isSandboxDisabled: false 

  secureOriginWhitelist: [] 

  isTouchMenuEnabled: false 

  userAgent: <unknown user agent value> 

  userDataDir:C:\Users\[user]\AppData\Local\Temp\JxBrowser-UserData-b3f734ff-5eea-4785-9d03-334c0c6e117d 

  webSecurityDisabled: false 

. 

com.teamdev.jxbrowser.engine.IpcSetupFailureException: null 

at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:201) 

at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:163) 

at com.inductiveautomation.ignition.client.util.JxBrowserUtil.lambda$getOrCreateEngine$2(JxBrowserUtil.java:352) 

at com.inductiveautomation.ignition.client.util.JxBrowserUtil.runResourceLockedAction(JxBrowserUtil.java:567) 

at com.inductiveautomation.ignition.client.util.JxBrowserUtil.getOrCreateEngine(JxBrowserUtil.java:352) 

at com.inductiveautomation.ignition.client.util.JxBrowserUtil.getOrCreateEngine(JxBrowserUtil.java:431) 

at com.inductiveautomation.webbrowser.BrowserInstanceManager.startup(BrowserInstanceManager.java:36) 

at com.inductiveautomation.factorypmi.application.FPMIApp.createApp(FPMIApp.java:336) 

at com.inductiveautomation.factorypmi.application.runtime.ClientPanel.startupApp(ClientPanel.java:893) 

at com.inductiveautomation.factorypmi.application.runtime.ClientPanel.startupAppSafe(ClientPanel.java:844) 

at com.inductiveautomation.factorypmi.application.runtime.ClientPanel.onProjectDownloadFinished(ClientPanel.java:853) 

at com.inductiveautomation.factorypmi.application.runtime.DownloadProjectPane.lambda$new$0(DownloadProjectPane.java:73) 

at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source) 

at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source) 

at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) 

at java.base/java.util.concurrent.CompletableFuture.complete(Unknown Source) 

at com.inductiveautomation.factorypmi.application.runtime.DownloadProjectPane$DownloadProject.run(DownloadProjectPane.java:112) 

at com.inductiveautomation.ignition.client.launch.AbstractStepRunner.run(AbstractStepRunner.java:33) 

at java.base/java.lang.Thread.run(Unknown Source) 

11:58:42.216 [ProjectDownloader] ERROR WebBrowser -- BrowserEngine was not initialized. Web Browser Component can not start! 

11:58:42.751 [AWT-EventQueue-0] INFO vision.App -- Starting Up... 

11:58:45.713 [EDT-Watchdog-1] INFO edt-watchdog -- Non-responsive UI thread detected. Stack saved at 'C:\Users\[user]\.ignition\cache\gw192.168.203.230_8088\C0\NonResponsiveEdt-2025-11-21_115845.json' 

The web browser component is now part of core Vision... you'll have to solve this IT problem unfortunately.

That said, we have a (very) old ticket to improve the way Vision loads the web browser component to do this in the background, so at least the rest of your Vision application would still be useful even if this is taking 10+ minutes in the background.

I've revived that ticket with an escalated priority, since the move to embed the web browser component will probably make it more of an issue.