MacOS Sequoia JXBrowser Designer Crash Issue

I am fairly certain this is related to this, so going to call it out first, this is on MacOS Seqouia's public beta. Need to use it for testing something else, and am hoping if thats the case I can sort a work-around for Ignition Designers. Full willing to acknowledge this is beta software, just hoping someone sees this and an error is obvious to them that might correct it temporarily.

After updating I have started to run into an inconsistent issue where JXBrowser crashes when the designer opens, but its pretty inconsistent what causes it.

If I create a fresh gateway (all using docker) and then open a designer, life is good and everything works. However something eventually causes the following error when Perspective starts:

08:25:20.721 [Designer-Startup] INFO Perspective.Designer -- Starting up Perspective module.  Mode: Trial
8:25:26.369 ERROR Chromium process exit code: 133
08:25:26.370 [Thread-9] ERROR com.teamdev.jxbrowser -- Chromium process exit code: 133
8:25:26.371 ERROR Crash dump dir: /Users/kgamble/Library/Application Support/JxBrowser/7.36.3/CrashReports
08:25:26.371 [Thread-9] ERROR com.teamdev.jxbrowser -- Crash dump dir: /Users/kgamble/Library/Application Support/JxBrowser/7.36.3/CrashReports
08:25:26.387 [Thread-9] ERROR designer.JXBrowserUtil -- Browser Engine has reported a crash with exit code 133: EngineCrashed{exitCode=133}
08:25:26.698 [Designer-Startup] ERROR Perspective.WorkspaceRootConfig -- Unable to set up session props adapter
com.teamdev.jxbrowser.ObjectClosedException: Attempted to use a closed object.

You're trying to call a method of a closed object. Usually, it happens when you
call the `close()` method of an object (or its owner) prior to calling methods
of that object.

Another common cause of this exception is working with cached DOM or JavaScript
objects. For example, if you navigate to another web page and try to call
a method of a DOM or a JavaScript object from the previous page, you will get
this exception.

It's also possible that the native Chromium process has crashed. In that case,
all the objects that belong to that process are closed automatically.

The following article explains this exception in detail: https://links.teamdev.com/jxbrowser-object-closed-exception

	at com.teamdev.jxbrowser.internal.rpc.ServiceConnectionImpl.checkNotClosed(ServiceConnectionImpl.java:243)
	at com.teamdev.jxbrowser.internal.rpc.ServiceConnectionImpl.invoke(ServiceConnectionImpl.java:211)
	at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadAndWait(NavigationImpl.java:227)
	at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:104)
	at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:91)
	at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:83)
	at com.teamdev.jxbrowser.browser.internal.BrowserImpl.initializeMainFrame(BrowserImpl.java:401)
	at com.teamdev.jxbrowser.profile.internal.ProfileImpl.newBrowser(ProfileImpl.java:150)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newBrowser(EngineImpl.java:425)
	at com.inductiveautomation.perspective.designer.workspace.pageconfig.SessionPropsAdapter.<init>(SessionPropsAdapter.java:82)
	at com.inductiveautomation.perspective.designer.workspace.pageconfig.WorkspaceRootConfig.init(WorkspaceRootConfig.java:40)
	at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.<init>(ViewWorkspace.java:150)
	at com.inductiveautomation.perspective.designer.DesignerHook.lambda$startup$4(DesignerHook.java:249)
	at java.base/java.util.Optional.ifPresent(Unknown Source)
	at com.inductiveautomation.perspective.designer.DesignerHook.startup(DesignerHook.java:234)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.startup(IgnitionDesigner.java:1994)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.startupModule(IgnitionDesigner.java:1202)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:998)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler.lambda$new$2(IgnitionDesigner.java:2058)
	at java.base/java.lang.Thread.run(Unknown Source)

A few notes from my searches:

  1. Sometimes it is Chromium process exit code: 139 and not 133, but can't figure out what that means.
  2. When I look in the listed Crash Dump dir, there is nothing there. In fact I can see several JXBrowser versions over time all with skeleton file structures underneath and no files.
  3. I attempted something I found in a separate post to add a -Djxbrowser.chromium.dir="/Users/kgamble/.ignition/cache/.jxbrowser" JVM arg, but that didn't fix it either.
  4. Once this crash happens for the first time, I can't get it not to keep doing that. Removing the designer, reinstalling it, restarting the gateway, etc.

I have tried a few things based off forum searches and googling, but no luck.

Open to any ideas here, and as always I appreciate any help!

4 Likes

An update,

Backing down from 8.1.42 to 8.1.32 brought the JXBrowser version down to 7.30.2 instead of 7.36.3 and that seems to never have the same crash.

For my current purposes, I dont need 8.1.42 so thats fine, but worth noting for anyone that hits the same issue.

I didn't test the upper bounds of this, I just stuck with 8.1.32 for what I needed right now.

I'm guessing this has something to do with JXBrowser being run via Rosetta because we still aren't shipping an Apple Silicon build :cry:

While this wouldn't fix my problem, is it documented somewhere where the switch from 7.30 to 7.36 happened?

EDIT: I think I found it, for anyone else in this boat it looks like 8.1.37

Looks like 8.1.37. It's probably mentioned in a release note.

Beat me to it...

Out of curiosity, for future planning, what would end up fixing this longer term?

Would it be an update from Apple in MacOS Seqouia for Rosetta, an update from JXBrowser, Chromium, You guys for a native build, etc.?

Don't know, could be any of those. First time I've even heard of this being an issue. I don't think anybody else is using the Sequoia beta.

2 Likes

Funny enough, one of our devs, who is also on Sequoia beta, ran into a similar issue. Bumping the JxBrowser version we use to 7.41.2 seemingly resolved his issue, allowing him to successfully launch the Perspective module in the Designer. Official Sequoia support by JxBrowser is only in the planning phase, at the moment. We will make a ticket to address this accordingly. Thanks for letting us know.

3 Likes

Appreciate the follow up! I’m glad I’m not alone. lol

Out of curiousity, is there any way on the designer side to tell it to leverage a specific JXBrowser version? If theoretically this issue was never fixed on the JXBrowser side, would be nice if there’s a functional workaround for 8.1.33-8.1.42 (even if less ideal)

Hi,

Nothing to do with Rosetta; I'm using an intel MacBook and same problem with Sequoia and 8.1.4x

2 Likes

Nope. Even if you could, it would be too risky without going through our QA team.

+1 This issue is happening on Sequoia release as well.

Same here since the Sequoia update. Can this be fixed soon or this there any workaround as I need to work on my projects?

+1 Can't access any of my Perspective resources on Sequoia and 8.1.43

This is being worked on. As always with JXBrowser upgrades it's a testing and regression nightmare. The team is trying to make this happen for 8.1.44 but if it turns out to need further work or fixes from TeamDev then it will only be able to happen when it happens.

I updated to MacOS Sequoia today, it's the Stable version. And I've been struggling all day with this exact issue...Designer is all messed up.

Ignition version is 8.1.41. Error in both local and remote Designer projects.

Whelp, piling on here. Why I decided today was upgrade day before checking this thread is beyond me :man_facepalming:

1 Like

Sorry guys, if there ends up being a work around we'll post here. Unknown timeframe for this being fixed, it may be a waiting game for a JXBrowser version that works correctly on Sequoia.

2 Likes

Same man :person_facepalming:

1 Like

A new jxbrowser in an Ignition release won't fix designers from older releases, I presume.