sensu / sensu-omnibus

Build full-stack platform-specific Sensu packages
12 stars 16 forks source link

Segementation fault in Ruby on RHEL6.9 #179

Closed bootswithdefer closed 7 years ago

bootswithdefer commented 7 years ago

sensu-plugins-disk-checks causes Ruby to intermittently segfault on RHEL6.9 systems. Not sure if this is the right place to report, but since Sensu is distributed with a rather old Ruby it seemed counterproductive to report to the Ruby team or Red Hat first.

Expected Behavior

No seg faults.

Current Behavior

RHEL6.9 was just released so I upgraded a test system and it started randomly alerting on the disk check despite the disk being fine. Looking in the sensu server logs I found the stack trace below. I tried completely uninstalling Sensu (and rm -r /opt/sensu) and reinstalling to no effect. The same problem does not happen on RHEL 6.8 with the same Sensu RPM.

Possible Solution

Steps to Reproduce (for bugs)

From the stack trace I was able to isolate it to this test program:

!/opt/sensu/embedded/bin/ruby

require 'sys/filesystem' include Sys Filesystem.mounts.each do |line| print '.' end

Run the program in a loop (while true; do ./mount-segfault.rb; done) and it will randomly crash (maybe 1 in hundreds). It does not seem to crash as root. Increasing various ulimits did nothing.

Context

/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315: [BUG] Segmentation fault at 0x00000000000000 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

-- Control frame information ----------------------------------------------- c:0004 p:---- s:0018 e:000017 CFUNC :getmntent c:0003 p:0581 s:0014 e:000013 METHOD /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315 c:0002 p:0035 s:0004 E:000380 EVAL fs.rb:6 [FINISH] c:0001 p:0000 s:0002 E:0008a0 (none) [FINISH]

