Nightly Slicer crashes trying to open Extension Manager

I downloaded today’s nightly for Mac. Every time I click “Extension manager” button, I get a crash.

Crash stack is here: https://gist.github.com/fedorov/b539889d139d986410acc23370a5c0f2 (unable to include in the message as it exceeds the maximum message size).

I don’t have that issue on my mac - this is a fresh download of the current nightly:

image

Does it still crash if you disconnect from internet?
Does it crash if you remove Slicer.ini files?

Poor quality of QtWebEngine-based extension manager is quite annoying. In addition to crashes on Mac (see above and here), the extension manager is extremely slow (takes 10-20 seconds to start or install an extension, without giving any feedback to the user about what’s happening). It would be great if somebody could check if there is something wrong with how we use QtWebEngine or it is that bad by itself.

I don’t know how this works. It was crashing every single time when I tried yesterday on Partners network. I then tried on a different network later in the day, and it was working. Today it is working on the Partners network.

This is disturbing. Imagine this starts happening in a training session. I am assuming there is no reliable workaround for this, since sounds like no one exactly knows what causes this behavior. I guess at minimum it might be helpful to allow disabling auto-update of extensions via a command line switch.

1 Like

We are still using Qt 5.10, but 5.11 is out and the webengine code has been updated. It would be good to see if this addresses any of the reproducible issues (slowness) and maybe addresses the crash as well.

Yes, good idea.

FWIW I used the extension manager with that build on two different macs yesterday, no problems.

We could automatically turn off extension auto-update when there is a crash. We already have such a mechanism for Python debugger’s auto-connect feature. All we need to do is temporarily turn off extension auto-update in the application settings just before starting up the extension manager and restoring the previous state when the extension manager is successfully displayed. This way, if there is a crash when the extension manager is started, auto-update would remain turned off in the settings.

2 Likes

1) startup crash, and automatic install of extension at startup time (issue 4550)

To follow up on this, while working on issue 4550, I noticed that since commit r26960 (ENH: Speedup app startup time by lazily instantiating extension dialog), the extension dialog is lazily instantiated.

This means that that extension are NOT automatically updated at startup time (for details see this issue note 4550#c16124)

The crash reported at startup time does NOT make use of WebEngine, instead it is most likely an issue following the call to qSlicerExtensionsManagerModelPrivate::retrieveExtensionMetadata.

As outlined in the report, I tried few things on macOS, using different version of Qt, connecting/disconnecting internet … but as not able to reproduce it.

I am wondering if this could be related to some network specific settings (proxy, VPN, … ?)

2) Crash when opening the extension manager (issue 4635)

This is the issue reported by @fedorov, it basically crashes when opening the extensions manager . This is now tracked by issue 4635

While, I don’t know if it will alleviate this particular problem, we recently improved the qSlicerWebWidget so that it uses only one WebEngineProfile object and avoid race condition managing the webengine cache. see r27480

FWIW, I just tried today on Partners network, and it works. In the meantime, I also updated my OS to the latest Mojave. Slicer looks different (better!), but I don’t know if it had any other effects. Also seems to start slower, but I didn’t investigate.

@fedorov Thanks for the update.

Since the auto-update functionality was non-functional, it has been disabled in r27494. We can revisit the current approach after the release (this is tracked by issue 4642)

Also worth noting that Qt 5.13 will integrate a fix preventing error message like ERROR:nss_ocsp.cc(614)] No URLRequestContext for NSS HTTP handler. host: ocsp.digicert.com. See issue 4639 for more details.

for the sake of completeness, the version that I tested today was r27399

1 Like