Author Topic: GSD issues - all devices died.  (Read 800 times)

posde

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3209
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: GSD issues - all devices died.
« Reply #15 on: August 14, 2015, 12:58:05 pm »
You should brush up on your language skills :D

phenigma

  • NEEDS to work for LinuxMCE
  • ***
  • Posts: 1252
    • View Profile
Re: GSD issues - all devices died.
« Reply #16 on: August 16, 2015, 09:39:37 pm »
;)

mkbrown69

  • Guru
  • ****
  • Posts: 210
    • View Profile
Re: GSD issues - all devices died.
« Reply #17 on: August 21, 2015, 04:32:54 am »
Jason,

Thanks for the tip on using screen. Here's the output from each time the device dies.

Code: [Select]
LOG: ========== NEW LOG SECTION ==========
1       08/20/15 22:23:57       189 (spawning-device)   Starting... 40
1       08/20/15 22:23:57       189 (spawning-device)   Starting... 40
1       08/20/15 22:23:57       189 (spawning-device)   Found /usr/pluto/bin/Generic_Serial_Device
1       08/20/15 22:23:57       189 (spawning-device)   Found /usr/pluto/bin/Generic_Serial_Device
Generic_Serial_Device, v.2.0.0.46.15060430777
Visit www.plutohome.com for source code and license information

embed: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0002 b:0002 l:ffffdfc4 d:ffffdfc4 TOP


-- C level backtrace information -------------------------------------------
/usr/lib/libruby-1.9.1.so.1.9(+0x15e4dd) [0x26e4dd]
/usr/lib/libruby-1.9.1.so.1.9(+0x4e111) [0x15e111] vfscanf.c:1784
/usr/lib/libruby-1.9.1.so.1.9(rb_bug+0x44) [0x15e8f4] vfscanf.c:1013
/usr/lib/libruby-1.9.1.so.1.9(+0xf7b5c) [0x207b5c] argp.h:586
[0xa20410]
/usr/lib/libruby-1.9.1.so.1.9(+0x63b24) [0x173b24] fxprintf.c:47
/usr/lib/libruby-1.9.1.so.1.9(+0x63c37) [0x173c37] printf-parsemb.c:152
/usr/lib/libruby-1.9.1.so.1.9(+0x656bf) [0x1756bf] libioP.h:985
/usr/lib/libruby-1.9.1.so.1.9(rb_newobj+0x23c) [0x17624c] iopopen.c:346
/usr/lib/libruby-1.9.1.so.1.9(+0x102d65) [0x212d65] ../sysdeps/unix/sysv/linux/readonly-area.c:88
/usr/lib/libruby-1.9.1.so.1.9(rb_enc_str_new+0x2a) [0x214faa] wcpcpy_chk.c:38
/usr/lib/libruby-1.9.1.so.1.9(+0xa252e) [0x1b252e] ../stdlib/strtod_l.c:1615
/usr/lib/libruby-1.9.1.so.1.9(+0xab6e7) [0x1bb6e7] getdate.c:270
/usr/lib/libruby-1.9.1.so.1.9(+0xb8dd5) [0x1c8dd5] ../sysdeps/unix/sysv/linux/i386/setgid.c:36
/usr/lib/libruby-1.9.1.so.1.9(+0x160601) [0x270601]
/usr/lib/libruby-1.9.1.so.1.9(+0xa24e1) [0x1b24e1] ../stdlib/strtod_l.c:1601
/usr/lib/libruby-1.9.1.so.1.9(rb_iseq_compile_with_option+0x64) [0x255cc4] ../sysdeps/i386/i686/multiarch/strcmp-ssse3.S:1853
/usr/lib/libruby-1.9.1.so.1.9(rb_iseq_compile+0x3b) [0x255eeb] ../sysdeps/i386/i686/multiarch/strcmp-ssse3.S:1950
/usr/lib/libruby-1.9.1.so.1.9(+0x15358a) [0x26358a]
/usr/lib/libruby-1.9.1.so.1.9(rb_eval_string+0x4f) [0x263bff]
/usr/pluto/bin/Generic_Serial_Device(_ZN7EMBRUBY11RubyEmbeder9_loadcodeEm+0x23) [0x8077e1d] RubyEmbeder.cpp:109
/usr/lib/libruby-1.9.1.so.1.9(rb_protect+0xce) [0x16299e] vfscanf.c:2318
/usr/pluto/bin/Generic_Serial_Device() [0x8077b54] RubyEmbeder.cpp:79
/usr/pluto/bin/Generic_Serial_Device() [0x808d448] RubyIOManager.cpp:463
/usr/pluto/bin/Generic_Serial_Device(_ZN3DCE8IOThread11_threadprocEPv+0x2a) [0x80775fe] IOThread.cpp:79
/lib/i386-linux-gnu/libpthread.so.0(+0x6d4c) [0x597d4c] pthread_create.c:308
/lib/i386-linux-gnu/libc.so.6(clone+0x5e) [0xe46b8e] ../sysdeps/unix/sysv/linux/i386/clone.S:130