-- Ruby level backtrace information ---------------------------------------- fs.rb:6:in <main>' /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315:inmounts' /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315:in `getmntent'

-- Machine register context ------------------------------------------------ RIP: 0x00007f5d31e1bceb RBP: 0x0000000000000000 RSP: 0x00007ffcdb786040 RAX: 0x0000000000000000 RBX: 0x0000000001434d80 RCX: 0x0000000000001000 RDX: 0x0000000001434d80 RDI: 0x0000000000000000 RSI: 0x00007f5d320ca060 R8: 0x00007f5d320c7188 R9: 0x0000000000000001 R10: 0x0000000000001000 R11: 0x0000000000000206 R12: 0x00007f5d320ca060 R13: 0x0000000000001000 R14: 0x0000000000000001 R15: 0x00007ffcdb7865d0 EFL: 0x0000000000010202

-- C level backtrace information ------------------------------------------- /opt/sensu/embedded/lib/libruby.so.2.3(rb_vm_bugreport+0x5b8) [0x7f5d32d82f28] vm_dump.c:688 /opt/sensu/embedded/lib/libruby.so.2.3(rb_bug_context+0x1a6) [0x7f5d32c26d56] error.c:435 /opt/sensu/embedded/lib/libruby.so.2.3(sigsegv+0x5a) [0x7f5d32cf5dfa] signal.c:890 /lib64/libpthread.so.0 [0x7f5d329a37e0] /lib64/libc.so.6(__getmntent_r+0x1b) [0x7f5d31e1bceb] /opt/sensu/embedded/lib/libffi.so.6(ffi_call_unix64+0x4c) [0x7f5d2b26fcc4] /opt/sensu/embedded/lib/libffi.so.6(ffi_call+0x1fa) [0x7f5d2b26fa2a] /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so(rbffi_CallFunction+0xfd) [0x7f5d2b4856bd] Call.c:430 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so(custom_trampoline+0x16) [0x7f5d2b483256] MethodHandle.c:232 /opt/sensu/embedded/lib/libruby.so.2.3(vm_call_cfunc+0x101) [0x7f5d32d686b1] vm_insnhelper.c:1638 /opt/sensu/embedded/lib/libruby.so.2.3(vm_call_method+0xab) [0x7f5d32d77c4b] vm_insnhelper.c:2175 /opt/sensu/embedded/lib/libruby.so.2.3(vm_exec_core+0x140b) [0x7f5d32d7012b] insns.def:995 /opt/sensu/embedded/lib/libruby.so.2.3(vm_exec+0x7b) [0x7f5d32d75e7b] vm.c:1645 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_exec_internal+0x13e) [0x7f5d32c2a66e] eval.c:244 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_exec_node+0x1d) [0x7f5d32c2a6bd] eval.c:309 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_run_node+0x1e) [0x7f5d32c2dace] eval.c:301 /opt/sensu/embedded/bin/ruby(main+0x4b) [0x4008db] main.c:36

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

00400000-00401000 r-xp 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 00600000-00601000 rw-p 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 00f87000-01448000 rw-p 00000000 00:00 0 [heap] 7f5d2a41f000-7f5d2a5f5000 r--s 00000000 fd:00 1178152 /lib64/libc-2.12.so 7f5d2a5f5000-7f5d2b054000 r--s 00000000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f5d2b054000-7f5d2b06a000 r-xp 00000000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f5d2b06a000-7f5d2b269000 ---p 00016000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f5d2b269000-7f5d2b26a000 rw-p 00015000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f5d2b26a000-7f5d2b271000 r-xp 00000000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f5d2b271000-7f5d2b471000 ---p 00007000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f5d2b471000-7f5d2b472000 rw-p 00007000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f5d2b472000-7f5d2b493000 r-xp 00000000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f5d2b493000-7f5d2b692000 ---p 00021000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f5d2b692000-7f5d2b694000 rw-p 00020000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f5d2b694000-7f5d2b69b000 r-xp 00000000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f5d2b69b000-7f5d2b89b000 ---p 00007000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f5d2b89b000-7f5d2b89c000 rw-p 00007000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f5d2b89c000-7f5d2b89e000 r-xp 00000000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f5d2b89e000-7f5d2ba9e000 ---p 00002000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f5d2ba9e000-7f5d2ba9f000 rw-p 00002000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f5d2ba9f000-7f5d2baa1000 r-xp 00000000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f5d2baa1000-7f5d2bca0000 ---p 00002000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f5d2bca0000-7f5d2bca1000 rw-p 00001000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f5d2bca1000-7f5d31b36000 r--p 00000000 fd:00 1071359 /usr/lib/locale/locale-archive 7f5d31b36000-7f5d31b38000 r-xp 00000000 fd:00 1180779 /lib64/libfreebl3.so 7f5d31b38000-7f5d31d37000 ---p 00002000 fd:00 1180779 /lib64/libfreebl3.so 7f5d31d37000-7f5d31d38000 r--p 00001000 fd:00 1180779 /lib64/libfreebl3.so 7f5d31d38000-7f5d31d39000 rw-p 00002000 fd:00 1180779 /lib64/libfreebl3.so 7f5d31d39000-7f5d31ec3000 r-xp 00000000 fd:00 1178152 /lib64/libc-2.12.so 7f5d31ec3000-7f5d320c3000 ---p 0018a000 fd:00 1178152 /lib64/libc-2.12.so 7f5d320c3000-7f5d320c7000 r--p 0018a000 fd:00 1178152 /lib64/libc-2.12.so 7f5d320c7000-7f5d320c9000 rw-p 0018e000 fd:00 1178152 /lib64/libc-2.12.so 7f5d320c9000-7f5d320cd000 rw-p 00000000 00:00 0 7f5d320cd000-7f5d32150000 r-xp 00000000 fd:00 1184663 /lib64/libm-2.12.so 7f5d32150000-7f5d3234f000 ---p 00083000 fd:00 1184663 /lib64/libm-2.12.so 7f5d3234f000-7f5d32350000 r--p 00082000 fd:00 1184663 /lib64/libm-2.12.so 7f5d32350000-7f5d32351000 rw-p 00083000 fd:00 1184663 /lib64/libm-2.12.so 7f5d32351000-7f5d32358000 r-xp 00000000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f5d32358000-7f5d32558000 ---p 00007000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f5d32558000-7f5d32559000 r--p 00007000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f5d32559000-7f5d3255a000 rw-p 00008000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f5d3255a000-7f5d32588000 rw-p 00000000 00:00 0 7f5d32588000-7f5d3258a000 r-xp 00000000 fd:00 1184659 /lib64/libdl-2.12.so 7f5d3258a000-7f5d3278a000 ---p 00002000 fd:00 1184659 /lib64/libdl-2.12.so 7f5d3278a000-7f5d3278b000 r--p 00002000 fd:00 1184659 /lib64/libdl-2.12.so 7f5d3278b000-7f5d3278c000 rw-p 00003000 fd:00 1184659 /lib64/libdl-2.12.so 7f5d3278c000-7f5d32793000 r-xp 00000000 fd:00 1184744 /lib64/librt-2.12.so 7f5d32793000-7f5d32992000 ---p 00007000 fd:00 1184744 /lib64/librt-2.12.so 7f5d32992000-7f5d32993000 r--p 00006000 fd:00 1184744 /lib64/librt-2.12.so 7f5d32993000-7f5d32994000 rw-p 00007000 fd:00 1184744 /lib64/librt-2.12.so 7f5d32994000-7f5d329ab000 r-xp 00000000 fd:00 1184694 /lib64/libpthread-2.12.so 7f5d329ab000-7f5d32bab000 ---p 00017000 fd:00 1184694 /lib64/libpthread-2.12.so 7f5d32bab000-7f5d32bac000 r--p 00017000 fd:00 1184694 /lib64/libpthread-2.12.so 7f5d32bac000-7f5d32bad000 rw-p 00018000 fd:00 1184694 /lib64/libpthread-2.12.so 7f5d32bad000-7f5d32bb1000 rw-p 00000000 00:00 0 7f5d32bb1000-7f5d32e5b000 r-xp 00000000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f5d32e5b000-7f5d3305b000 ---p 002aa000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f5d3305b000-7f5d33063000 rw-p 002aa000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f5d33063000-7f5d33074000 rw-p 00000000 00:00 0 7f5d33074000-7f5d33094000 r-xp 00000000 fd:00 1178792 /lib64/ld-2.12.so 7f5d3314e000-7f5d3314f000 rw-p 00000000 00:00 0 7f5d3314f000-7f5d33159000 r--s 00000000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f5d33159000-7f5d3317c000 r--s 00000000 fd:00 1184694 /lib64/libpthread-2.12.so 7f5d3317c000-7f5d33283000 rw-p 00000000 00:00 0 7f5d33283000-7f5d3328a000 r--s 00000000 fd:00 1184706 /usr/lib64/gconv/gconv-modules.cache 7f5d3328a000-7f5d3328d000 r--s 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 7f5d3328d000-7f5d3328e000 r-xp 00000000 00:00 0 7f5d3328e000-7f5d3328f000 ---p 00000000 00:00 0 7f5d3328f000-7f5d33293000 rw-p 00000000 00:00 0 7f5d33293000-7f5d33295000 r--p 0001f000 fd:00 1178792 /lib64/ld-2.12.so 7f5d33295000-7f5d33296000 rw-p 00021000 fd:00 1178792 /lib64/ld-2.12.so 7f5d33296000-7f5d33297000 rw-p 00000000 00:00 0 7ffcd8f89000-7ffcdb788000 rw-p 00000000 00:00 0 [stack] 7ffcdb7b1000-7ffcdb7b2000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

[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

Aborted (core dumped) ............................................................................................................................................................................................................................................................................................................................................................................................................................../opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315: [BUG] Segmentation fault at 0x00000000000000 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

-- Control frame information ----------------------------------------------- c:0004 p:---- s:0018 e:000017 CFUNC :getmntent c:0003 p:0581 s:0014 e:000013 METHOD /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315 c:0002 p:0035 s:0004 E:0006a0 EVAL fs.rb:6 [FINISH] c:0001 p:0000 s:0002 E:000b30 (none) [FINISH]

-- Ruby level backtrace information ---------------------------------------- fs.rb:6:in <main>' /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315:inmounts' /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sys-filesystem-1.1.5/lib/sys/unix/sys/filesystem.rb:315:in `getmntent'

