Skip to content
This repository was archived by the owner on Jun 23, 2023. It is now read-only.

Segfault while using 0.6.2 with pygments.rb 0.2.13 #3

Open
postmodern opened this issue Jun 30, 2012 · 1 comment
Open

Segfault while using 0.6.2 with pygments.rb 0.2.13 #3

postmodern opened this issue Jun 30, 2012 · 1 comment

Comments

@postmodern
Copy link

/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/pyobject.rb:82: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0037 p:---- s:0162 b:0162 l:000161 d:000161 CFUNC  :PyObject_HasAttrString
c:0036 p:0024 s:0157 b:0157 l:000156 d:000156 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/pyobject.rb:82
c:0035 p:0181 s:0153 b:0153 l:000152 d:000152 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/rubypyproxy.rb:165
c:0034 p:---- s:0139 b:0139 l:000138 d:000138 FINISH
c:0033 p:0044 s:0137 b:0137 l:000136 d:000136 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/pygments.rb-0.2.13/lib/pygments/ffi.rb:120
c:0032 p:0182 s:0132 b:0132 l:000131 d:000131 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/pygments.rb-0.2.13/lib/pygments/ffi.rb:95
c:0031 p:0048 s:0121 b:0120 l:000119 d:000119 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/tags/highlight.rb:54
c:0030 p:0043 s:0114 b:0114 l:000113 d:000113 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/tags/highlight.rb:44
c:0029 p:0029 s:0110 b:0110 l:000100 d:000109 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:94
c:0028 p:---- s:0106 b:0106 l:000105 d:000105 FINISH
c:0027 p:---- s:0104 b:0104 l:000103 d:000103 CFUNC  :collect
c:0026 p:0012 s:0101 b:0101 l:000100 d:000100 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:92
c:0025 p:0016 s:0096 b:0096 l:000095 d:000095 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:82
c:0024 p:0417 s:0092 b:0092 l:000091 d:000091 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/template.rb:124
c:0023 p:0124 s:0085 b:0083 l:000082 d:000082 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/convertible.rb:79
c:0022 p:0053 s:0074 b:0074 l:000073 d:000073 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/page.rb:100
c:0021 p:0021 s:0068 b:0068 l:000059 d:000067 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:204
c:0020 p:---- s:0065 b:0065 l:000064 d:000064 FINISH
c:0019 p:---- s:0063 b:0063 l:000062 d:000062 CFUNC  :each
c:0018 p:0044 s:0060 b:0060 l:000059 d:000059 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:203
c:0017 p:0041 s:0055 b:0055 l:000054 d:000054 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:41
c:0016 p:0065 s:0052 b:0052 l:000f40 d:000051 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/bin/jekyll:253
c:0015 p:---- s:0048 b:0048 l:000047 d:000047 FINISH
c:0014 p:---- s:0046 b:0046 l:000045 d:000045 CFUNC  :call
c:0013 p:0019 s:0042 b:0042 l:000032 d:000041 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:580
c:0012 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0011 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC  :each
c:0010 p:0013 s:0033 b:0033 l:000032 d:000032 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:579
c:0009 p:0012 s:0029 b:0029 l:0001a0 d:000028 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:334
c:0008 p:---- s:0026 b:0026 l:000025 d:000025 FINISH
c:0007 p:---- s:0024 b:0024 l:000023 d:000023 CFUNC  :call
c:0006 p:0032 s:0020 b:0020 l:000019 d:000019 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:224
c:0005 p:0085 s:0017 b:0017 l:000016 d:000016 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:102
c:0004 p:0042 s:0012 b:0012 l:000011 d:000011 METHOD /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:150
c:0003 p:0013 s:0007 b:0007 l:001008 d:000006 BLOCK  /home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:45
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP   

-- Ruby level backtrace information ----------------------------------------
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:45:in `block in start'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:150:in `run_loop'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:102:in `run_once'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:224:in `notify'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher/scanner.rb:224:in `call'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:334:in `block in initialize'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:579:in `notify_observers'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:579:in `each'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:580:in `block in notify_observers'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/directory_watcher-1.4.1/lib/directory_watcher.rb:580:in `call'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/bin/jekyll:253:in `block in '
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:41:in `process'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:203:in `render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:203:in `each'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/site.rb:204:in `block in render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/page.rb:100:in `render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/convertible.rb:79:in `do_layout'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/tags/highlight.rb:44:in `render'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/tags/highlight.rb:54:in `render_pygments'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/pygments.rb-0.2.13/lib/pygments/ffi.rb:95:in `highlight'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/pygments.rb-0.2.13/lib/pygments/ffi.rb:120:in `formatter_for'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/rubypyproxy.rb:165:in `method_missing'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/pyobject.rb:82:in `hasAttr'
/home/hal/.rvm/gems/ruby-1.9.3-p194/gems/rubypython-0.6.2/lib/rubypython/pyobject.rb:82:in `PyObject_HasAttrString'

-- C level backtrace information -------------------------------------------
Segmentation fault (core dumped)
@raineszm
Copy link
Owner

I've been working on this a bit in the little free time I have. The most likely culprit is a mistake in the reference counting of Python pointer, which also means the actual cause is quite difficult to track down.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants