Perspective view editor stuck on “initializing” – error “Unexpected return type; expected string, got null”

Hi everyone,

I’m having a blocking issue with the Perspective Designer. I can’t get any Perspective view to fully load in the Designer – the editor is stuck on “initializing”, and saving the project always fails with an error.

Environment

  • Ignition: 8.3.1 (b2025102109)

  • Java: Azul 17.0.16

  • OS: Windows (desktop)

  • Modules: Perspective installed and Gateway running

  • Project type: Perspective + Vision (only Perspective is affected)

Problem description

  1. I open the Designer from the Designer Launcher and log into my project.

  2. I create a new empty Perspective View (e.g. TestView with a Flex root).

  3. In the design workspace, the canvas just shows the text “initializing” and never finishes loading. The Perspective Property Editor on the right stays empty (no root properties).

  4. If I try to save the project (Ctrl+S), I get a popup:

Failed to commit changes to view 'com.inductiveautomation.perspective/view principal'

and the Designer log shows this stack trace:

java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Unexpected return type; expected string, got null
	at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:480)
	at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:68)
	at com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceEditor.commit(ResourceEditor.java:180)
	at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.commitAll(TabbedResourceWorkspace.java:366)
	...
Caused by: java.lang.IllegalArgumentException: Unexpected return type; expected string, got null
	at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.lambda$getObjectForSave$3(ViewResourceEditor.java:475)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
	...
Ignition v8.3.1 (b2025102109)
Java: Azul Systems, Inc. 17.0.16

It looks like the Perspective Designer is asking the embedded browser (JxBrowser) for the view JSON, but it’s getting null instead of a string.

This happens with any Perspective view, even completely new/empty ones. Vision works fine; tags, scripts and database connections are all OK. The issue is only with the Perspective view editor in the Designer.

Things I have already tried

  • Restarted the Designer and Windows multiple times.

  • Confirmed that the Perspective module is installed and the Gateway is running.

  • Created brand-new projects and brand-new Views → same behavior.

  • Deleted/renamed the local .ignition folder under %USERPROFILE%\.ignition so the Designer/Launcher cache is rebuilt.

  • Uninstalled and reinstalled Ignition 8.3.1.

  • In the Designer Launcher, added this JVM argument to the Designer connection:

    -Dsun.java2d.d3d=false
    
    
  • Checked the Designer logs; I also see some Subscription crc mismatch, will resubscribe warnings from tags.subscriptions, but those seem unrelated.

None of these changed the behavior: the Perspective view canvas still stays on “initializing” forever, and saving still throws the Unexpected return type; expected string, got null exception.

Questions

  • Has anyone seen this specific error with Perspective Designer / JxBrowser before?

  • Is there any additional JVM argument or configuration I should try for the Designer on Windows?

  • Is there anything else I can check in the logs or in the Gateway configuration to narrow this down?

Any ideas or guidance would be greatly appreciated. I can provide more logs and screenshots if needed.

Thanks in advance!

Searching for that error you get in the logs brings up a number of posts in our support channel, all of which seem to have been the result of a firewall/IT problem where some traffic between Designer and Gateway is being blocked (WebSockets probably?)

Quick update:

I tried completely disabling Windows Defender Firewall on my machine and tested again, but the behavior did not change:

  • The Perspective view canvas still stays on "initializing" forever.
  • Saving still fails with the same error: Unexpected return type; expected string, got null.

Designer and Gateway are running on the same Windows PC, and I’m connecting via http://localhost:8088 from the Designer Launcher. There is no corporate proxy configured.

Given that the issue persists with the firewall disabled, do you have any other suggestions on what could be blocking/breaking the communication between Designer (JxBrowser) and the Gateway? Anything specific I should look for in the Gateway or Designer logs (e.g. Perspective/Designer/JxBrowser-related errors)?

Thanks again for your help.

In the 'Tools' menu of the designer, (while in the Perspective workspace) there's a button to "Open DevTools" - if you select that,

  1. Does it actually open a separate window?
  2. If it does, is there anything in the 'Console' or 'Network' tab indicating errors?

You should also look through the designer console logs right after launch to see if there are any obvious errors with JxBrowser. You can also lower the logging level to DEBUG:

Or, a bit of a wild pass, but if this is Windows, you can add this argument:

Thank you for your time and support. The problem is now solved thanks to your assistance.