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/20748
Submitter: Pkgs Jenkins <email address hidden>
Branch: 9.0
Commit: 26f4870970baec3 c137a7516118817 ce57675bd8
Author: Alexei Sheplyakov <email address hidden>
Date: Tue May 17 12:54:23 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 14117a9ff5f6941 7692154f80)
Closes-Bug: #1572485
(cherry picked from commit f7c2f5a5b805770