News:

Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com

Main Menu

GSD issues - all devices died.

Started by mkbrown69, August 04, 2015, 04:06:35 AM

Previous topic - Next topic

Marie.O

You should brush up on your language skills :D
If I helped you, feel free to buy me a coffee: [url="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES"]https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES[/url]

phenigma

My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

mkbrown69

Jason,

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

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

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

:( 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.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

mkbrown69

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

phenigma

:(  Not sure why those devices are dying.  I have dropped the #350 on my thermostat and I'm not having any issues there atm, I am using Ruby 2.0 on 1404 though.  It would be nice to figure out why your devices are dying rather than staying alive. 

I think we are getting close on the #350 thing, but we don't have a full solution at this point.  It appears to me that Ruby2.0 is a little more stable than 1.9.1.  I'll see what it would take to backport it.

J.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

mkbrown69

Hey Jason!

I'm not against rolling forward to 14.04. I'm trying to implement a SAMBA 4 AD Set-up at home (using 2 virtuals of Zentyal as PDC and BDC/NAS), and was planning on looking at seeing if I could integrate LMCE's SAMBA into at as a DC as well.

I can stay on 12.04 for a while if you want, to help troubleshoot. Just curious if more dev effort is moving towards 14.04, or if 12.04 is still the focus?

Thanks!

/Mike

phenigma

1204 is where all dev activity is concentrated.  1404 is currently running on a couple of the dev's systems, including my home production system.

I have had my thermostat end up disabled now as well, not sure how/where/why it happened yet but I will be investigating.

J.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

pointman87

Hello, is there any news on this? The Denon rs232 still doesn't work. Any pointers?

BR Daniel
BR Daniel

[url="http://wiki.linuxmce.org/index.php/User:Pointman87"]http://wiki.linuxmce.org/index.php/User:Pointman87[/url]

phenigma

There have been no updates to GSD.  Patches and Ruby code updates are welcome.  :)

J.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

Marie.O

What device template do you use for your Denon?
If I helped you, feel free to buy me a coffee: [url="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES"]https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES[/url]

phenigma

I was just going to ask that.   :P

J.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]

pointman87

BR Daniel

[url="http://wiki.linuxmce.org/index.php/User:Pointman87"]http://wiki.linuxmce.org/index.php/User:Pointman87[/url]

phenigma

Can you pastebin the logs from your GSD device?  You should find them in /var/log/pluto/XX_Generic_Serial_Device.log, where XX is the device #.

J.
My setup: [url="http://wiki.linuxmce.org/index.php/User:Phenigma"]http://wiki.linuxmce.org/index.php/User:Phenigma[/url]