unable to use Simplicity Studio v5 on ubuntu/debian
01/18/2021 | 06:36 PM
EDIT: changed topic to reflect that this issue apparently also affects some Ubuntu users, see replies by Z Wheeler below.
I've tried to use Simplicity Studio on my laptop running debian sid, as well as inside the debian stretch (9) container I've made for Simplicity Studio v4 (which doesn't work in later releases). All packages listed in setup.sh exist in both releases (except "wine32" should be "wine32:i386", even on Ubuntu) and I've installed them in both environments. The debian stretch container also has all the packages that were needed to get Simplicity Studio v4 working. In both environments I run into essentially the same roadblock.
After the splash screen, the workspace window looks normal (albeit barren, but this is expected with no tools installed yet). On top of this I get a modal dialog box which is completely empty. This is accompanied by the following log message:
I've tried resizing the dialog box to see if that would convince it to render any content, but it does not. After dismissing the empty dialog box using the escape key the behaviour differs between debian sid and stretch. On sid I get the following log messages and Simplicity Studio exits:
DRR: onWebSocketClose CALLED statusCode=1001 reason=null
com.silabs.ss.platform.internal.device.ui.servlet.DevicesWebSocketCreator$1: onWebSocketClose CALLED statusCode=1001 reason=null
id: helpContents
id: com.silabs.ss.tool.launcher.ui.licensing.menu
id: additions
id: org.eclipse.equinox.p2.ui.sdk.update
id: org.eclipse.equinox.p2.ui.sdk.install
id: com.silabs.ss.tool.launcher.ui.setuptask.command
id: com.silabs.ss.tool.launcher.ui.regkit.command
id: com.silabs.ss.tool.launcher.ui.doc.properties.command
id: com.silabs.ss.tool.launcher.ui.bugreport.command
id: com.silabs.ss.tool.launcher.toolbar.updatesCommand
id: com.silabs.ss.tool.launcher.ui.offline.command
id: null
id: about
com.silabs.ss.platform.internal.device.ui.servlet.DevicesWebSocketCreator$1: onWebSocketClose CALLED statusCode=1001 reason=null
DRR: onWebSocketClose CALLED statusCode=1001 reason=null
DRR: onWebSocketClose CALLED statusCode=1001 reason=null
2021-01-18 18:49:16.280:INFO:oejs.session:Framework stop: node0 Stopped scavenging
On stretch I get the following log messages and Simplicity Studio continues to run:
Exception in thread "TeamDev API access" java.lang.NullPointerException
at com.silabs.ss.support.browser.api.html.jxbrowser.JxBrowserService.lambda$33(JxBrowserService.java:436)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
id: helpContents
id: com.silabs.ss.tool.launcher.ui.licensing.menu
id: additions
id: org.eclipse.equinox.p2.ui.sdk.update
id: org.eclipse.equinox.p2.ui.sdk.install
id: com.silabs.ss.tool.launcher.ui.setuptask.command
id: com.silabs.ss.tool.launcher.ui.regkit.command
id: com.silabs.ss.tool.launcher.ui.doc.properties.command
id: com.silabs.ss.tool.launcher.ui.bugreport.command
id: com.silabs.ss.tool.launcher.toolbar.updatesCommand
id: com.silabs.ss.tool.launcher.ui.offline.command
id: null
id: about
The resulting environment is mostly useless however since no tools are installed. Clicking the Install button results in a normal-looking progress dialog while it's checking for installation options, but then it again shows an empty dialog box. Dismissing this one using escape results in the following log messages:
Exception in thread "pool-8-thread-2" java.lang.NullPointerException
at com.silabs.ss.support.browser.api.html.jxbrowser.JxBrowserService.lambda$33(JxBrowserService.java:436)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Here's an inventory of some actions I've tried and their results:
File menu -> only has Exit and Switch Workspace
Help menu -> License Manager: empty dialog box
Help menu -> Show Active Keybindings: works normally
Help menu -> Update Software: empty dialog box
Help menu -> About Simplicity Studio: does nothing
Is there a way to just download the Gecko SDK directly? I think that's the only part of Simplicity Studio that I currently use anyway since I really don't like using Eclipse, so I build from the commandline and use openocd+gdb for debugging.
Discussion Forums
Simplicity Studio
Unanswered
Hi Matthijs van Duin,
Simplicity Studio only officially support Ubuntu, so I am not sure what it would take to get it to work on Debian.
As far as downloading the Gecko SDK directly, that is currently not possible, but it is planned for later this year. I will go ahead and escalate this forum thread to a support case and give you access to the offline installers through the support case. For Linux the offline installer is just a tarball and it includes the Gecko SDK inside of it. Also with the offline installer there is no need to log into Simplicity Studio, so Simplicity Studio might work for you from the offline installer and at the very least you could just extract the Gecko SDK from the tarball.
Thank you,
jpitt
0
Hello jpitt,
We are having the same problem, but on an up-to-date Ubuntu 20.04 install---so this is showing up on a supported platform as well. Any help you can provide would be appreciated!
What I believe to be the "Accept License" page is blank (image attached) which correlates to the error in the console: as "com.silabs.ss.tool.launcher.ui.licensing.menu" that you can see below. Am I missing a package that needs to get an `apt install`?
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
$ cd /opt/SimplicityStudio_v5/
$ ./studio
2021-01-24 02:59:13.138:INFO::Start Content Server: Logging initialized @2604ms to org.eclipse.jetty.util.log.StdErrLog
2021-01-24 02:59:13.282:WARN:oejsh.ContextHandler:Start Content Server: o.e.j.s.ServletContextHandler@4ecbeeff{/,null,UNAVAILABLE} contextPath ends with /*
2021-01-24 02:59:13.283:WARN:oejsh.ContextHandler:Start Content Server: Empty contextPath
2021-01-24 02:59:13.333:INFO:oejs.session:Start Content Server: DefaultSessionIdManager workerName=node0
2021-01-24 02:59:13.333:INFO:oejs.session:Start Content Server: No SessionScavenger set, using defaults
2021-01-24 02:59:13.336:INFO:oejs.session:Start Content Server: node0 Scavenging every 660000ms
2021-01-24 02:59:13.394:INFO:oejs.session:Start Content Server: node0 Scavenging every 726000ms
(Simplicity Studio™:45576): Gtk-WARNING **: 02:59:19.481: Negative content width -12 (allocation 1, extents 6x7) while allocating gadget (node separator, owner GtkSeparatorToolItem)
Exception in thread "TeamDev API access" java.lang.NullPointerException
at com.silabs.ss.support.browser.api.html.jxbrowser.JxBrowserService.lambda$33(JxBrowserService.java:436)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
id: helpContents
id: com.silabs.ss.tool.launcher.ui.licensing.menu
id: additions
id: org.eclipse.equinox.p2.ui.sdk.update
id: org.eclipse.equinox.p2.ui.sdk.install
id: com.silabs.ss.tool.launcher.ui.setuptask.command
id: com.silabs.ss.tool.launcher.ui.regkit.command
id: com.silabs.ss.tool.launcher.ui.doc.properties.command
id: com.silabs.ss.tool.launcher.ui.bugreport.command
id: com.silabs.ss.tool.launcher.toolbar.updatesCommand
id: com.silabs.ss.tool.launcher.ui.offline.command
id: null
id: about
When I close the popup for (what I believe is) the license dialog, it presents this error in the console:
Exception in thread "pool-8-thread-2" java.lang.NullPointerException
at com.silabs.ss.support.browser.api.html.jxbrowser.JxBrowserService.lambda$33(JxBrowserService.java:436)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Since this is presenting itself in Ubuntu 20.04 as well, can you change the subject of this thread to say something like "unable to use Simplicity Studio v5 on ubuntu 20.04 and debian" ?
0
I've changed the topic.
I've also done a bit of digging with strace. It appears the JxBrowser thing used by Simplicity Studio (mentioned in the traceback both of us got) unpacks a chromium browser into /tmp/JxBrowser. This browser itself has the exact same problem. If I run it as
/tmp/JxBrowser/7.8.1/chromium www.google.com
then the window title reflects that it loaded the website, but the window remains blank. I also got some OpenGL-related warnings so I ran it as
which did get rid of the warnings but otherwise had no effect.
0
It appears to be this chromium issue, at least in my case (I'm not using it via ssh but I am running it under a different account, evidently resulting in similar problems). Both the --use-gl=swiftshader workaround and the XlibNoSHM.so LD_PRELOAD workaround fix the problem for me when launching the JxBrowser chromium directly, and launching Simplicity Studio itself with the LD_PRELOAD (taking care to specify the full absolute path to the XlibNoSHM.so library instead of ./XlibNoSHM.so) also works!
The debian issue says it is fixed in newer chromium versions, though in the chromium bug tracker it seems like there are still problems.
--no-sandbox does not appear to have any impact for me.
0
Do you get any errors from chromium when you launch? I was getting backtraces.
Also:
is your /tmp executable?
is /dev/shm mounted and writable?
chmod 1777 /dev/shm
mount -o remount,rw,exec /tmp # if its a different volume
0
The only errors I got (apart from the GPU-related ones I could suppress with --disable-gpu) were its failed attempts to contact UPower via dbus, which makes sense since I don't have it installed, but I don't think that matters (I can't think of any reason for chromium to communicate with UPower in the first place).
It sounds like you're having a different problem than me, although in both our cases the root cause is this chromium failing to work. I do think it's pretty gross that Simplicity Studio dumps a chromium installation into /tmp on startup. If it feels the need to bundle a chromium browser (which itself is a bit yuck, but no worse than the many electron apps) it should simply reside somewhere inside the Simplicity Studio installation directory itself.
0
It magically started working for me. I'm really not sure what triggered it, and now I can't break it to retrace my steps and confirm a fix, but here is what I did:
# These first items didn't fix it, the problem existed even after doing these---but for completeness:
Still present as of today on Debian Bullseye. Opened a support ticket, they gave me access to the offline version of SS5; the offline version has the same problem:
❯ ./studio
[Start Content Server] INFO org.eclipse.jetty.util.log - Logging initialized @1996ms to org.eclipse.jetty.util.log.Slf4jLog
[Start Content Server] WARN org.eclipse.jetty.server.handler.ContextHandler - o.e.j.s.ServletContextHandler@202862cb{/,null,UNAVAILABLE} contextPath ends with /*
[Start Content Server] WARN org.eclipse.jetty.server.handler.ContextHandler - Empty contextPath
[Start Content Server] INFO org.eclipse.jetty.server.Server - jetty-9.4.24.v20191120; built: 2019-11-22T15:55:43.345Z; git: 363d5f2df3a8a28de40604320230664b9c793c16; jvm 11.0.5+10-LTS
[Start Content Server] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0
[Start Content Server] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults
[Start Content Server] INFO org.eclipse.jetty.server.session - node0 Scavenging every 600000ms
[Start Content Server] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@202862cb{/,null,AVAILABLE}
[Start Content Server] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@63ad8f82{HTTP/1.1,[http/1.1]}{127.0.0.1:38821}
[Start Content Server] INFO org.eclipse.jetty.server.Server - Started @2215ms
[Start Content Server] INFO org.eclipse.jetty.server.session - node0 Scavenging every 660000ms
[main] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
[qtp951113186-63] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
[qtp951113186-71] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
[qtp951113186-26] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
[qtp951113186-65] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
(Simplicity Studio™:249781): Gtk-WARNING **: 23:34:31.378: Negative content width -12 (allocation 1, extents 6x7) while allocating gadget (node separator, owner GtkSeparatorToolItem)
[main] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1]
[main] INFO org.eclipse.jetty.websocket.server.WebSocketServerFactory - No Executor provided, using new QueuedThreadPool[WebSocketServerFactory]@68e8bbab{STARTED,8<=8<=200,i=8,r=8,q=0}[ReservedThreadExecutor@f1e5f
85{s=0/8,p=0}]
Out of curiosity I tried installing on a Ubuntu LTS VM and it works there (but of course it's unusably slow)
The only difference I see from what is reported here is that SS5 seems to install version 7.12 of JxBrowser, instead of 7.8.1, and that if I run it directly it does not crash or give any errors whatsoever, it just exits successfully (return code 0) without doing anything.
unable to use Simplicity Studio v5 on ubuntu/debian
EDIT: changed topic to reflect that this issue apparently also affects some Ubuntu users, see replies by Z Wheeler below.
I've tried to use Simplicity Studio on my laptop running debian sid, as well as inside the debian stretch (9) container I've made for Simplicity Studio v4 (which doesn't work in later releases). All packages listed in setup.sh exist in both releases (except "wine32" should be "wine32:i386", even on Ubuntu) and I've installed them in both environments. The debian stretch container also has all the packages that were needed to get Simplicity Studio v4 working. In both environments I run into essentially the same roadblock.
After the splash screen, the workspace window looks normal (albeit barren, but this is expected with no tools installed yet). On top of this I get a modal dialog box which is completely empty. This is accompanied by the following log message:
I've tried resizing the dialog box to see if that would convince it to render any content, but it does not. After dismissing the empty dialog box using the escape key the behaviour differs between debian sid and stretch. On sid I get the following log messages and Simplicity Studio exits:
On stretch I get the following log messages and Simplicity Studio continues to run:
The resulting environment is mostly useless however since no tools are installed. Clicking the Install button results in a normal-looking progress dialog while it's checking for installation options, but then it again shows an empty dialog box. Dismissing this one using escape results in the following log messages:
Here's an inventory of some actions I've tried and their results:
Is there a way to just download the Gecko SDK directly? I think that's the only part of Simplicity Studio that I currently use anyway since I really don't like using Eclipse, so I build from the commandline and use openocd+gdb for debugging.
Hi Matthijs van Duin,
Simplicity Studio only officially support Ubuntu, so I am not sure what it would take to get it to work on Debian.
As far as downloading the Gecko SDK directly, that is currently not possible, but it is planned for later this year. I will go ahead and escalate this forum thread to a support case and give you access to the offline installers through the support case. For Linux the offline installer is just a tarball and it includes the Gecko SDK inside of it. Also with the offline installer there is no need to log into Simplicity Studio, so Simplicity Studio might work for you from the offline installer and at the very least you could just extract the Gecko SDK from the tarball.
Thank you,
jpitt
Hello jpitt,
We are having the same problem, but on an up-to-date Ubuntu 20.04 install---so this is showing up on a supported platform as well. Any help you can provide would be appreciated!
What I believe to be the "Accept License" page is blank (image attached) which correlates to the error in the console: as "com.silabs.ss.tool.launcher.ui.licensing.menu" that you can see below. Am I missing a package that needs to get an `apt install`?
When I close the popup for (what I believe is) the license dialog, it presents this error in the console:
Matthijs van Duin,
Since this is presenting itself in Ubuntu 20.04 as well, can you change the subject of this thread to say something like "unable to use Simplicity Studio v5 on ubuntu 20.04 and debian" ?
I've changed the topic.
I've also done a bit of digging with strace. It appears the JxBrowser thing used by Simplicity Studio (mentioned in the traceback both of us got) unpacks a chromium browser into /tmp/JxBrowser. This browser itself has the exact same problem. If I run it as
then the window title reflects that it loaded the website, but the window remains blank. I also got some OpenGL-related warnings so I ran it as
which did get rid of the warnings but otherwise had no effect.
It appears to be this chromium issue, at least in my case (I'm not using it via ssh but I am running it under a different account, evidently resulting in similar problems). Both the --use-gl=swiftshader workaround and the XlibNoSHM.so LD_PRELOAD workaround fix the problem for me when launching the JxBrowser chromium directly, and launching Simplicity Studio itself with the LD_PRELOAD (taking care to specify the full absolute path to the XlibNoSHM.so library instead of ./XlibNoSHM.so) also works!
The debian issue says it is fixed in newer chromium versions, though in the chromium bug tracker it seems like there are still problems.
Does this work for you?
/tmp/JxBrowser/7.8.1/chromium --no-sandbox www.silabs.com
or perhaps this:
$ /tmp/JxBrowser/7.8.1/chromium --no-sandbox --disable-gpu www.silabs.com
Do you get any errors from chromium when you launch? I was getting backtraces.
Also:
is your /tmp executable?
is /dev/shm mounted and writable?
chmod 1777 /dev/shm
mount -o remount,rw,exec /tmp # if its a different volume
The only errors I got (apart from the GPU-related ones I could suppress with --disable-gpu) were its failed attempts to contact UPower via dbus, which makes sense since I don't have it installed, but I don't think that matters (I can't think of any reason for chromium to communicate with UPower in the first place).
It sounds like you're having a different problem than me, although in both our cases the root cause is this chromium failing to work. I do think it's pretty gross that Simplicity Studio dumps a chromium installation into /tmp on startup. If it feels the need to bundle a chromium browser (which itself is a bit yuck, but no worse than the many electron apps) it should simply reside somewhere inside the Simplicity Studio installation directory itself.
It magically started working for me. I'm really not sure what triggered it, and now I can't break it to retrace my steps and confirm a fix, but here is what I did:
# These first items didn't fix it, the problem existed even after doing these---but for completeness:
dpkg --add-architecture i386
apt install libusb-0.1-4:i386 libqt5network5 wine32 libncurses5
apt install mate-desktop-environment-core
apt-get install ubuntu-desktop-minimal
# My /tmp was noexec, and /dev/shm wasn't mounted so I mounted those as noted in my previous post
I'm having trouble posting my message so see the .txt file attachment.
Let me know if you pin down the actual fix...
Out of curiosity I tried installing on a Ubuntu LTS VM and it works there (but of course it's unusably slow)
The only difference I see from what is reported here is that SS5 seems to install version 7.12 of JxBrowser, instead of 7.8.1, and that if I run it directly it does not crash or give any errors whatsoever, it just exits successfully (return code 0) without doing anything.
This is the output when I ran it with strace: