Ladybug Cumulative Sky Matrix crashes GH and Rhino without crash report

Hello. I installed Ladybug using the Wiki - GitHub instructions. It is a great for compiling weather information. However, whenever I attempt to use the Cumulative Sky Matrix, Rhino and Grasshopper crash without an incident report. I have installed the correct version of Radiance. My IT department has looked into this and does not believe our security systems are stopping it. Could I please get some assistance? I am based in Las Vegas and we would like to implement techniques for determining solar shading and building massing based on radiance information. Below is the system information.
Much appreciation. LB

Rhinoceros Version:
Version 7 SR9
(7.9.21222.15001, 2021-08-10)
Commercial

SYSTEM INFORMATION:
OS Name Microsoft Windows 10 Pro
Version 10.0.19043 Build 19043
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name KJWA-267
System Manufacturer Dell Inc.
System Model Precision 3630 Tower
System Type x64-based PC
System SKU 0871
Processor Intel(R) Core™ i7-8700K CPU @ 3.70GHz, 3696 Mhz, 6 Core(s), 12 Logical Processor(s)
BIOS Version/Date Dell Inc. 2.9.1, 6/6/2021
SMBIOS Version 3.1
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer Dell Inc.
BaseBoard Product 0NNNCT
BaseBoard Version A01
Platform Role Desktop
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\Windows
System Directory C:\Windows\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = “10.0.19041.1151”
User Name KJA\LBarndt
Time Zone Pacific Daylight Time
Installed Physical Memory (RAM) 64.0 GB
Total Physical Memory 63.8 GB
Available Physical Memory 52.2 GB
Total Virtual Memory 73.3 GB
Available Virtual Memory 58.6 GB
Page File Space 9.50 GB
Page File C:\pagefile.sys
Kernel DMA Protection Off
Virtualization-based security Not enabled
Device Encryption Support Elevation Required to View
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualization Enabled in Firmware Yes
Hyper-V - Data Execution Protection Yes

Hi @lbarndt ,

Does Rhino crash as soon as you drop the component on the canvas? Or is it crashing after you have connected the correct inputs?

If it’s the former, can you verify that dropping the “HB Check Versions” component onto your canvas also crashes Rhino in your case?

Hello Chris,
Thank you for responding. I am afraid it crashes as soon as I drop the component on the canvas. I am not getting near connecting anything. As a test I attempted to run “HB Check Versions” and that also crashed. Most Honeybee components crash it. Does that help?

@lbarndt ,

I would infer that this is probably related to some type of IT restriction that has been placed on your computer. I can tell you what is causing the crash is the use of the IronPython subprocess module. In particular, this line of code is probably what is triggering the crash:

What version of Rhino are you using? Maybe someone from the McNeel team would be able to provide some insight about what is going on here.

CC: @wim , @piac

Sorry I don’t know, but a quick search shows that subprocess.PIPE can be dangerous.

Hello again Chris. My Rhino version is 7. Our IT security team sent this to me after forwarding your comments.

“We don’t have any firewall rules or restrictions on your PC that would block anything, nor am I see anything in the SentinelOne logs indicating that it’s blocking anything (and I get notifications on everything from there). If they have a line of code that is triggering the crash, then quite possibly there’s an issue in the code. It’s hard to reverse engineer someone else’s code, but from the looks of it, their code is parsing out the version of software you are running on your PC. If the error is on line 241, then quite possibly there’s an issue with the “-version” flag when running that command. But this would be nothing that your computer, the network, or the antivirus is blocking.”

I sense they might be getting tired of the issue. Lol.

Mustapha wrote me and asked if we were using LBT plugins or legacy ones. I installed the LB version 1.2.0 and I tried a number of Radiance versions, the latest one being 5.2. Shall I try an older one?

@lbarndt ,

Hah! I sense the tiredness and that’s an excuse I haven’t heard before. There’s no need to “reverse engineer” code when it’s all open source.

In any case, what you provided might hint at the source of the problem. The LBT plugin is incompatible with any version of Radiance before 5.3. See the compatibility matrix:

So try uninstalling Radiance and installing a compatible one.

Also, if your IT department is really that tired, I would really recommend purchasing an executable installer from us (just email info@ladybug.tools). With our exe installer, we ensure that you always get a compatible set of simulation engines (and we perform a bunch of other tests) so you would not have issues like this.

I wasn’t able to recreate the error by installing Radiance 5.2 but I think it’s still worth a try. Are you also unable to drag and drop the HB Model to OSM component on your canvas? That will let us know if the problem is generally with the subprocess module or if it’s specifically about Radiance.

Hello again. I put in an email to info@ for pricing on the executable file. I did not attempt the reinstall of another Radiance yet. However, I did the “HB Model to OSM” component on canvas test. It seemed to take a few ms longer to crash, but, yes, that crashed the programs in the same manner. Does this move us in another direction? Thanks, L

@lbarndt ,

That definitely confirms that the issue is generally with the subprocess module and not with anything specific to Radiance. Now, the question is if it’s because of how were are trying to pipe the output of the command we are running with subprocess (as @piac suggests) or are we just not able to run any commands with subprocess at all.

Can you try opening this .gh file on your machine and enabling the GHPYthon component?

subprocess_test.gh (2.5 KB)

If enabling the component crashes your Rhino, then I would be pretty confident that it’s something restrictive that IT has put on your machine. Maybe there’s some antivirus software that’s killing the process before it starts and that triggers the crash.

If enabling the component does not crash Rhino, then maybe there’s something we can do on the Ladybug Tools end to make this case better.

FYI, @piac , this is the code that I am testing inside the component (I’m essentially just running it without subprocess.PIPE):

import os
import subprocess

rtrace_exe = os.path.join(x, 'bin', 'rtrace.exe')
cmds = [rtrace_exe, '-version']
process = subprocess.Popen(cmds)
stdout = process.communicate()

Hello Chris. I have been away from this issue for a while but wanted to get it sorted. I saw that there was an updated version of LB. I downloaded, uninstalled and reinstalled that latest version. Started and restarted Rhino each time. Then I ran the subprocess_test.gh that you sent. Once enable, it did not crash the program. It also did nothing interesting. Here is a screen cap. I then attempted to drop the LB Cumulative Sky Matrix and HB Model to OSM. Both crashed Rhino as before…
Thanks again for your help. Cheers, L!
Enable 01|690x375

Thanks for testing, @lbarndt . This is very good to know. So that means that @piac 's original instinct was correct and the problem results from the use of subprocess.PIPE on Windows. This means that there might be something that we can do about it but it will take me some time to research possible solutions. I opened an issue for this and you can check there for any progress that I make:

Thanks again!

2 Likes

Hello @chris, has any workaround to this issue been created? I’m working with Rhino 6 and freshly downloaded/installed versions of Ladybug and Radiance and am encountering the same issues as described above. Running the subprocess test script revealed no other issues. Thanks - S