Added custom ruby-sigar package to fix segfaults for real
rb_sigar_new does not initialize rb_sigar_t->logger, as a result ruby
runtime garbage collection routines sometimes fail either with a segfault
or an assertion failure:
$ cat test2.rb
require 'sigar'
100.times do
GC.disable
sigars = []
100.times do
sigar = Sigar.new
sigars << sigar
end
GC.enable
GC.start
sleep 2
end
$ ruby test2.rb
/home/asheplyakov/tmp/test2.rb:11: [BUG] rb_gc_mark(): unknown data type 0x0(0x7fbff5cc07c8) non object
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
[skipped]
Initialize rb_sigar_t->logger to avoid the problem.
Reviewed: https:/ /review. fuel-infra. org/20149
Submitter: Pkgs Jenkins <email address hidden>
Branch: master
Commit: f7c2f5a5b805770 14117a9ff5f6941 7692154f80
Author: Alexei Sheplyakov <email address hidden>
Date: Wed Apr 27 11:31:34 2016
Added custom ruby-sigar package to fix segfaults for real
rb_sigar_new does not initialize rb_sigar_t->logger, as a result ruby
runtime garbage collection routines sometimes fail either with a segfault
or an assertion failure:
$ cat test2.rb
require 'sigar'
100.times do
GC.disable
sigars = []
100.times do
sigar = Sigar.new
sigars << sigar
end
GC.enable
GC.start
sleep 2
end
$ ruby test2.rb ov/tmp/ test2.rb: 11: [BUG] rb_gc_mark(): unknown data type 0x0(0x7fbff5cc07c8) non object
/home/asheplyak
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
[skipped]
Initialize rb_sigar_t->logger to avoid the problem.
The original source has been downloaded from archive. ubuntu. com/ubuntu/ pool/universe/ r/ruby- sigar/ruby- sigar_0. 7.2.orig. tar.gz archive. ubuntu. com/ubuntu/ pool/universe/ r/ruby- sigar/ruby- sigar_0. 7.2-2.debian. tar.gz
http://
http://
Change-Id: I8a1e95fada16ac 7b8fa0ace0cfcf8 3a624935675
Closes-Bug: #1572485