-- Machine register context ------------------------------------------------ RIP: 0x00007f2b1aec7ceb RBP: 0x0000000000000000 RSP: 0x00007ffd36a41800 RAX: 0x0000000000000000 RBX: 0x0000000001d71e10 RCX: 0x0000000000001000 RDX: 0x0000000001d71e10 RDI: 0x0000000000000000 RSI: 0x00007f2b1b176060 R8: 0x00007f2b1b173188 R9: 0x0000000000000001 R10: 0x0000000000001000 R11: 0x0000000000000206 R12: 0x00007f2b1b176060 R13: 0x0000000000001000 R14: 0x0000000000000001 R15: 0x00007ffd36a41d90 EFL: 0x0000000000010206

-- C level backtrace information ------------------------------------------- /opt/sensu/embedded/lib/libruby.so.2.3(rb_vm_bugreport+0x5b8) [0x7f2b1be2ef28] vm_dump.c:688 /opt/sensu/embedded/lib/libruby.so.2.3(rb_bug_context+0x1a6) [0x7f2b1bcd2d56] error.c:435 /opt/sensu/embedded/lib/libruby.so.2.3(sigsegv+0x5a) [0x7f2b1bda1dfa] signal.c:890 /lib64/libpthread.so.0 [0x7f2b1ba4f7e0] /lib64/libc.so.6(__getmntent_r+0x1b) [0x7f2b1aec7ceb] /opt/sensu/embedded/lib/libffi.so.6(ffi_call_unix64+0x4c) [0x7f2b1431bcc4] /opt/sensu/embedded/lib/libffi.so.6(ffi_call+0x1fa) [0x7f2b1431ba2a] /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so(rbffi_CallFunction+0xfd) [0x7f2b145316bd] Call.c:430 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so(custom_trampoline+0x16) [0x7f2b1452f256] MethodHandle.c:232 /opt/sensu/embedded/lib/libruby.so.2.3(vm_call_cfunc+0x101) [0x7f2b1be146b1] vm_insnhelper.c:1638 /opt/sensu/embedded/lib/libruby.so.2.3(vm_call_method+0xab) [0x7f2b1be23c4b] vm_insnhelper.c:2175 /opt/sensu/embedded/lib/libruby.so.2.3(vm_exec_core+0x140b) [0x7f2b1be1c12b] insns.def:995 /opt/sensu/embedded/lib/libruby.so.2.3(vm_exec+0x7b) [0x7f2b1be21e7b] vm.c:1645 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_exec_internal+0x13e) [0x7f2b1bcd666e] eval.c:244 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_exec_node+0x1d) [0x7f2b1bcd66bd] eval.c:309 /opt/sensu/embedded/lib/libruby.so.2.3(ruby_run_node+0x1e) [0x7f2b1bcd9ace] eval.c:301 /opt/sensu/embedded/bin/ruby(main+0x4b) [0x4008db] main.c:36

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