-- Other runtime information -----------------------------------------------

* Loaded script: embed

* Loaded features:

    0 enumerator.so

* Process memory map:

00110000-0030e000 r-xp 00000000 fd:01 131209     /usr/lib/libruby-1.9.1.so.1.9.1
0030e000-00311000 r--p 001fd000 fd:01 131209     /usr/lib/libruby-1.9.1.so.1.9.1
00311000-00313000 rw-p 00200000 fd:01 131209     /usr/lib/libruby-1.9.1.so.1.9.1
00313000-00323000 rw-p 00000000 00:00 0
00323000-00341000 r-xp 00000000 fd:01 654464     /usr/pluto/lib/libSerializeClass.so
00341000-00342000 r--p 0001d000 fd:01 654464     /usr/pluto/lib/libSerializeClass.so
00342000-00343000 rw-p 0001e000 fd:01 654464     /usr/pluto/lib/libSerializeClass.so
00343000-00357000 r-xp 00000000 fd:01 1442801    /lib/i386-linux-gnu/libz.so.1.2.3.4
00357000-00358000 r--p 00013000 fd:01 1442801    /lib/i386-linux-gnu/libz.so.1.2.3.4
00358000-00359000 rw-p 00014000 fd:01 1442801    /lib/i386-linux-gnu/libz.so.1.2.3.4
00359000-00383000 r-xp 00000000 fd:01 1455536    /lib/i386-linux-gnu/libm-2.15.so
00383000-00384000 r--p 00029000 fd:01 1455536    /lib/i386-linux-gnu/libm-2.15.so
00384000-00385000 rw-p 0002a000 fd:01 1455536    /lib/i386-linux-gnu/libm-2.15.so
00385000-0038d000 r-xp 00000000 fd:01 1455548    /lib/i386-linux-gnu/libcrypt-2.15.so
0038d000-0038e000 r--p 00007000 fd:01 1455548    /lib/i386-linux-gnu/libcrypt-2.15.so
0038e000-0038f000 rw-p 00008000 fd:01 1455548    /lib/i386-linux-gnu/libcrypt-2.15.so
0038f000-003b6000 rw-p 00000000 00:00 0
003d5000-003dc000 r-xp 00000000 fd:01 654359     /usr/pluto/lib/libSerial.so
003dc000-003dd000 r--p 00006000 fd:01 654359     /usr/pluto/lib/libSerial.so
003dd000-003de000 rw-p 00007000 fd:01 654359     /usr/pluto/lib/libSerial.so
003de000-004bf000 r-xp 00000000 fd:01 655506     /usr/pluto/lib/libDCECommon.so
004bf000-004c0000 r--p 000e0000 fd:01 655506     /usr/pluto/lib/libDCECommon.so
004c0000-004c3000 rw-p 000e1000 fd:01 655506     /usr/pluto/lib/libDCECommon.so
004c3000-004d4000 rw-p 00000000 00:00 0
0056c000-0058c000 r-xp 00000000 fd:01 1455488    /lib/i386-linux-gnu/ld-2.15.so
0058c000-0058d000 r--p 0001f000 fd:01 1455488    /lib/i386-linux-gnu/ld-2.15.so
0058d000-0058e000 rw-p 00020000 fd:01 1455488    /lib/i386-linux-gnu/ld-2.15.so
00591000-005a8000 r-xp 00000000 fd:01 1447355    /lib/i386-linux-gnu/libpthread-2.15.so
005a8000-005a9000 r--p 00016000 fd:01 1447355    /lib/i386-linux-gnu/libpthread-2.15.so
005a9000-005aa000 rw-p 00017000 fd:01 1447355    /lib/i386-linux-gnu/libpthread-2.15.so
005aa000-005ac000 rw-p 00000000 00:00 0
005e9000-0064a000 r-xp 00000000 fd:01 654266     /usr/pluto/lib/libPlutoUtils.so
0064a000-0064b000 r--p 00061000 fd:01 654266     /usr/pluto/lib/libPlutoUtils.so
0064b000-0064d000 rw-p 00062000 fd:01 654266     /usr/pluto/lib/libPlutoUtils.so
00692000-0076a000 r-xp 00000000 fd:01 131619     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
0076a000-0076b000 ---p 000d8000 fd:01 131619     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
0076b000-0076f000 r--p 000d8000 fd:01 131619     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
0076f000-00770000 rw-p 000dc000 fd:01 131619     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
00770000-00777000 rw-p 00000000 00:00 0
00782000-0078d000 r-xp 00000000 fd:01 1454921    /lib/i386-linux-gnu/libnss_files-2.15.so
0078d000-0078e000 r--p 0000a000 fd:01 1454921    /lib/i386-linux-gnu/libnss_files-2.15.so
0078e000-0078f000 rw-p 0000b000 fd:01 1454921    /lib/i386-linux-gnu/libnss_files-2.15.so
007c4000-007e0000 r-xp 00000000 fd:01 1439086    /lib/i386-linux-gnu/libgcc_s.so.1
007e0000-007e1000 r--p 0001b000 fd:01 1439086    /lib/i386-linux-gnu/libgcc_s.so.1
007e1000-007e2000 rw-p 0001c000 fd:01 1439086    /lib/i386-linux-gnu/libgcc_s.so.1
00887000-008c1000 r-xp 00000000 fd:01 654944     /usr/pluto/lib/libMessageTranslation.so
008c1000-008c2000 r--p 0003a000 fd:01 654944     /usr/pluto/lib/libMessageTranslation.so
008c2000-008c3000 rw-p 0003b000 fd:01 654944     /usr/pluto/lib/libMessageTranslation.so
008c3000-008c4000 rw-p 00000000 00:00 0
0093a000-0093d000 r-xp 00000000 fd:01 1455565    /lib/i386-linux-gnu/libdl-2.15.so
0093d000-0093e000 r--p 00002000 fd:01 1455565    /lib/i386-linux-gnu/libdl-2.15.so
0093e000-0093f000 rw-p 00003000 fd:01 1455565    /lib/i386-linux-gnu/libdl-2.15.so
00a20000-00a21000 r-xp 00000000 00:00 0          [vdso]
00a40000-00cdc000 r-xp 00000000 fd:01 135635     /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
00cdc000-00cdf000 r--p 0029c000 fd:01 135635     /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
00cdf000-00d55000 rw-p 0029f000 fd:01 135635     /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
00d55000-00d58000 rw-p 00000000 00:00 0
00d58000-00efb000 r-xp 00000000 fd:01 1455578    /lib/i386-linux-gnu/libc-2.15.so
00efb000-00efd000 r--p 001a3000 fd:01 1455578    /lib/i386-linux-gnu/libc-2.15.so
00efd000-00efe000 rw-p 001a5000 fd:01 1455578    /lib/i386-linux-gnu/libc-2.15.so
00efe000-00f01000 rw-p 00000000 00:00 0
00f2c000-00f33000 r-xp 00000000 fd:01 1455485    /lib/i386-linux-gnu/librt-2.15.so
00f33000-00f34000 r--p 00006000 fd:01 1455485    /lib/i386-linux-gnu/librt-2.15.so
00f34000-00f35000 rw-p 00007000 fd:01 1455485    /lib/i386-linux-gnu/librt-2.15.so
08048000-080b3000 r-xp 00000000 fd:01 552583     /usr/pluto/bin/Generic_Serial_Device
080b3000-080b4000 r--p 0006b000 fd:01 552583     /usr/pluto/bin/Generic_Serial_Device
080b4000-080b5000 rw-p 0006c000 fd:01 552583     /usr/pluto/bin/Generic_Serial_Device
09364000-09478000 rw-p 00000000 00:00 0          [heap]
b4800000-b4828000 rw-p 00000000 00:00 0
b4828000-b4900000 ---p 00000000 00:00 0
b4a00000-b4afa000 rw-p 00000000 00:00 0
b4afa000-b4b00000 ---p 00000000 00:00 0
b4bff000-b4c00000 ---p 00000000 00:00 0
b4c00000-b5400000 rw-p 00000000 00:00 0
b5400000-b545e000 rw-p 00000000 00:00 0
b545e000-b5500000 ---p 00000000 00:00 0
b5538000-b55dc000 rw-p 00000000 00:00 0
b55ff000-b5600000 ---p 00000000 00:00 0
b5600000-b5e00000 rw-p 00000000 00:00 0
b5e00000-b5e21000 rw-p 00000000 00:00 0
b5e21000-b5f00000 ---p 00000000 00:00 0
b5f1f000-b5f20000 ---p 00000000 00:00 0
b5f20000-b6720000 rw-p 00000000 00:00 0
b6720000-b6721000 ---p 00000000 00:00 0
b6721000-b6f21000 rw-p 00000000 00:00 0
b6f21000-b6f22000 ---p 00000000 00:00 0
b6f22000-b7728000 rw-p 00000000 00:00 0
b773d000-b773e000 rw-p 00000000 00:00 0
b773e000-b773f000 ---p 00000000 00:00 0
b773f000-b7746000 rw-p 00000000 00:00 0
bfe5b000-bfe7c000 rw-p 00000000 00:00 0          [stack]


