Backport #3329
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
=begin I'm using the Nokogiri gem to parse HTML and XML, and to apply XSLT. Tests went ok in irb but when running the method I get the following: jdrowell@falcon:~/work/GEDi$ ruby crawler.rb crawler.rb:18: [BUG] Segmentation fault ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux] -- control frame ---------- c:0010 p:---- s:0033 b:0033 l:000032 d:000032 CFUNC :transform c:0009 p:0066 s:0029 b:0029 l:000028 d:000028 METHOD crawler.rb:18 c:0008 p:0037 s:0022 b:0022 l:000013 d:000021 BLOCK crawler.rb:26 c:0007 p:---- s:0019 b:0019 l:000018 d:000018 FINISH c:0006 p:---- s:0017 b:0017 l:000016 d:000016 CFUNC :each c:0005 p:0032 s:0014 b:0014 l:000013 d:000013 METHOD crawler.rb:25 c:0004 p:0011 s:0010 b:0010 l:000009 d:000009 METHOD crawler.rb:31 c:0003 p:0063 s:0007 b:0007 l:00057c d:002338 EVAL crawler.rb:36 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:00057c d:00057c TOP --------------------------- -- Ruby level backtrace information----------------------------------------- crawler.rb:18:in `transform' crawler.rb:18:in `prefeitura_noticia' crawler.rb:26:in `block in prefeitura_noticias' crawler.rb:25:in `each' crawler.rb:25:in `prefeitura_noticias' crawler.rb:31:in `run' crawler.rb:36:in `<main>' -- C level backtrace information ------------------------------------------- 0x81239f7 ruby(rb_vm_bugreport+0x47) [0x81239f7] 0x8150363 ruby() [0x8150363] 0x81503d8 ruby(rb_bug+0x28) [0x81503d8] 0x80d33c8 ruby() [0x80d33c8] 0x276410 [0x276410] 0x2ea1ff /usr/lib/libxslt.so.1(xsltApplyStylesheet+0x2f) [0x2ea1ff] 0xc3cac3 /home/jdrowell/.rvm/gems/ruby-1.9.1-p378/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.so(+0xaac3) [0xc3cac3] 0x811345d ruby() [0x811345d] 0x8113790 ruby() [0x8113790] 0x811e8ed ruby() [0x811e8ed] 0x811856d ruby() [0x811856d] 0x811b3c6 ruby() [0x811b3c6] 0x812077a ruby(rb_yield+0x1aa) [0x812077a] 0x812e191 ruby(rb_ary_each+0x41) [0x812e191] 0x8113790 ruby() [0x8113790] 0x811e8ed ruby() [0x811e8ed] 0x811856d ruby() [0x811856d] 0x811b3c6 ruby() [0x811b3c6] 0x811b5f9 ruby(rb_iseq_eval_main+0x99) [0x811b5f9] 0x805d64f ruby(ruby_exec_node+0x9f) [0x805d64f] 0x805e9e6 ruby(ruby_run_node+0x46) [0x805e9e6] 0x805c09a ruby(main+0x5a) [0x805c09a] 0x126bd6 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x126bd6] 0x805bfa1 ruby() [0x805bfa1] Please advise if any additional information would be useful. I can provide both the HTML and the XSLT file that caused the segfault. I'll continue to work on the issue and will leave more comments later. =end