Hi, When running the Rails tests, one of the tests failed with the following trace: ruby:~/rails/actionpack# ruby test/controller/render_test.rb --name / test_should_render_html_formatted_partial_with_rjs_and_js_format/ Loaded suite test/controller/render_test Started -- control frame ---------- c:0045 p:0009 s:0172 b:0170 l:0019ac d:000169 BLOCK test/controller/ render_test.rb:157 c:0044 p:---- s:0171 b:0171 l:000170 d:000170 FINISH :[]= c:0043 p:---- s:0169 b:0169 l:000168 d:000168 CFUNC :call c:0042 p:0060 s:0166 b:0166 l:00219c d:000165 BLOCK /root/rails/ actionpack/lib/action_controller/mime_responds.rb:131 c:0041 p:---- s:0167 b:0167 l:000166 d:000166 FINISH :any? c:0040 p:---- s:0165 b:0165 l:000164 d:000164 CFUNC :call c:0039 p:0063 s:0162 b:0162 l:000156 d:000161 BLOCK /root/rails/ actionpack/lib/action_controller/mime_responds.rb:156 c:0038 p:---- s:0162 b:0162 l:000161 d:000161 FINISH :to_s c:0037 p:---- s:0160 b:0160 l:000159 d:000159 CFUNC :each c:0036 p:0008 s:0157 b:0157 l:000156 d:000156 METHOD /root/rails/ actionpack/lib/action_controller/mime_responds.rb:150 c:0035 p:0091 s:0153 b:0153 l:000152 d:000152 METHOD /root/rails/ actionpack/lib/action_controller/mime_responds.rb:107 c:0034 p:0007 s:0147 b:0147 l:0019ac d:0019ac METHOD test/controller/ render_test.rb:155 c:0033 p:0042 s:0144 b:0144 l:000143 d:000143 METHOD /root/rails/ actionpack/lib/action_controller/base.rb:1158 c:0032 p:0039 s:0141 b:0141 l:000140 d:000140 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:697 c:0031 p:0024 s:0134 b:0134 l:000133 d:000133 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:689 c:0030 p:0239 s:0131 b:0131 l:000130 d:000130 METHOD /root/rails/ actionpack/lib/action_controller/benchmarking.rb:66 c:0029 p:0007 s:0126 b:0126 l:000125 d:000125 METHOD /root/rails/ actionpack/lib/action_controller/rescue.rb:199 c:0028 p:0069 s:0122 b:0122 l:000121 d:000121 METHOD /root/rails/ actionpack/lib/action_controller/base.rb:524 c:0027 p:0023 s:0115 b:0115 l:000114 d:000114 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:685 c:0026 p:0029 s:0108 b:0108 l:000107 d:000107 METHOD /root/rails/ actionpack/lib/action_controller/session_management.rb:123 c:0025 p:0010 s:0101 b:0100 l:000099 d:000099 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:15 c:0024 p:0240 s:0096 b:0096 l:000095 d:000095 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:393 c:0023 p:0050 s:0089 b:0089 l:000088 d:000088 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:369 c:0022 p:---- s:0082 b:0082 l:000081 d:000081 FINISH :[]= c:0021 p:---- s:0080 b:0080 l:000079 d:000079 CFUNC :send! c:0020 p:0065 s:0072 b:0071 l:000070 d:000070 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:399 c:0019 p:0011 s:0063 b:0063 l:000062 d:000062 METHOD test/controller/ render_test.rb:440 c:0018 p:0039 s:0060 b:0060 l:000059 d:000059 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testcase.rb:76 c:0017 p:0015 s:0055 b:0055 l:000049 d:000054 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:34 c:0016 p:---- s:0055 b:0055 l:000054 d:000054 FINISH :proc c:0015 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC :each c:0014 p:0026 s:0050 b:0050 l:000049 d:000049 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:33 c:0013 p:0015 s:0045 b:0045 l:000039 d:000044 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:34 c:0012 p:---- s:0045 b:0045 l:000044 d:000044 FINISH :% c:0011 p:---- s:0043 b:0043 l:000042 d:000042 CFUNC :each c:0010 p:0026 s:0040 b:0040 l:000039 d:000039 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:33 c:0009 p:0128 s:0035 b:0035 l:002404 d:002404 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/testrunnermediator.rb:46 c:0008 p:0008 s:0026 b:0026 l:000025 d:000025 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/console/testrunner.rb:67 c:0007 p:0023 s:0023 b:0023 l:000022 d:000022 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/console/testrunner.rb:41 c:0006 p:0026 s:0020 b:0020 l:000019 d:000019 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/testrunnerutilities.rb:29 c:0005 p:0051 s:0015 b:0015 l:000014 d:000014 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/autorunner.rb:216 c:0004 p:0070 s:0011 b:0011 l:000010 d:000010 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/autorunner.rb:12 c:0003 p:0041 s:0003 b:0002 l:002694 d:000001 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit.rb:278 c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------ --------------------------- test/controller/render_test.rb:157: -- control frame ---------- c:0045 p:0009 s:0172 b:0170 l:0019ac d:000169 BLOCK test/controller/ render_test.rb:157 c:0044 p:---- s:0171 b:0171 l:000170 d:000170 FINISH :[]= c:0043 p:---- s:0169 b:0169 l:000168 d:000168 CFUNC :call c:0042 p:0060 s:0166 b:0166 l:00219c d:000165 BLOCK /root/rails/ actionpack/lib/action_controller/mime_responds.rb:131 c:0041 p:---- s:0167 b:0167 l:000166 d:000166 FINISH :any? c:0040 p:---- s:0165 b:0165 l:000164 d:000164 CFUNC :call c:0039 p:0063 s:0162 b:0162 l:000156 d:000161 BLOCK /root/rails/ actionpack/lib/action_controller/mime_responds.rb:156 c:0038 p:---- s:0162 b:0162 l:000161 d:000161 FINISH :to_s c:0037 p:---- s:0160 b:0160 l:000159 d:000159 CFUNC :each c:0036 p:0008 s:0157 b:0157 l:000156 d:000156 METHOD /root/rails/ actionpack/lib/action_controller/mime_responds.rb:150 c:0035 p:0091 s:0153 b:0153 l:000152 d:000152 METHOD /root/rails/ actionpack/lib/action_controller/mime_responds.rb:107 c:0034 p:0007 s:0147 b:0147 l:0019ac d:0019ac METHOD test/controller/ render_test.rb:155 c:0033 p:0042 s:0144 b:0144 l:000143 d:000143 METHOD /root/rails/ actionpack/lib/action_controller/base.rb:1158 c:0032 p:0039 s:0141 b:0141 l:000140 d:000140 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:697 c:0031 p:0024 s:0134 b:0134 l:000133 d:000133 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:689 c:0030 p:0239 s:0131 b:0131 l:000130 d:000130 METHOD /root/rails/ actionpack/lib/action_controller/benchmarking.rb:66 c:0029 p:0007 s:0126 b:0126 l:000125 d:000125 METHOD /root/rails/ actionpack/lib/action_controller/rescue.rb:199 c:0028 p:0069 s:0122 b:0122 l:000121 d:000121 METHOD /root/rails/ actionpack/lib/action_controller/base.rb:524 c:0027 p:0023 s:0115 b:0115 l:000114 d:000114 METHOD /root/rails/ actionpack/lib/action_controller/filters.rb:685 c:0026 p:0029 s:0108 b:0108 l:000107 d:000107 METHOD /root/rails/ actionpack/lib/action_controller/session_management.rb:123 c:0025 p:0010 s:0101 b:0100 l:000099 d:000099 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:15 c:0024 p:0240 s:0096 b:0096 l:000095 d:000095 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:393 c:0023 p:0050 s:0089 b:0089 l:000088 d:000088 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:369 c:0022 p:---- s:0082 b:0082 l:000081 d:000081 FINISH :[]= c:0021 p:---- s:0080 b:0080 l:000079 d:000079 CFUNC :send! c:0020 p:0065 s:0072 b:0071 l:000070 d:000070 METHOD /root/rails/ actionpack/lib/action_controller/test_process.rb:399 c:0019 p:0011 s:0063 b:0063 l:000062 d:000062 METHOD test/controller/ render_test.rb:440 c:0018 p:0039 s:0060 b:0060 l:000059 d:000059 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testcase.rb:76 c:0017 p:0015 s:0055 b:0055 l:000049 d:000054 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:34 c:0016 p:---- s:0055 b:0055 l:000054 d:000054 FINISH :proc c:0015 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC :each c:0014 p:0026 s:0050 b:0050 l:000049 d:000049 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:33 c:0013 p:0015 s:0045 b:0045 l:000039 d:000044 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:34 c:0012 p:---- s:0045 b:0045 l:000044 d:000044 FINISH :% c:0011 p:---- s:0043 b:0043 l:000042 d:000042 CFUNC :each c:0010 p:0026 s:0040 b:0040 l:000039 d:000039 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/testsuite.rb:33 c:0009 p:0128 s:0035 b:0035 l:002404 d:002404 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/testrunnermediator.rb:46 c:0008 p:0008 s:0026 b:0026 l:000025 d:000025 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/console/testrunner.rb:67 c:0007 p:0023 s:0023 b:0023 l:000022 d:000022 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/console/testrunner.rb:41 c:0006 p:0026 s:0020 b:0020 l:000019 d:000019 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/ui/testrunnerutilities.rb:29 c:0005 p:0051 s:0015 b:0015 l:000014 d:000014 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/autorunner.rb:216 c:0004 p:0070 s:0011 b:0011 l:000010 d:000010 METHOD /usr/local/lib/ ruby/1.9.0/test/unit/autorunner.rb:12 c:0003 p:0041 s:0003 b:0002 l:002694 d:000001 BLOCK /usr/local/lib/ ruby/1.9.0/test/unit.rb:278 c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------ --------------------------- DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 131:in `call'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 131:in `block in custom'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 156:in `call'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 156:in `block in respond'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 150:in `each'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 150:in `respond'" DBG> : "/root/rails/actionpack/lib/action_controller/mime_responds.rb: 107:in `respond_to'" DBG> : "test/controller/render_test.rb:155:in `respond_to_partial_as_rjs'" DBG> : "/root/rails/actionpack/lib/action_controller/base.rb:1158:in `perform_action'" DBG> : "/root/rails/actionpack/lib/action_controller/filters.rb:697:in `call_filters'" DBG> : "/root/rails/actionpack/lib/action_controller/filters.rb:689:in `perform_action_with_filters'" DBG> : "/root/rails/actionpack/lib/action_controller/benchmarking.rb: 66:in `perform_action_with_benchmark'" DBG> : "/root/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_with_rescue'" DBG> : "/root/rails/actionpack/lib/action_controller/base.rb:524:in `process'" DBG> : "/root/rails/actionpack/lib/action_controller/filters.rb:685:in `process_with_filters'" DBG> : "/root/rails/actionpack/lib/action_controller/ session_management.rb:123:in `process_with_session_management_support'" DBG> : "/root/rails/actionpack/lib/action_controller/test_process.rb: 15:in `process_with_test'" DBG> : "/root/rails/actionpack/lib/action_controller/test_process.rb: 393:in `process'" DBG> : "/root/rails/actionpack/lib/action_controller/test_process.rb: 369:in `get'" DBG> : "/root/rails/actionpack/lib/action_controller/test_process.rb: 399:in `send!'" DBG> : "/root/rails/actionpack/lib/action_controller/test_process.rb: 399:in `xml_http_request'" DBG> : "test/controller/render_test.rb:440:in `test_should_render_html_formatted_partial_with_rjs_and_js_format'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testcase.rb:76:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:34:in `block in run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in `each'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:34:in `block in run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in `each'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/ui/testrunnermediator.rb: 46:in `run_suite'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb: 67:in `start_mediator'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb: 41:in `start'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/ui/testrunnerutilities.rb: 29:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/autorunner.rb:216:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit/autorunner.rb:12:in `run'" DBG> : "/usr/local/lib/ruby/1.9.0/test/unit.rb:278:in `block in <top (required)>'" -- backtrace of native function call (Use addr2line) -- 0x80ee535 0x810ce63 0x810cf2b 0x80e543c 0x80e54e1 0x80e57c1 0x80ecb39 0x80e86ae 0x80ebf74 0x80ec697 0x80ec97e 0x8060824 0x80e4abe 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x80ec97e 0x8060824 0x80e4abe 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x805b1fe 0x80f623f 0x8059cd1 0x80f7375 0x80ecd73 0x80e86ae 0x80ebf74 0x80ed37a 0x805b6b8 0x805b8c5 0x80e4abe 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x805b1fe 0x80f623f 0x8059cd1 0x80f7375 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x805b1fe 0x80f623f 0x8059cd1 0x80f7375 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x80ec97e 0x806068a 0x805ae0a 0x805e2cf 0x805e3cc 0x805e809 0x805ea08 0x8058671 0xb7d5eea8 0x8058581 ------------------------------------------------------- [BUG] invalid dfp ruby 1.9.0 (2007-12-25) [i686-linux] I've tried to create a limited test case that reproduces this bug. It does not trigger the exact same bug, because it segfaults, but i suspect it is triggered by the same issue. The test code is the following: ------------------------------------------------------- #!/usr/bin/env ruby class Controller def respond_to(&block) responder = Responder.new block.call(responder) responder.respond end def test_for_bug respond_to do |format| format.js do puts "in test" render do |obj| puts obj end end end end def render(&block) puts "in render" end end class Responder def method_missing(symbol, &block) @response = Proc.new do puts 'in method missing' block.call end end def respond @response.call end end t = Controller.new t.test_for_bug ------------------------------------------------------- When this is run, it fails with the following trace: ruby:~# ruby bugtest.rb in method missing in test bugtest.rb:15: -- control frame ---------- c:0012 p:0017 s:0026 b:0025 l:001afc d:000024 BLOCK bugtest.rb:15 c:0011 p:---- s:0026 b:0026 l:000025 d:000025 FINISH :write c:0010 p:---- s:0024 b:0024 l:000023 d:000023 CFUNC :call c:0009 p:0019 s:0021 b:0021 l:001be4 d:000020 BLOCK bugtest.rb:33 c:0008 p:---- s:0022 b:0022 l:000021 d:000021 FINISH :remove_const c:0007 p:---- s:0020 b:0020 l:000019 d:000019 CFUNC :call c:0006 p:0008 s:0017 b:0017 l:000016 d:000016 METHOD bugtest.rb:38 c:0005 p:0034 s:0014 b:0014 l:000013 d:000013 METHOD bugtest.rb:8 c:0004 p:0007 s:0009 b:0009 l:001afc d:001afc METHOD bugtest.rb:12 c:0003 p:0037 s:0006 b:0006 l:000005 d:000005 TOP bugtest.rb:44 c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------ --------------------------- DBG> : "bugtest.rb:33:in `call'" DBG> : "bugtest.rb:33:in `block in method_missing'" DBG> : "bugtest.rb:38:in `call'" DBG> : "bugtest.rb:38:in `respond'" DBG> : "bugtest.rb:8:in `respond_to'" DBG> : "bugtest.rb:12:in `test_for_bug'" DBG> : "bugtest.rb:44:in `<main>'" -- backtrace of native function call (Use addr2line) -- 0x80ee535 0x810ce63 0x810cf2b 0x80be4e0 0xb7fcc440 0x80e5267 0x80e54e1 0x80e57c1 0x80ecb39 0x80e86ae 0x80ebf74 0x80ec697 0x80ec97e 0x8060824 0x80e4abe 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec697 0x80ec97e 0x8060824 0x80e4abe 0x80ecd73 0x80e86ae 0x80ebf74 0x80ec2ab 0x805ab19 0x805ea00 0x8058671 0xb7e35ea8 0x8058581 ------------------------------------------------------- [BUG] Segmentation fault ruby 1.9.0 (2007-12-25) [i686-linux] Aborted ruby:~# I know this a lot of information, but hopefully someone with more insight in this can solve this issue. -- Regards, Dirkjan Bussink