Jason,
I commented out the stuff in my ISY driver's #350, and rebooted (a reload wasn't sufficient to restart the device.
It no longer segfaults. It loads all the GSD code, and then dies at the end, and tries to re-spawn.
1843:#### START SETTERS #############################################################
#######
1844:def initialize()
1845:super
1846:@returnParamArray=Array.new
1847:end
1848:#### END SETTERS #############################################################
#######
1849:end
1851:Return code: 134
3 08/28/15 23:07:59 189 (spawning-device) Device died... count=2/
50 dev=189
Fri Aug 28 23:07:59 EDT 2015 died
== ATTEMPT FRESH START ==
1 08/28/15 23:08:08 /usr/pluto/bin/Spawn_Device.sh 189 (spawning-device)15473 Dev: 189; Already Running list: 15,18,113,36,16,19,31,183,38,32,189,
1 08/28/15 23:08:08 /usr/pluto/bin/Spawn_Device.sh 189 (spawning-device)15473 Device 189 was marked as 'running'. Not starting
1 08/28/15 23:08:08 /usr/pluto/bin/Spawn_Device.sh 189 (spawning-device)15473 Dev: 189; Exiting because not starting
So, #350 does look to be the cause of the segfaults, but is not the only problem. My driver does use 350 for it's subscription feed from the ISY.
The CT30/CT80 only has a Conn_close() in #350, which probably isn't a issue to leave out. However, it also dies and res-spawns.
955:#### START SETTERS #############################################################
#######
956:def initialize()
957:super
958:@returnParamArray=Array.new
959:end
960:#### END SETTERS #############################################################
#######
961:end
963:Return code: 134
3 08/28/15 23:07:47 183 (spawning-device) Device died... count=1/
50 dev=183
Fri Aug 28 23:07:47 EDT 2015 died
========== NEW LOG SECTION ==========
1 08/28/15 23:07:57 183 (spawning-device) Starting... 2
1 08/28/15 23:07:57 183 (spawning-device) Found /usr/pluto/bin/Ge
neric_Serial_Device
RCODE:
Looks like you and Thom are closing in on it!
HTH!
/Mike