Black screen and 100% CPU when opening a perspective view

Opening a perspective view in an existing project results in a black screen and CPU suddenly running at 100% on windows 8.1 with ignition 8.0.0. Looking at the process list, a couple of “Browsercore chromium native process” and “Zulu platform x64 architecture” processes are responsible for the 100% usage (the former more than the latter). After a while windows prompts me to terminate the process to avoid running out of memory. I have a minimal reproducer and a screenshot (https://gofile.io/?c=UhoSIo). To use the reproducer, import the file into a new empty project, then open perspectve/views/menu/logo.

I have some questions based on the files supplied. Is there a Page Configuration in place for “main-menú”? The accented character is unexpected by me and I want to make sure it’s expected by you before I continue looking.

While testing with the accented character, I found that we don’t even allow that as a url, so it’s a good bet that the accented character is your issue. Removing that character from the json allowed me to use the View in question.

I don’t have the terra.jpg image, so I can’t confirm that it is not the issue.

After further testing, including leaving that character in place, I can STILL load the View, so perhaps the accented character is not the issue. How large is the terra.jpg image? If it is a very large file, you could encounter issues with retrieving it from the internal db, but I would expect different symptoms.

I’m actually doing some more tests, and I found that I can’t even create a new view in a new blank project. That is, I create a new blank project, then open perspective -> views, right click -> New View… -> create view and I already get the black screen and the symptoms described above, so it’s not even related to the data I sent earlier. I don’t see anything in the logs.
I didn’t install all the beta releases, however I’m pretty sure it used to work about one month ago with the beta that was then current; yesterday I installed the 8.0.0 release and I started seeing this.
Where can I look to try to debug this and provide you with relevant information?

The first thing to do would be to try and collect some logs by following the instructions in this post: [FB12678-Investigating] Issues with upgrade

It is not necessary to attempt the ‘lightweight’ mode test mentioned a couple posts after that on (so don’t bother with the -Dperspective.browser.mode.lightweight=true flags, those are only applicable on osx). Trying the ‘memory based cache’ might be useful, but you’ll want to make sure you give the designer 2 GB of ram minimum (set the memroy using the JRE flag -Xmx2048m through the jvm flags described in the designer launcher docs, or by setting the ‘max memory’ value.

Forward us the logs that result.

After doing that, you may want to attempt using an alternate JDK. Azul is excellent, and JDK’s are generally 99.9999% identical (I made up that number, point being there should not be any detectable difference), but small differences may exist on some operating systems depending on how they are compiled. Oracle Certified alternatives with commercially friendly licenses include Amazon Corretto and AdoptOpenJDK. I don’t expect a different result, but if one of those did work, it would give us some valuable information to bring to the Azul team. Technically you only need the ‘JRE’ (java runtime environment), but the JDK (Java Development Kit, which includes a JRE) provides some additional tools that may be helpful in troubleshooting

To configure a custom JDK/JRE for use when launching the designer, you’ll need to:

  1. locate the designer-launcher.json file. This is generally found in {USER_HOME_DIR}/.ignition/clientlauncher-data/designer-launcher.json
  2. Set the json’s following properties to true and the alternate java executables path:
     "use.custom.jre": true, 
     "custom.jre.path": "{ALTERNATIVE_JAVA_HOME}/bin/java"
  1. Save the file
  2. restart the computer to make sure any errant processes are not hanging in the background or potentially binding ports
  3. attempt launching the designer launcher/designer again after the reboot

Send us any logs you can come up with, and let us know if you see any changes if you try the alt JDK.

Tried all the JDKs you suggested (plus vanilla openjdk 11.0.2 just in case) and got exactly the same result.
I’m attaching the logs I got adding the custom -D arguments.jxbrowser.zip (57.2 KB). This is opening an empty project, going to perspective → views → new view and closing its tab a few seconds after I got the black screen and 100% CPU.

Thanks for collecting those logs. Looking at them, there appears to be an error in the chromium engine that points to an issue communicating with the GPU in your device, but it’s impossible to tell whether the error is a cause or result of something else going wrong.

So two more requests:

  1. Can you provide system details for the computer you’re trying to run it on (OS, chipset, GPU, whatever else may be relevant)?

  2. As an additional test, can you try adding the -Dperspective.browser.mode.lightweight=true flag to the VM options and see if the designer will start?

    The flag is going to prevent correct interaction with the perspective design workspace, but it does not use native graphic acceleration, so if your system starts and displays correctly, it will provide us some additional diagnostic info. If we succeed in launching with the lightweight flag, we can also look into a way to disable graphics acceleration without going full lightweight rendering.

Thanks. The machine is a 64-bit virtualbox VM with 4G RAM and 50GB virtual HD (I already tried raising the RAM to 8G to no avail, so I just set it back to 4, after all it always used to work with 4 before). The graphics controller is set to “VBoxVGA” with 64MB RAM, 2D and 3D acceleration are enabled (I tried to disable both, no difference). The VM is running the latest Virtualbox guest additions.

Alas, using the flag -Dperspective.browser.mode.lightweight=true does not prevent designer from starting, but doesn’t make the perspective view editor work either.

Now, I just tried changing the VM’s virtual graphics adapter to “VMSVGA” and I can successfully open a perspective view, so it must be related to the virtual video adapter.
Changing further to “VBoxSVGA” gives black screen + 100% CPU again.

So, of the three possible choices for the VM’s virtual graphic adapter, only “VMSVGA” seems to work (but is less flexible and configurable than the default VBoxVGA which allows arbitrary resolutions).

Hopefully this gives you something to try…

That’s important information - we’ll do some looking and follow up.

Just to confirm - you did not experience this on older versions during the beta period with the same VM settings?

I can’t pinpoint exactly which beta version broke, but I’m sure it worked up to the 8.0 beta that was current about one month ago (sorry, can’t be more precise).

For some followup - I opened a ticket with the browser library vendor to investigate this - we had someone else encounter something similar and call into support, so it’s not a totally isolated issue.

Still seeing this with latest 8.0.1 rc, FWIW.

Any news on this? This is blocking perspective development on almost all of our machines.

@waldner
Would it be possible for you to install the latest nightly on a machine, launch a designer normally, then close it and run one from the command line via a command like this:

C:\%localuser%\.ignition\clientlauncher-data\..\cache\resources\runtimes\11.0.3\bin\java.exe -classpath C:\%localuser%\.ignition\clientlauncher-data\launchclient.jar -Djavaws.sr.gateway.addr.0=http://<localip>:8088 -Djavaws.sr.main=com.inductiveautomation.ignition.designer.DesignerStartupHook -Djavaws.sr.platform.edition= -Xms64M -Xmx1024M -Djavaws.sr.memory.init=64M -Djavaws.sr.memory.max=1024M -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=false -Djavaws.sr.screen=0 -Djavaws.sr.scope=D  -Dperspective.browser.mode.lightweight=true -Djxbrowser.ipc.external=true -Dignition.chromium.switch.disable-gpu -Dignition.chromium.switch.disable-gpu-compositing -Dignition.chromium.switch.enable-begin-frame-scheduling -Dignition.chromium.switch.software-rendering-fps=60 -Djxbrowser.logging.level=ALL com.inductiveautomation.ignition.client.launch.BootstrapSwing > C:\Path\To\Output\File.txt > 2>&1

You’ll need to specify the correct IP address for your gateway (replace -Djavaws.sr.gateway.addr.0=http://<localip>:8088), and pass a valid path for the final output: > C:\Path\To\Output\File.txt >
That should generate a file with full debug logs from JxBrowser, which is what we need to give them in order for them to tell us what’s going on.

Well, guess what? The latest nightly works, I can successfully open a perspective view. I’ll do some more testing and let you know.

After some more testing, I can confirm that 8.0.3 nightly does not exhibit the problem. Hopefully this will continue to work in 8.0.3 stable and future releases. Thanks.

Okay, best guess is it’s due to an upgrade to the browser library we’re using. Thanks for circling back!