Rhino splash screen appears to hang startup for a long time

Sometimes, after working just fine for hours, Rhino will decide, repeatedly, to sit like this for maybe a couple of minutes at startup:

image

Under a debugger, I see this:

Begin SendAsync
Before RetryLoop
Before SendHttpRequestAsync
Begin SendHttpRequestAsync
Begin SendAsync
Before RetryLoop
Before SendHttpRequestAsync
Begin SendHttpRequestAsync
Begin SendAsync
Before RetryLoop
Before SendHttpRequestAsync
Begin SendHttpRequestAsync

This is followed by a couple of module loads, and then it just sits, until some long time later, it continues with:

Splash thread 05 : View.Splash.EnableMainBodyPanel() called
Splash thread 05 : View.Splash.EnableMainBodyPanel() returning
Splash thread 05 : TabActivated()
Splash thread 01 : View.Splash.RefreshLicenseDetailsPane() called
Splash thread 01 : View.Splash.RefreshLicenseDetailsPane() invoking self
Splash thread 05 : View.Splash.RefreshLicenseDetailsPane() called
Splash thread 05 : View.Splash.RefreshLicenseDetailsPane() returning
Splash thread 01 : RhinoSplashSkin.OnLicenseCheckComplete() calling BeginIsUpdateAvailable()
'Rhino.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Program Files\Rhino 7\System\McNeelUpdateClient.dll'.
IsUpdateAvaliableEx() Connecting to McNeelUpdate service.
'Rhino.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll'.
IsUpdateAvaliableEx() calling channel.RegisterProduct()
IsUpdateAvaliableEx() calling channel.GetUpdateStatus()
IsUpdateAvaliableEx() setting RhinoInstallerPath to C:\ProgramData\McNeel\McNeelUpdate\DownloadCache\084ea9139c95ae8808e2bcb6f4d21062\7.21.22208.13001\rhino_en-us_7.21.22208.13001.exe
IsUpdateAvaliableEx() received data: ProductID='78464c2c-9aeb-456e-8c27-865a524f5ca0', IsUpdateAvailable='False', AvailableVersion='(null)', InstallerPath='C:\ProgramData\McNeel\McNeelUpdate\DownloadCache\084ea9139c95ae8808e2bcb6f4d21062\7.21.22208.13001\rhino_en-us_7.21.22208.13001.exe', LastCheckDate='9/8/2022 8:28:27 AM', LastCheckResult='Downloaded', LastCheckUri='http://store.mcneel.com/api/v1/mcneelupdate/78464c2c-9aeb-456e-8c27-865a524f5ca0/release/win64/en-us/stable/7.21.22208.13001', IsUpdateDownloading='False', DownloadingVersion='7.21.22208.13001', DownloadPercentComplete='10000', 
IsUpdateAvaliableEx() returning False.

Then some other module loads, and finally:

Splash thread 01 : Skin.RhinoApp_Initialized() called
Splash thread 01 : SplashController.RhinoLoadComplete() called
Splash thread 05 : Splash is null
Splash thread 05 : View.Splash.Splash_FormClosed called
Splash thread 05 : Skin.ShowSplash()
Splash thread 05 : Skin.ShowSplash() returning
Splash thread 05 : Opacity of 0 reached
Splash thread 05 : SplashController.HideView() starting
Splash thread 05 : Skin.HideSplash() called

And at this point the gui has come up. Renaming RhinoSplash.dll appears to cure this; I did that, it came up fine, then I un-renamed it, and the behavior returned. That (or I suppose using /nosplash) works, but it would be preferable for the splash screen to just kill itself and show an error dialog or something, if it is taking more than 10 seconds (or whatever) to come up.

In my recollection, this is something that has happened sporadically ever since the detailed splash screen was added, and I did find some older threads that appear to report similar, but didn’t see anything for recent builds, and I am on windows 7.21.22208.13001 here.

@brian - is this something you know about?

-Pascal

It is true that this has come up periodically. Do you have the McNeelUpdateService running in Services in Control Panel? (as an aside, we recently eliminated that service in Rhino 8, so going forward, perhaps this problem will disappear - but only in Rhino 8).

Besides my own plugin I try to keep Rhino as stock as possible, so yes checking in services, I see McNeelUpdate service running.