I reference Sigar in my code, like this
sigar = Sigar.new
fs_list = sigar.file_system_list
It occur error when sigar call file_system_list method,
the error decription :
/var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:28: [BUG] rb_gc_mark(): unknown data type 0x10(0x1ca9920) non object
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0018 p:---- s:0075 b:0075 l:000074 d:000074 CFUNC :file_system_list
c:0017 p:0029 s:0072 b:0072 l:000071 d:000071 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:28
c:0016 p:0017 s:0064 b:0062 l:000061 d:000061 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:14
c:0015 p:0063 s:0056 b:0056 l:000055 d:000055 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat.rb:60
c:0014 p:0093 s:0046 b:0044 l:000043 d:000043 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat.rb:26
c:0013 p:0062 s:0041 b:0041 l:000040 d:000040 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat_processor.rb:32
c:0012 p:0009 s:0037 b:0037 l:000a10 d:000036 BLOCK /var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat_processor.rb:19
c:0011 p:---- s:0035 b:0035 l:000034 d:000034 FINISH
c:0010 p:---- s:0033 b:0033 l:000032 d:000032 CFUNC :call
c:0009 p:0025 s:0030 b:0030 l:000029 d:000029 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/em/timers.rb:51
c:0008 p:---- s:0027 b:0027 l:000026 d:000026 FINISH
c:0007 p:---- s:0025 b:0025 l:000024 d:000024 CFUNC :call
c:0006 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :run_machine
c:0005 p:0248 s:0020 b:0020 l:000019 d:000019 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256
c:0004 p:0129 s:0013 b:0013 l:000db0 d:000db0 METHOD /var/vcap/packages/cloud_agent/lib/cloud_agent/runner.rb:45
c:0003 p:0206 s:0009 b:0009 l:002148 d:001660 EVAL /var/vcap/packages/cloud_agent/bin/cloud_agent:29
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:002148 d:002148 TOP
-- Ruby level backtrace information ----------------------------------------
/var/vcap/packages/cloud_agent/bin/cloud_agent:29:in `<main>'
/var/vcap/packages/cloud_agent/lib/cloud_agent/runner.rb:45:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/em/timers.rb:51:in `fire'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/em/timers.rb:51:in `call'
/var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat_processor.rb:19:in `block in enable'
/var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat_processor.rb:32:in `beat'
/var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat.rb:26:in `send_via_mbus'
/var/vcap/packages/cloud_agent/lib/cloud_agent/heartbeat.rb:60:in `heartbeat_payload'
/var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:14:in `get_usage'
/var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:28:in `fs_usage_safe'
/var/vcap/packages/cloud_agent/lib/cloud_agent/disk.rb:28:in `file_system_list'
-- C level backtrace information -------------------------------------------
*** glibc detected *** ruby: malloc(): smallbin double linked list corrupted: 0x0000000001b7c260 ***
sometimes it happen and sometimes not,the versiong of sigar is 0.7.2,ruby is 1.9.3p448, i could solve this probelm although i spent some days on this probem.
i will appericate you suggestion
I thik it is connected with Garbage Collector,I Close the GC(GC.disable),then i create a Sigar object,continuly, i open GC(GC.enable),it seem that it work well now,is there some wrong with the Sigar Gem package?