00400000-00401000 r-xp 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 00600000-00601000 rw-p 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 018c0000-01d82000 rw-p 00000000 00:00 0 [heap] 7f2b134cb000-7f2b136a1000 r--s 00000000 fd:00 1178152 /lib64/libc-2.12.so 7f2b136a1000-7f2b14100000 r--s 00000000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f2b14100000-7f2b14116000 r-xp 00000000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f2b14116000-7f2b14315000 ---p 00016000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f2b14315000-7f2b14316000 rw-p 00015000 fd:00 1178115 /lib64/libgcc_s-4.4.7-20120601.so.1 7f2b14316000-7f2b1431d000 r-xp 00000000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f2b1431d000-7f2b1451d000 ---p 00007000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f2b1451d000-7f2b1451e000 rw-p 00007000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f2b1451e000-7f2b1453f000 r-xp 00000000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f2b1453f000-7f2b1473e000 ---p 00021000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f2b1473e000-7f2b14740000 rw-p 00020000 fd:00 657256 /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi_c.so 7f2b14740000-7f2b14747000 r-xp 00000000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f2b14747000-7f2b14947000 ---p 00007000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f2b14947000-7f2b14948000 rw-p 00007000 fd:00 655962 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/stringio.so 7f2b14948000-7f2b1494a000 r-xp 00000000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f2b1494a000-7f2b14b4a000 ---p 00002000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f2b14b4a000-7f2b14b4b000 rw-p 00002000 fd:00 655922 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so 7f2b14b4b000-7f2b14b4d000 r-xp 00000000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f2b14b4d000-7f2b14d4c000 ---p 00002000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f2b14d4c000-7f2b14d4d000 rw-p 00001000 fd:00 655879 /opt/sensu/embedded/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so 7f2b14d4d000-7f2b1abe2000 r--p 00000000 fd:00 1071359 /usr/lib/locale/locale-archive 7f2b1abe2000-7f2b1abe4000 r-xp 00000000 fd:00 1180779 /lib64/libfreebl3.so 7f2b1abe4000-7f2b1ade3000 ---p 00002000 fd:00 1180779 /lib64/libfreebl3.so 7f2b1ade3000-7f2b1ade4000 r--p 00001000 fd:00 1180779 /lib64/libfreebl3.so 7f2b1ade4000-7f2b1ade5000 rw-p 00002000 fd:00 1180779 /lib64/libfreebl3.so 7f2b1ade5000-7f2b1af6f000 r-xp 00000000 fd:00 1178152 /lib64/libc-2.12.so 7f2b1af6f000-7f2b1b16f000 ---p 0018a000 fd:00 1178152 /lib64/libc-2.12.so 7f2b1b16f000-7f2b1b173000 r--p 0018a000 fd:00 1178152 /lib64/libc-2.12.so 7f2b1b173000-7f2b1b175000 rw-p 0018e000 fd:00 1178152 /lib64/libc-2.12.so 7f2b1b175000-7f2b1b179000 rw-p 00000000 00:00 0 7f2b1b179000-7f2b1b1fc000 r-xp 00000000 fd:00 1184663 /lib64/libm-2.12.so 7f2b1b1fc000-7f2b1b3fb000 ---p 00083000 fd:00 1184663 /lib64/libm-2.12.so 7f2b1b3fb000-7f2b1b3fc000 r--p 00082000 fd:00 1184663 /lib64/libm-2.12.so 7f2b1b3fc000-7f2b1b3fd000 rw-p 00083000 fd:00 1184663 /lib64/libm-2.12.so 7f2b1b3fd000-7f2b1b404000 r-xp 00000000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f2b1b404000-7f2b1b604000 ---p 00007000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f2b1b604000-7f2b1b605000 r--p 00007000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f2b1b605000-7f2b1b606000 rw-p 00008000 fd:00 1184653 /lib64/libcrypt-2.12.so 7f2b1b606000-7f2b1b634000 rw-p 00000000 00:00 0 7f2b1b634000-7f2b1b636000 r-xp 00000000 fd:00 1184659 /lib64/libdl-2.12.so 7f2b1b636000-7f2b1b836000 ---p 00002000 fd:00 1184659 /lib64/libdl-2.12.so 7f2b1b836000-7f2b1b837000 r--p 00002000 fd:00 1184659 /lib64/libdl-2.12.so 7f2b1b837000-7f2b1b838000 rw-p 00003000 fd:00 1184659 /lib64/libdl-2.12.so 7f2b1b838000-7f2b1b83f000 r-xp 00000000 fd:00 1184744 /lib64/librt-2.12.so 7f2b1b83f000-7f2b1ba3e000 ---p 00007000 fd:00 1184744 /lib64/librt-2.12.so 7f2b1ba3e000-7f2b1ba3f000 r--p 00006000 fd:00 1184744 /lib64/librt-2.12.so 7f2b1ba3f000-7f2b1ba40000 rw-p 00007000 fd:00 1184744 /lib64/librt-2.12.so 7f2b1ba40000-7f2b1ba57000 r-xp 00000000 fd:00 1184694 /lib64/libpthread-2.12.so 7f2b1ba57000-7f2b1bc57000 ---p 00017000 fd:00 1184694 /lib64/libpthread-2.12.so 7f2b1bc57000-7f2b1bc58000 r--p 00017000 fd:00 1184694 /lib64/libpthread-2.12.so 7f2b1bc58000-7f2b1bc59000 rw-p 00018000 fd:00 1184694 /lib64/libpthread-2.12.so 7f2b1bc59000-7f2b1bc5d000 rw-p 00000000 00:00 0 7f2b1bc5d000-7f2b1bf07000 r-xp 00000000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f2b1bf07000-7f2b1c107000 ---p 002aa000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f2b1c107000-7f2b1c10f000 rw-p 002aa000 fd:00 531155 /opt/sensu/embedded/lib/libruby.so.2.3.0 7f2b1c10f000-7f2b1c120000 rw-p 00000000 00:00 0 7f2b1c120000-7f2b1c140000 r-xp 00000000 fd:00 1178792 /lib64/ld-2.12.so 7f2b1c1fa000-7f2b1c1fb000 rw-p 00000000 00:00 0 7f2b1c1fb000-7f2b1c205000 r--s 00000000 fd:00 531142 /opt/sensu/embedded/lib/libffi.so.6.0.4 7f2b1c205000-7f2b1c228000 r--s 00000000 fd:00 1184694 /lib64/libpthread-2.12.so 7f2b1c228000-7f2b1c32f000 rw-p 00000000 00:00 0 7f2b1c32f000-7f2b1c336000 r--s 00000000 fd:00 1184706 /usr/lib64/gconv/gconv-modules.cache 7f2b1c336000-7f2b1c339000 r--s 00000000 fd:00 530950 /opt/sensu/embedded/bin/ruby 7f2b1c339000-7f2b1c33a000 r-xp 00000000 00:00 0 7f2b1c33a000-7f2b1c33b000 ---p 00000000 00:00 0 7f2b1c33b000-7f2b1c33f000 rw-p 00000000 00:00 0 7f2b1c33f000-7f2b1c341000 r--p 0001f000 fd:00 1178792 /lib64/ld-2.12.so 7f2b1c341000-7f2b1c342000 rw-p 00021000 fd:00 1178792 /lib64/ld-2.12.so 7f2b1c342000-7f2b1c343000 rw-p 00000000 00:00 0 7ffd34245000-7ffd36a44000 rw-p 00000000 00:00 0 [stack] 7ffd36b32000-7ffd36b33000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