[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

/usr/pluto/bin/Spawn_Device.sh: line 170: 17427 Aborted                 (core dumped) /usr/pluto/bin/Spawn_Wrapper.sh "$Path$cmd_line" -d "$device_id" -r "$ip_of_router" -l "$LogFile"
LOG: Return code: 134
3       08/20/15 22:23:57       189 (spawning-device)   Device died... count=40/50 dev=189
3       08/20/15 22:23:57       189 (spawning-device)   Device died... count=40/50 dev=189
LOG: Thu Aug 20 22:23:58 EDT 2015 died
^C
[screen is terminating]


It's 12.04 updated to the latest GSD package and Ruby 1.9.1. The GSD device is segfaulting. Someone more knowledgeable about the GSD device and C have any ideas?

Thanks!

/Mike

mkbrown69

  • Guru
  • ****
  • Posts: 210
    • View Profile
Re: GSD issues - all devices died.
« Reply #18 on: August 28, 2015, 05:05:41 am »
Jason,

Just to report back, your change in update 31133 did not resolve the problem. The devices still segfault the 50 times, then the screen session for the device is terminated.

Thanks for trying!

/Mike

phenigma

  • NEEDS to work for LinuxMCE
  • ***
  • Posts: 1252
    • View Profile
Re: GSD issues - all devices died.
« Reply #19 on: August 28, 2015, 05:43:37 am »
:( shitty.  Ok.  It was targeting a specific issue that tschak was having... And I thought it may relate.  That aside.  We think we've reduced it to #350 Process Incoming Data.  If there is any code in that section could you comment it out (#) and reload.  We *think* that's where our issues are coming from and may help us find a solution.

In most cases this fn is doing nothing at all.

Thanks for the feedback and the help narrowing things down!  We really appreciate the testing!  Let me know if there's anything else I can answer or help with.  We are trying to determine the ultimate cause, but it is proving quite elusive ;)

J.

mkbrown69

  • Guru
  • ****
  • Posts: 210
    • View Profile
Re: GSD issues - all devices died.
« Reply #20 on: August 29, 2015, 05:22:32 am »
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.

Code: [Select]
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.
Code: [Select]
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