gunship256's SmartArrayAndSpiders v0.23 alpha mod gives a repeatable system crash from the Misc Devices dockscreen.
http://xelerus.de/index.php?s=mod&id=1503

program state: OnAnimate
program state: miscellaneous animation
game state: docked

According to digdug this bug is a pain in the 'other region'.

If anyone wants to look into this, being able to reproduce the crash could be of value to them.

Here's how to do it. Playing Wolfen makes this quicker because of the small reactor.

Open the box with a faded label supplied in the cargo hold, this contains a solar array.
Park on the sun.
Fire weapons to drop the fuel level to 80%. The array then self-installs and refuels the reactor up to about 95%.
Just before the array finishes refueling the reactor, go to the Miscellaneous Devices screen in Ship Configuration.
Put the cursor over the Compact Solar Panel Array device slot (navigate to it, highlight it, not sure of the jargon). It should show 'external' if the array is still installed.
Wait. When the array has refueled the reactor it will self-uninstall. This leads to the system crash.

There is also a bug with the Misc Devices dockscreen not resetting/updating correctly when the array self-uninstalls which could give more info. Do the same as for the sytem crash above but DO NOT put the cursor on the array device slot (or the system will crash). Any other device slot will do.
When the array self-uninstalls the 'external' designation disappears but the array stays there. In theory it should disappear and the device slot vanish as well. Navigating to the array slot (after it has uninstalled itself and the 'external' has vanished) gives a blank device slot with Nil, nil as the details. See http://forums.kronosaur.com/viewtopic.php?f=24&t=7482 for details.

Hope that helps.

george moromisato 12 Feb 2016:

I couldn't quite reproduce the crash, but I can see various ways in which it could happen. We need to notify the dock screen that the item has been installed/uninstalled, otherwise we'll have a stale item which could crash.

Unfortunately, this is slightly tricky. At install/uninstall time from inside of CShip, we need to call the controller with a notification. CPlayerShipController should then pass it to the dock screen (if we've got one up) via CTranscendenceModel. CDockScreen then needs to pass it to the actual display (CDockScreenSelector) and it needs to re-initialize (and we need to refresh the pane also).

The OnDockedObjChanged notification takes a similar path, ending up at OnResetList, but we can't piggy-back on top of it because it might cause a refresh of the list when we don't need/want it.

Lastly, we need to ignore this notification is we're inside of an action or inside of any other dock screen code.

relanat 16 Feb 2016:

Apologies. I usually put the Transcendence version number in posts but forgot this time. This was causing a crash in 1.6.3 and 1.6.4.

I just tried 1.7a1 and, as you saw, the crash no longer happens (good news!). In 1.7 regardless of which device slot the cursor is over the result is the blank device slot with the Nil, nil values, not a system crash. Problem solved.

Nice work, gunship256. Your coding is ahead of it's time! :)

relanat 9 Oct 2017:

Fixed in 1.7a1.