Backport #6898
closedlambda周辺でSegmentation fault
Description
ソース削るとバグ再現しなくなったりするので
凄い読みにくくて申し訳ないですが、
添付ファイルのソースの1940行目辺りの
def bug_p のコードでSegmentation faultします
以下、エラーメッセージ
C:/xxx/bug/bug_trace.rb:1948: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
-- Control frame information -----------------------------------------------
c:0159 p:0028 s:0513 b:0513 l:0008b4 d:000512 LAMBDA C:/xxx/bug/bug_trace.rb:1948
c:0158 p:---- s:0509 b:0509 l:000508 d:000508 FINISH
c:0157 p:---- s:0507 b:0507 l:000506 d:000506 CFUNC :call
c:0156 p:0021 s:0503 b:0503 l:0008b4 d:000502 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0155 p:---- s:0499 b:0499 l:000498 d:000498 FINISH
c:0154 p:---- s:0497 b:0497 l:000496 d:000496 CFUNC :call
c:0153 p:0021 s:0493 b:0493 l:0008b4 d:000492 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0152 p:---- s:0489 b:0489 l:000488 d:000488 FINISH
c:0151 p:---- s:0487 b:0487 l:000486 d:000486 CFUNC :call
c:0150 p:0021 s:0483 b:0483 l:0008b4 d:000482 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0149 p:---- s:0479 b:0479 l:000478 d:000478 FINISH
c:0148 p:---- s:0477 b:0477 l:000476 d:000476 CFUNC :call
c:0147 p:0021 s:0473 b:0473 l:0008b4 d:000472 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0146 p:---- s:0469 b:0469 l:000468 d:000468 FINISH
c:0145 p:---- s:0467 b:0467 l:000466 d:000466 CFUNC :call
c:0144 p:0021 s:0463 b:0463 l:0008b4 d:000462 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0143 p:---- s:0459 b:0459 l:000458 d:000458 FINISH
c:0142 p:---- s:0457 b:0457 l:000456 d:000456 CFUNC :call
c:0141 p:0021 s:0453 b:0453 l:0008b4 d:000452 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0140 p:---- s:0449 b:0449 l:000448 d:000448 FINISH
c:0139 p:---- s:0447 b:0447 l:000446 d:000446 CFUNC :call
c:0138 p:0021 s:0443 b:0443 l:0008b4 d:000442 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0137 p:---- s:0439 b:0439 l:000438 d:000438 FINISH
c:0136 p:---- s:0437 b:0437 l:000436 d:000436 CFUNC :call
c:0135 p:0021 s:0433 b:0433 l:0008b4 d:000432 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0134 p:---- s:0429 b:0429 l:000428 d:000428 FINISH
c:0133 p:---- s:0427 b:0427 l:000426 d:000426 CFUNC :call
c:0132 p:0021 s:0423 b:0423 l:0008b4 d:000422 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0131 p:---- s:0419 b:0419 l:000418 d:000418 FINISH
c:0130 p:---- s:0417 b:0417 l:000416 d:000416 CFUNC :call
c:0129 p:0021 s:0413 b:0413 l:0008b4 d:000412 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0128 p:---- s:0409 b:0409 l:000408 d:000408 FINISH
c:0127 p:---- s:0407 b:0407 l:000406 d:000406 CFUNC :call
c:0126 p:0021 s:0403 b:0403 l:0008b4 d:000402 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0125 p:---- s:0399 b:0399 l:000398 d:000398 FINISH
c:0124 p:---- s:0397 b:0397 l:000396 d:000396 CFUNC :call
c:0123 p:0021 s:0393 b:0393 l:0008b4 d:000392 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0122 p:---- s:0389 b:0389 l:000388 d:000388 FINISH
c:0121 p:---- s:0387 b:0387 l:000386 d:000386 CFUNC :call
c:0120 p:0021 s:0383 b:0383 l:0008b4 d:000382 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0119 p:---- s:0379 b:0379 l:000378 d:000378 FINISH
c:0118 p:---- s:0377 b:0377 l:000376 d:000376 CFUNC :call
c:0117 p:0021 s:0373 b:0373 l:0008b4 d:000372 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0116 p:---- s:0369 b:0369 l:000368 d:000368 FINISH
c:0115 p:---- s:0367 b:0367 l:000366 d:000366 CFUNC :call
c:0114 p:0021 s:0363 b:0363 l:0008b4 d:000362 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0113 p:---- s:0359 b:0359 l:000358 d:000358 FINISH
c:0112 p:---- s:0357 b:0357 l:000356 d:000356 CFUNC :call
c:0111 p:0021 s:0353 b:0353 l:0008b4 d:000352 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0110 p:---- s:0349 b:0349 l:000348 d:000348 FINISH
c:0109 p:---- s:0347 b:0347 l:000346 d:000346 CFUNC :call
c:0108 p:0021 s:0343 b:0343 l:0008b4 d:000342 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0107 p:---- s:0339 b:0339 l:000338 d:000338 FINISH
c:0106 p:---- s:0337 b:0337 l:000336 d:000336 CFUNC :call
c:0105 p:0021 s:0333 b:0333 l:0008b4 d:000332 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0104 p:---- s:0329 b:0329 l:000328 d:000328 FINISH
c:0103 p:---- s:0327 b:0327 l:000326 d:000326 CFUNC :call
c:0102 p:0021 s:0323 b:0323 l:0008b4 d:000322 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0101 p:---- s:0319 b:0319 l:000318 d:000318 FINISH
c:0100 p:---- s:0317 b:0317 l:000316 d:000316 CFUNC :call
c:0099 p:0021 s:0313 b:0313 l:0008b4 d:000312 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0098 p:---- s:0309 b:0309 l:000308 d:000308 FINISH
c:0097 p:---- s:0307 b:0307 l:000306 d:000306 CFUNC :call
c:0096 p:0021 s:0303 b:0303 l:0008b4 d:000302 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0095 p:---- s:0299 b:0299 l:000298 d:000298 FINISH
c:0094 p:---- s:0297 b:0297 l:000296 d:000296 CFUNC :call
c:0093 p:0021 s:0293 b:0293 l:0008b4 d:000292 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0092 p:---- s:0289 b:0289 l:000288 d:000288 FINISH
c:0091 p:---- s:0287 b:0287 l:000286 d:000286 CFUNC :call
c:0090 p:0021 s:0283 b:0283 l:0008b4 d:000282 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0089 p:---- s:0279 b:0279 l:000278 d:000278 FINISH
c:0088 p:---- s:0277 b:0277 l:000276 d:000276 CFUNC :call
c:0087 p:0021 s:0273 b:0273 l:0008b4 d:000272 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0086 p:---- s:0269 b:0269 l:000268 d:000268 FINISH
c:0085 p:---- s:0267 b:0267 l:000266 d:000266 CFUNC :call
c:0084 p:0021 s:0263 b:0263 l:0008b4 d:000262 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0083 p:---- s:0259 b:0259 l:000258 d:000258 FINISH
c:0082 p:---- s:0257 b:0257 l:000256 d:000256 CFUNC :call
c:0081 p:0021 s:0253 b:0253 l:0008b4 d:000252 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0080 p:---- s:0249 b:0249 l:000248 d:000248 FINISH
c:0079 p:---- s:0247 b:0247 l:000246 d:000246 CFUNC :call
c:0078 p:0021 s:0243 b:0243 l:0008b4 d:000242 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0077 p:---- s:0239 b:0239 l:000238 d:000238 FINISH
c:0076 p:---- s:0237 b:0237 l:000236 d:000236 CFUNC :call
c:0075 p:0021 s:0233 b:0233 l:0008b4 d:000232 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0074 p:---- s:0229 b:0229 l:000228 d:000228 FINISH
c:0073 p:---- s:0227 b:0227 l:000226 d:000226 CFUNC :call
c:0072 p:0021 s:0223 b:0223 l:0008b4 d:000222 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0071 p:---- s:0219 b:0219 l:000218 d:000218 FINISH
c:0070 p:---- s:0217 b:0217 l:000216 d:000216 CFUNC :call
c:0069 p:0021 s:0213 b:0213 l:0008b4 d:000212 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0068 p:---- s:0209 b:0209 l:000208 d:000208 FINISH
c:0067 p:---- s:0207 b:0207 l:000206 d:000206 CFUNC :call
c:0066 p:0021 s:0203 b:0203 l:0008b4 d:000202 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0065 p:---- s:0199 b:0199 l:000198 d:000198 FINISH
c:0064 p:---- s:0197 b:0197 l:000196 d:000196 CFUNC :call
c:0063 p:0021 s:0193 b:0193 l:0008b4 d:000192 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0062 p:---- s:0189 b:0189 l:000188 d:000188 FINISH
c:0061 p:---- s:0187 b:0187 l:000186 d:000186 CFUNC :call
c:0060 p:0021 s:0183 b:0183 l:0008b4 d:000182 LAMBDA C:/xxx/bug/bug_trace.rb:1947
c:0059 p:---- s:0179 b:0179 l:000178 d:000178 FINISH
c:0058 p:---- s:0177 b:0177 l:000176 d:000176 CFUNC :call
c:0057 p:0014 s:0173 b:0173 l:000172 d:000172 METHOD C:/xxx/bug/bug_trace.rb:29
c:0056 p:---- s:0170 b:0170 l:000169 d:000169 FINISH
c:0055 p:---- s:0168 b:0168 l:0001e0 d:000167 IFUNC
c:0054 p:---- s:0166 b:0166 l:000165 d:000165 CFUNC :map
c:0053 p:0086 s:0163 b:0163 l:000154 d:000162 BLOCK C:/xxx/bug/bug_trace.rb:1893
c:0052 p:---- s:0160 b:0160 l:000159 d:000159 FINISH
c:0051 p:---- s:0158 b:0158 l:000157 d:000157 CFUNC :loop
c:0050 p:0011 s:0155 b:0155 l:000154 d:000154 METHOD C:/xxx/bug/bug_trace.rb:1864
c:0049 p:0153 s:0150 b:0150 l:0012c8 d:00163c BLOCK C:/xxx/bug/bug_trace.rb:2034
c:0048 p:0008 s:0144 b:0144 l:002000 d:000143 BLOCK C:/xxx/bug/bug_trace.rb:190
c:0047 p:0008 s:0141 b:0141 l:002558 d:000140 LAMBDA C:/xxx/bug/bug_trace.rb:72
c:0046 p:---- s:0138 b:0138 l:000137 d:000137 FINISH
c:0045 p:---- s:0136 b:0136 l:000135 d:000135 CFUNC :call
c:0044 p:0032 s:0132 b:0132 l:000113 d:000131 BLOCK C:/xxx/bug/bug_trace.rb:119
c:0043 p:---- s:0127 b:0127 l:000126 d:000126 FINISH
c:0042 p:---- s:0125 b:0125 l:000124 d:000124 CFUNC :each
c:0041 p:0027 s:0122 b:0122 l:000113 d:000121 BLOCK C:/xxx/bug/bug_trace.rb:117
c:0040 p:---- s:0119 b:0119 l:000118 d:000118 FINISH
c:0039 p:---- s:0117 b:0117 l:000116 d:000116 CFUNC :loop
c:0038 p:0011 s:0114 b:0114 l:000113 d:000113 METHOD C:/xxx/bug/bug_trace.rb:103
c:0037 p:0018 s:0110 b:0110 l:00239c d:000109 BLOCK C:/xxx/bug/bug_trace.rb:222
c:0036 p:0008 s:0108 b:0108 l:002418 d:000107 LAMBDA C:/xxx/bug/bug_trace.rb:72
c:0035 p:---- s:0105 b:0105 l:000104 d:000104 FINISH
c:0034 p:---- s:0103 b:0103 l:000102 d:000102 CFUNC :call
c:0033 p:0032 s:0099 b:0099 l:000080 d:000098 BLOCK C:/xxx/bug/bug_trace.rb:119
c:0032 p:---- s:0094 b:0094 l:000093 d:000093 FINISH
c:0031 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC :each
c:0030 p:0027 s:0089 b:0089 l:000080 d:000088 BLOCK C:/xxx/bug/bug_trace.rb:117
c:0029 p:---- s:0086 b:0086 l:000085 d:000085 FINISH
c:0028 p:---- s:0084 b:0084 l:000083 d:000083 CFUNC :loop
c:0027 p:0011 s:0081 b:0081 l:000080 d:000080 METHOD C:/xxx/bug/bug_trace.rb:103
c:0026 p:0018 s:0077 b:0077 l:000394 d:000076 BLOCK C:/xxx/bug/bug_trace.rb:222
c:0025 p:0008 s:0075 b:0075 l:000410 d:000074 LAMBDA C:/xxx/bug/bug_trace.rb:72
c:0024 p:---- s:0072 b:0072 l:000071 d:000071 FINISH
c:0023 p:---- s:0070 b:0070 l:000069 d:000069 CFUNC :call
c:0022 p:0032 s:0066 b:0066 l:000047 d:000065 BLOCK C:/xxx/bug/bug_trace.rb:119
c:0021 p:---- s:0061 b:0061 l:000060 d:000060 FINISH
c:0020 p:---- s:0059 b:0059 l:000058 d:000058 CFUNC :each
c:0019 p:0027 s:0056 b:0056 l:000047 d:000055 BLOCK C:/xxx/bug/bug_trace.rb:117
c:0018 p:---- s:0053 b:0053 l:000052 d:000052 FINISH
c:0017 p:---- s:0051 b:0051 l:000050 d:000050 CFUNC :loop
c:0016 p:0011 s:0048 b:0048 l:000047 d:000047 METHOD C:/xxx/bug/bug_trace.rb:103
c:0015 p:0018 s:0044 b:0044 l:0024ec d:000043 BLOCK C:/xxx/bug/bug_trace.rb:222
c:0014 p:0008 s:0042 b:0042 l:002568 d:000041 LAMBDA C:/xxx/bug/bug_trace.rb:72
c:0013 p:---- s:0039 b:0039 l:000038 d:000038 FINISH
c:0012 p:---- s:0037 b:0037 l:000036 d:000036 CFUNC :call
c:0011 p:0032 s:0033 b:0033 l:000014 d:000032 BLOCK C:/xxx/bug/bug_trace.rb:119
c:0010 p:---- s:0028 b:0028 l:000027 d:000027 FINISH
c:0009 p:---- s:0026 b:0026 l:000025 d:000025 CFUNC :each
c:0008 p:0027 s:0023 b:0023 l:000014 d:000022 BLOCK C:/xxx/bug/bug_trace.rb:117
c:0007 p:---- s:0020 b:0020 l:000019 d:000019 FINISH
c:0006 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :loop
c:0005 p:0011 s:0015 b:0015 l:000014 d:000014 METHOD C:/xxx/bug/bug_trace.rb:103
c:0004 p:0057 s:0011 b:0011 l:001f4c d:001f4c METHOD C:/xxx/bug/bug_trace.rb:174
c:0003 p:0482 s:0006 b:0006 l:001eec d:00201c EVAL C:/xxx/bug/bug_trace.rb:1977
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001eec d:001eec TOP
-- Ruby level backtrace information ----------------------------------------
C:/xxx/bug/bug_trace.rb:1977:in <main>' C:/xxx/bug/bug_trace.rb:174:in
Main'
C:/xxx/bug/bug_trace.rb:103:in __mainloop_sub' C:/xxx/bug/bug_trace.rb:103:in
loop'
C:/xxx/bug/bug_trace.rb:117:in block in __mainloop_sub' C:/xxx/bug/bug_trace.rb:117:in
each'
C:/xxx/bug/bug_trace.rb:119:in block (2 levels) in __mainloop_sub' C:/xxx/bug/bug_trace.rb:119:in
call'
C:/xxx/bug/bug_trace.rb:72:in block in initialize' C:/xxx/bug/bug_trace.rb:222:in
block in __main_sub'
C:/xxx/bug/bug_trace.rb:103:in __mainloop_sub' C:/xxx/bug/bug_trace.rb:103:in
loop'
C:/xxx/bug/bug_trace.rb:117:in block in __mainloop_sub' C:/xxx/bug/bug_trace.rb:117:in
each'
C:/xxx/bug/bug_trace.rb:119:in block (2 levels) in __mainloop_sub' C:/xxx/bug/bug_trace.rb:119:in
call'
C:/xxx/bug/bug_trace.rb:72:in block in initialize' C:/xxx/bug/bug_trace.rb:222:in
block in __main_sub'
C:/xxx/bug/bug_trace.rb:103:in __mainloop_sub' C:/xxx/bug/bug_trace.rb:103:in
loop'
C:/xxx/bug/bug_trace.rb:117:in block in __mainloop_sub' C:/xxx/bug/bug_trace.rb:117:in
each'
C:/xxx/bug/bug_trace.rb:119:in block (2 levels) in __mainloop_sub' C:/xxx/bug/bug_trace.rb:119:in
call'
C:/xxx/bug/bug_trace.rb:72:in block in initialize' C:/xxx/bug/bug_trace.rb:222:in
block in __main_sub'
C:/xxx/bug/bug_trace.rb:103:in __mainloop_sub' C:/xxx/bug/bug_trace.rb:103:in
loop'
C:/xxx/bug/bug_trace.rb:117:in block in __mainloop_sub' C:/xxx/bug/bug_trace.rb:117:in
each'
C:/xxx/bug/bug_trace.rb:119:in block (2 levels) in __mainloop_sub' C:/xxx/bug/bug_trace.rb:119:in
call'
C:/xxx/bug/bug_trace.rb:72:in block in initialize' C:/xxx/bug/bug_trace.rb:190:in
block in Task'
C:/xxx/bug/bug_trace.rb:2034:in block in miko' C:/xxx/bug/bug_trace.rb:1864:in
__mainloop_sub'
C:/xxx/bug/bug_trace.rb:1864:in loop' C:/xxx/bug/bug_trace.rb:1893:in
block in __mainloop_sub'
C:/xxx/bug/bug_trace.rb:1893:in map' C:/xxx/bug/bug_trace.rb:29:in
update'
C:/xxx/bug/bug_trace.rb:29:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb
:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1947:in
block (2 levels) in bug_p'
C:/xxx/bug/bug_trace.rb:1947:in call' C:/xxx/bug/bug_trace.rb:1948:in
block (2 levels) in bug_p'
-- C level backtrace information -------------------------------------------
C:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c94e514]
C:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c802542]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_vm_bugreport+0xf9) [0x62e5c589]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_name_err_mesg_new+0x17a) [0x62d3a7e2]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_bug+0x2f) [0x62d3b4fb]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_check_safe_str+0x1a4) [0x62dee168]
[0x004011e6]
C:\WINDOWS\system32\kernel32.dll(UnhandledExceptionFilter+0x1c7) [0x7c864191]
-- Other runtime information -----------------------------------------------
-
Loaded script: C:/xxx/bug/bug_trace.rb
-
Loaded features:
0 enumerator.so
1 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/encdb.so
2 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/shift_jis.so
3 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/trans/transdb.so
4 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb
5 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/rbconfig.rb
6 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb
7 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/exceptions.rb
8 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/defaults/operating_system.rb
9 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb
10 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems.rb
11 C:/Ruby193/lib/ruby/1.9.1/ostruct.rb
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Files
Updated by uy (西行寺 うゆ) over 12 years ago
追記
小さいコードでバグ再現できました
多分これでSEGVでると思います
def func
$a = lambda do yield end
end
func do
p 1
a = $a.clone
p 2
$a = -> {
p 3
a.call
}
end
400.times{
$a.call
}
Updated by naruse (Yui NARUSE) over 12 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby master to Backport193
Updated by naruse (Yui NARUSE) over 12 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r36789.
西行寺, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
merge revision(s) 35978,36013,36014,36015,36052,36076,36487: [Backport #6898]
* thread_pthread.c (ruby_init_stack): use stack info if possible.
* thread_pthread.c (ruby_init_stack): adjust stack size for offset of
addr from the bottom.
* thread_pthread.c (get_stack): seems stack size does not include
guard size on Mac OS X.
* gc.h (IS_STACK_DIR_UPPER): utility macro.
* thread_pthread.c (get_stack): Linux is the only OS which includes
the size of guard page into the stack size.
* thread_pthread.c (ruby_init_stack): STACK_GROW_DIR_DETECTION is
necessary on platforms with unknown stack direction. [Bug #6761]