[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

Your Environment

cwjohnston commented 7 years ago

@bootswithdefer thanks for reporting this. We intend to ship Ruby 2.4.1 in the pending Sensu 0.29 release, which may help with the condition you're encountering here.

bootswithdefer commented 7 years ago

Are there nightly/prerelease builds I can test?

cwjohnston commented 7 years ago

@bootswithdefer we are preparing to build the first 0.29 packages for testing via our unstable channel. Hoping to have them available sometime today.

cwjohnston commented 7 years ago

@bootswithdefer 0.29.0-1 packages for Linux platforms are now available via the unstable channel

bootswithdefer commented 7 years ago

It still crashes on my test program. However I did some extra research and if I update sys-filesystem to latest (1.1.7) it doesn't crash but returns an error message instead. I will pursue that error on the Red Hat side and also submit a PR to the sensu-plugins-disk-checks repo to get sys-filesystem updated so at least it doesn't cause crashes.

/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sys-filesystem-1.1.7/lib/sys/unix/sys/filesystem.rb:301:in `mounts': Permission denied - setmntent (Errno::EACCES)
    from ./fs.rb:6:in `<main>'

On a side note, when restarting it it prints some extra messages:

$ sudo /etc/init.d/sensu-client restart
Ignoring nokogiri-1.7.1 because its extensions are not built.  Try: gem pristine nokogiri --version 1.7.1
Ignoring unf_ext-0.0.7.2 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.2
configuration is valid
Stopping sensu-client                                      [  OK  ]
Starting sensu-clientIgnoring nokogiri-1.7.1 because its extensions are not built.  Try: gem pristine nokogiri --version 1.7.1
Ignoring unf_ext-0.0.7.2 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.2
                                                           [  OK  ]
portertech commented 7 years ago

As it looks like sys-filesystem 1.1.7 handles and reports the error successfully, I am closing this issue as its not related to sensu-omnibus.