Ruby Issue Tracking System: Issues
https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2016-08-04T20:06:47Z
Ruby Issue Tracking System
Redmine
Ruby master - Feature #12656 (Assigned): Expand short paths with File.expand_path
https://bugs.ruby-lang.org/issues/12656
2016-08-04T20:06:47Z
davispuh (Dāvis Mosāns)
<p>Currently File.expand_path expands short path only if it's last part.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">puts</span> <span class="no">File</span><span class="p">.</span><span class="nf">expand_path</span><span class="p">(</span><span class="s1">'C:/VERYLO~1'</span><span class="p">)</span>
<span class="nb">puts</span> <span class="no">File</span><span class="p">.</span><span class="nf">expand_path</span><span class="p">(</span><span class="s1">'C:/VERYLO~1/OTHERL~1'</span><span class="p">)</span>
</code></pre>
<p>Produces</p>
<pre><code>C:/VeryLongName12345
C:/VERYLO~1/OtherLongName54321
</code></pre>
<p>With attached patch it will always be long path</p>
<pre><code>C:/VeryLongName12345
C:/VeryLongName12345/OtherLongName54321
</code></pre>
<p>This also fixes TestDir#test_glob test because it was failing due short path.</p>
Ruby master - Feature #12654 (Closed): On Windows use UTF-8 as filesystem encoding
https://bugs.ruby-lang.org/issues/12654
2016-08-04T02:22:49Z
davispuh (Dāvis Mosāns)
<p>Windows (NTFS) supports Unicode and there can be paths/filenames with other characters than current ANSI/OEM codepage can encode.</p>
<p>See attached patch.</p>
Ruby master - Feature #12653 (Assigned): Use wide WinAPI for rb_w32_getcwd
https://bugs.ruby-lang.org/issues/12653
2016-08-03T18:33:23Z
davispuh (Dāvis Mosāns)
<p>Use wide WinAPI for rb_w32_getcwd.<br>
This will be needed so that Dir.pwd can support Unicode current directory on Windows.</p>
<p>I've attached a patch.</p>
Ruby master - Bug #12652 (Closed): For Dir.home encode passed user
https://bugs.ruby-lang.org/issues/12652
2016-08-03T16:28:59Z
davispuh (Dāvis Mosāns)
<p>Currently Dir.home(user) expects that passed user will be already in appropriate encoding but if it's not it will fail because comparing with different encodings.</p>
<p>This causes TestDir#test_home to fail.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">user</span> <span class="o">=</span> <span class="no">ENV</span><span class="p">[</span><span class="s1">'USER'</span><span class="p">]</span>
<span class="nb">puts</span> <span class="no">Dir</span><span class="p">.</span><span class="nf">home</span><span class="p">(</span><span class="n">user</span><span class="p">)</span>
</code></pre>
<p>fails with</p>
<pre><code>`home': user Dāvis doesn't exist (ArgumentError)
</code></pre>
<p>On Linux it will fail too if passed user is in different encoding than locale.</p>
<p>I've attached a patch which fixes this.</p>
Ruby master - Feature #12650 (Closed): Use UTF-8 encoding for ENV on Windows
https://bugs.ruby-lang.org/issues/12650
2016-08-03T00:53:42Z
davispuh (Dāvis Mosāns)
<p>Windows environment variables supports Unicode (same wide WinAPI) and so there's no reason to limit ourselves to any codepage.<br>
Currently ENV would use locale's encoding (console's codepage) which obviously won't work correctly for characters outside of those codepages.</p>
<p>I've attached a patch which implements this and fixes bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: ENV data yield ASCII-8BIT encoded strings under Windows with unicode username (Closed)" href="https://bugs.ruby-lang.org/issues/9715">#9715</a></p>
Ruby master - Bug #12644 (Closed): Support debug build on Windows with MSVC
https://bugs.ruby-lang.org/issues/12644
2016-08-01T18:27:22Z
davispuh (Dāvis Mosāns)
<p>When building debug build with MSVC (<code>-MDd</code> flag) then it will be linked to <code>ucrtbased.dll</code> where <code>_isatty</code> function obviously differs.</p>
<p>I've attached a patch which fixes this so that <code>__pioinfo</code> will be found for both debug and non-debug builds (x86 and x64)</p>
<p>Anyway I really really don't like this and I think Ruby should keep it's own fd <=> handle mapping and not use this hack, but for now this works until <code>_isatty</code> changes.</p>
Ruby master - Bug #12643 (Closed): When generating exts.mk need to escape newlines for @echo
https://bugs.ruby-lang.org/issues/12643
2016-08-01T13:48:02Z
davispuh (Dāvis Mosāns)
<p>Currently if some extension fails to compile then whole build will break because of syntax error in exts.mk</p>
<p>With MinGW</p>
<pre><code>exts.mk:1526: *** missing separator. Stop.
make: *** [uncommon.mk:217: build-ext] Error 2
</code></pre>
<p>With nmake (MSVC)</p>
<pre><code>exts.mk(1528) : fatal error U1034: syntax error : separator missing
Stop.
NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.EXE"' : return code '0x2'
Stop.
</code></pre>
<p>This happens because newline isn't escaped for @echo in generated exts.mk</p>
<pre><code>note:
@echo "*** Following extensions failed to configure:"
@echo "../../../../ext/-test-/file/extconf.rb:458: The compiler failed to generate an executable file.
You have to install development tools first.
"
</code></pre>
<p>I've attached a patch which fixes this.</p>
Ruby master - Bug #12564 (Closed): Sometimes test_settracefunc.rb segfaults in exec_hooks_body (v...
https://bugs.ruby-lang.org/issues/12564
2016-07-06T23:50:22Z
davispuh (Dāvis Mosāns)
<p>I'm not really sure which test segfaults but I think it's test_tracepoint_with_multithreads</p>
<p>This might be similar to bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Count trace_running for internal event (Closed)" href="https://bugs.ruby-lang.org/issues/11603">#11603</a> and I think it's caused by some multithreading issues.</p>
<p>I also found:</p>
<ul>
<li><a href="https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160612T033303Z.fail.html.gz" class="external">https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160612T033303Z.fail.html.gz</a></li>
<li><a href="https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160620T233302Z.fail.html.gz" class="external">https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160620T233302Z.fail.html.gz</a></li>
<li><a href="https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160705T073303Z.diff.html.gz" class="external">https://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160705T073303Z.diff.html.gz</a></li>
</ul>
<p>So I'm not only one, there search for exec_hooks_protected to see crash dump.</p>
<p>Here for me with build from git commit 3418a277d8359ac10ba0ccc047b9189d8f5f6fe3</p>
<pre><code>[14091/16760] TestSetTraceFunc#test_tracepoint_with_multithreads = 5.01 s
/mnt/GitHub/ruby/lib/rinda/tuplespace.rb:596: [BUG] Segmentation fault at 0x00000000000001
ruby 2.4.0dev (2016-07-01 trunk 55549) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0007 p:0043 s:0017 e:000016 BLOCK /mnt/GitHub/ruby/lib/rinda/tuplespace.rb:596
c:0006 p:0015 s:0015 e:000014 METHOD /mnt/GitHub/ruby/lib/monitor.rb:214
c:0005 p:0009 s:0012 e:000011 METHOD /mnt/GitHub/ruby/lib/rinda/tuplespace.rb:586
c:0004 p:0020 s:0009 e:000008 BLOCK /mnt/GitHub/ruby/lib/rinda/tuplespace.rb:623
c:0003 p:0015 s:0007 e:000006 METHOD /mnt/GitHub/ruby/lib/monitor.rb:214
c:0002 p:0025 s:0004 e:000003 BLOCK /mnt/GitHub/ruby/lib/rinda/tuplespace.rb:621 [FINISH]
c:0001 p:---- s:0002 e:000001 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
/mnt/GitHub/ruby/lib/rinda/tuplespace.rb:621:in `block in start_keeper'
/mnt/GitHub/ruby/lib/monitor.rb:214:in `mon_synchronize'
/mnt/GitHub/ruby/lib/rinda/tuplespace.rb:623:in `block (2 levels) in start_keeper'
/mnt/GitHub/ruby/lib/rinda/tuplespace.rb:586:in `keep_clean'
/mnt/GitHub/ruby/lib/monitor.rb:214:in `mon_synchronize'
/mnt/GitHub/ruby/lib/rinda/tuplespace.rb:596:in `block in keep_clean'
-- Machine register context ------------------------------------------------
RIP: 0x00005570176c7bd1 RBP: 0x000055701c1565d0 RSP: 0x00007f86e9524310
RAX: 0x0000000000000001 RBX: 0x00007f86e9524870 RCX: 0x000055701c1565d0
RDX: 0x00005570210ca260 RDI: 0x0000000000000001 RSI: 0x00005570210ca260
R8: 0x0000000000000000 R9: 0x000000000003ae19 R10: 0x0000000000000000
R11: 0x0000000000000206 R12: 0x0000000000000000 R13: 0x0000000000000008
R14: 0x0000000000000008 R15: 0x00007f86e9625e50 EFL: 0x0000000000010202
-- C level backtrace information -------------------------------------------
/mnt/GitHub/ruby/buildlinux/ruby(rb_vm_bugreport+0x53c) [0x55701774d29c] ../vm_dump.c:688
/mnt/GitHub/ruby/buildlinux/ruby(rb_bug_context+0xd1) [0x557017741ca1] ../error.c:408
/mnt/GitHub/ruby/buildlinux/ruby(sigsegv+0x3e) [0x55701763fc7e] ../signal.c:896
/usr/lib/libpthread.so.0 [0x7f86fec07f00]
/mnt/GitHub/ruby/buildlinux/ruby(exec_hooks_protected+0x101) [0x5570176c7bd1] ../vm_trace.c:253
/mnt/GitHub/ruby/buildlinux/ruby(rb_threadptr_exec_event_hooks+0x25e) [0x5570176c952e] ../vm_trace.c:348
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec_core+0x545d) [0x5570176b6b6d] ../vm_core.h:1209
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec+0x8a) [0x5570176b7eca] ../vm.c:1653
/mnt/GitHub/ruby/buildlinux/ruby(invoke_block_from_c_0+0x2dd) [0x5570176b8b2d] ../vm.c:923
/mnt/GitHub/ruby/buildlinux/ruby(vm_invoke_proc+0xce) [0x5570176b8c0e] ../vm.c:998
/mnt/GitHub/ruby/buildlinux/ruby(thread_start_func_2+0x60b) [0x5570176791db] ../thread.c:585
/mnt/GitHub/ruby/buildlinux/ruby(thread_start_func_1+0xd8) [0x557017679668] ../thread_pthread.c:884
/usr/lib/libpthread.so.0 [0x7f86febfe484]
/usr/lib/libc.so.6(clone+0x6d) [0x7f86fdf766dd]
</code></pre>
<pre><code>(gdb) thread apply all bt
Thread 7 (Thread 0x7f86ff038700 (LWP 27968)):
#0 0x00007f86fdf6d6cd in poll () from /usr/lib/libc.so.6
#1 0x00005570176723e3 in timer_thread_sleep (gvl=0x557018b07f28) at ../thread_pthread.c:1453
#2 thread_timer (p=0x557018b07f28) at ../thread_pthread.c:1565
#3 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#4 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
Thread 6 (Thread 0x7f86ebcfc700 (LWP 27712)):
#0 0x00007f86fdf6f393 in select () from /usr/lib/libc.so.6
#1 0x000055701767b45e in rb_fd_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebcfb3d0, n=15) at ../thread.c:3552
#2 native_fd_select (th=0x557019bf6b20, timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebcfb3d0, n=15) at ../thread_pthread.c:1092
#3 do_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebcfb3d0, n=15) at ../thread.c:3691
#4 rb_thread_fd_select (max=max@entry=15, read=read@entry=0x7f86ebcfb3d0, write=write@entry=0x0, except=0x0, timeout=timeout@entry=0x0) at ../thread.c:3764
#5 0x0000557017581f4c in select_internal (fds=0x7f86ebcfb3d0, tp=0x0, except=<optimized out>, write=<optimized out>, read=93939938963000) at ../io.c:8452
#6 select_call (arg=arg@entry=140217458602928) at ../io.c:8522
#7 0x0000557017557cba in rb_ensure (b_proc=b_proc@entry=0x557017581af0 <select_call>, data1=data1@entry=140217458602928, e_proc=e_proc@entry=0x55701757d950 <select_end>, data2=data2@entry=140217458602928)
at ../eval.c:900
#8 0x000055701757dbc3 in rb_f_select (argc=<optimized out>, argv=<optimized out>, obj=<optimized out>) at ../io.c:8871
#9 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86ebdfced0, th=0x557019bf6b20) at ../vm_insnhelper.c:1641
#10 vm_call_cfunc (th=0x557019bf6b20, reg_cfp=0x7f86ebdfced0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#11 0x00005570176b2db9 in vm_exec_core (th=th@entry=0x557019bf6b20, initial=initial@entry=0) at ../insns.def:1064
#12 0x00005570176b7eca in vm_exec (th=th@entry=0x557019bf6b20) at ../vm.c:1653
#13 0x00005570176b8b2d in invoke_block (block=0x557019bfd680, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939947242280, iseq=0x557019722070, th=0x557019bf6b20) at ../vm.c:923
#14 invoke_block_from_c_0 (th=0x557019bf6b20, block=0x557019bfd680, self=93939947242280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#15 0x00005570176b8c0e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5570192ef6c0, argc=0, self=93939947242280, block=0x557019bfd680, th=0x557019bf6b20) at ../vm.c:998
#16 vm_invoke_proc (th=th@entry=0x557019bf6b20, proc=proc@entry=0x557019bfd680, self=93939947242280, argc=0, argv=0x5570192ef6c0, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#17 0x00005570176b8c98 in rb_vm_invoke_proc (th=th@entry=0x557019bf6b20, proc=proc@entry=0x557019bfd680, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#18 0x00005570176791db in thread_start_func_2 (th=th@entry=0x557019bf6b20, stack_start=<optimized out>) at ../thread.c:585
#19 0x0000557017679668 in thread_start_func_1 (th_ptr=0x557019bf6b20) at ../thread_pthread.c:884
#20 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#21 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
Thread 5 (Thread 0x7f86ebefe700 (LWP 27711)):
#0 0x00007f86fdf6f393 in select () from /usr/lib/libc.so.6
#1 0x000055701767b45e in rb_fd_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebefd3d0, n=12) at ../thread.c:3552
#2 native_fd_select (th=0x557019bf1860, timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebefd3d0, n=12) at ../thread_pthread.c:1092
#3 do_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86ebefd3d0, n=12) at ../thread.c:3691
#4 rb_thread_fd_select (max=max@entry=12, read=read@entry=0x7f86ebefd3d0, write=write@entry=0x0, except=0x0, timeout=timeout@entry=0x0) at ../thread.c:3764
#5 0x0000557017581f4c in select_internal (fds=0x7f86ebefd3d0, tp=0x0, except=<optimized out>, write=<optimized out>, read=93939938963080) at ../io.c:8452
#6 select_call (arg=arg@entry=140217460708272) at ../io.c:8522
#7 0x0000557017557cba in rb_ensure (b_proc=b_proc@entry=0x557017581af0 <select_call>, data1=data1@entry=140217460708272, e_proc=e_proc@entry=0x55701757d950 <select_end>, data2=data2@entry=140217460708272)
at ../eval.c:900
#8 0x000055701757dbc3 in rb_f_select (argc=<optimized out>, argv=<optimized out>, obj=<optimized out>) at ../io.c:8871
#9 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86ebffeed0, th=0x557019bf1860) at ../vm_insnhelper.c:1641
#10 vm_call_cfunc (th=0x557019bf1860, reg_cfp=0x7f86ebffeed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#11 0x00005570176b2db9 in vm_exec_core (th=th@entry=0x557019bf1860, initial=initial@entry=0) at ../insns.def:1064
#12 0x00005570176b7eca in vm_exec (th=th@entry=0x557019bf1860) at ../vm.c:1653
#13 0x00005570176b8b2d in invoke_block (block=0x557019beead0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939947342640, iseq=0x557019722070, th=0x557019bf1860) at ../vm.c:923
#14 invoke_block_from_c_0 (th=0x557019bf1860, block=0x557019beead0, self=93939947342640, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#15 0x00005570176b8c0e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x55701930ef48, argc=0, self=93939947342640, block=0x557019beead0, th=0x557019bf1860) at ../vm.c:998
#16 vm_invoke_proc (th=th@entry=0x557019bf1860, proc=proc@entry=0x557019beead0, self=93939947342640, argc=0, argv=0x55701930ef48, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#17 0x00005570176b8c98 in rb_vm_invoke_proc (th=th@entry=0x557019bf1860, proc=proc@entry=0x557019beead0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#18 0x00005570176791db in thread_start_func_2 (th=th@entry=0x557019bf1860, stack_start=<optimized out>) at ../thread.c:585
#19 0x0000557017679668 in thread_start_func_1 (th_ptr=0x557019bf1860) at ../thread_pthread.c:884
#20 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#21 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
Thread 4 (Thread 0x7f86f059d700 (LWP 27710)):
#0 0x00007f86fdf6f393 in select () from /usr/lib/libc.so.6
#1 0x000055701767b45e in rb_fd_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86f059c3d0, n=9) at ../thread.c:3552
#2 native_fd_select (th=0x5570199faba0, timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86f059c3d0, n=9) at ../thread_pthread.c:1092
#3 do_select (timeout=0x0, exceptfds=0x0, writefds=0x0, readfds=0x7f86f059c3d0, n=9) at ../thread.c:3691
#4 rb_thread_fd_select (max=max@entry=9, read=read@entry=0x7f86f059c3d0, write=write@entry=0x0, except=0x0, timeout=timeout@entry=0x0) at ../thread.c:3764
#5 0x0000557017581f4c in select_internal (fds=0x7f86f059c3d0, tp=0x0, except=<optimized out>, write=<optimized out>, read=93940049614440) at ../io.c:8452
#6 select_call (arg=arg@entry=140217534759856) at ../io.c:8522
#7 0x0000557017557cba in rb_ensure (b_proc=b_proc@entry=0x557017581af0 <select_call>, data1=data1@entry=140217534759856, e_proc=e_proc@entry=0x55701757d950 <select_end>, data2=data2@entry=140217534759856)
at ../eval.c:900
#8 0x000055701757dbc3 in rb_f_select (argc=<optimized out>, argv=<optimized out>, obj=<optimized out>) at ../io.c:8871
#9 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86f069ded0, th=0x5570199faba0) at ../vm_insnhelper.c:1641
#10 vm_call_cfunc (th=0x5570199faba0, reg_cfp=0x7f86f069ded0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#11 0x00005570176b2db9 in vm_exec_core (th=th@entry=0x5570199faba0, initial=initial@entry=0) at ../insns.def:1064
#12 0x00005570176b7eca in vm_exec (th=th@entry=0x5570199faba0) at ../vm.c:1653
#13 0x00005570176b8b2d in invoke_block (block=0x5570199fefb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939951515960, iseq=0x557019722070, th=0x5570199faba0) at ../vm.c:923
#14 invoke_block_from_c_0 (th=0x5570199faba0, block=0x5570199fefb0, self=93939951515960, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#15 0x00005570176b8c0e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x557019707be0, argc=0, self=93939951515960, block=0x5570199fefb0, th=0x5570199faba0) at ../vm.c:998
#16 vm_invoke_proc (th=th@entry=0x5570199faba0, proc=proc@entry=0x5570199fefb0, self=93939951515960, argc=0, argv=0x557019707be0, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#17 0x00005570176b8c98 in rb_vm_invoke_proc (th=th@entry=0x5570199faba0, proc=proc@entry=0x5570199fefb0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#18 0x00005570176791db in thread_start_func_2 (th=th@entry=0x5570199faba0, stack_start=<optimized out>) at ../thread.c:585
#19 0x0000557017679668 in thread_start_func_1 (th_ptr=0x5570199faba0) at ../thread_pthread.c:884
#20 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#21 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
Thread 3 (Thread 0x7f86f09b5700 (LWP 27709)):
#0 0x00007f86fec040af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x0000557017675761 in native_cond_wait (mutex=0x5570199f25c8, cond=<optimized out>) at ../thread_pthread.c:343
#2 native_sleep (th=th@entry=0x5570199f24a0, timeout_tv=0x0) at ../thread_pthread.c:1144
#3 0x0000557017675c34 in sleep_forever (deadlockable=1, spurious_check=1, th=0x5570199f24a0) at ../thread.c:1069
#4 rb_thread_sleep_deadly () at ../thread.c:1150
#5 queue_sleep (arg=arg@entry=0) at ../thread_sync.c:776
#6 0x0000557017557cba in rb_ensure (b_proc=b_proc@entry=0x557017675b50 <queue_sleep>, data1=data1@entry=0, e_proc=e_proc@entry=0x557017671550 <queue_delete_from_waiting>, data2=data2@entry=140217539052512)
at ../eval.c:900
#7 0x00005570176775bf in queue_do_pop (self=93939951504080, should_block=<optimized out>) at ../thread_sync.c:799
#8 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86f0ab5f90, th=0x5570199f24a0) at ../vm_insnhelper.c:1641
#9 vm_call_cfunc (th=0x5570199f24a0, reg_cfp=0x7f86f0ab5f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#10 0x00005570176b2db9 in vm_exec_core (th=th@entry=0x5570199f24a0, initial=initial@entry=0) at ../insns.def:1064
#11 0x00005570176b7eca in vm_exec (th=th@entry=0x5570199f24a0) at ../vm.c:1653
#12 0x00005570176b8b2d in invoke_block (block=0x5570199f28a0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939951504600, iseq=0x557019712c88, th=0x5570199f24a0) at ../vm.c:923
#13 invoke_block_from_c_0 (th=0x5570199f24a0, block=0x5570199f28a0, self=93939951504600, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#14 0x00005570176b8c0e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x557019708a18, argc=0, self=93939951504600, block=0x5570199f28a0, th=0x5570199f24a0) at ../vm.c:998
#15 vm_invoke_proc (th=th@entry=0x5570199f24a0, proc=proc@entry=0x5570199f28a0, self=93939951504600, argc=0, argv=0x557019708a18, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#16 0x00005570176b8c98 in rb_vm_invoke_proc (th=th@entry=0x5570199f24a0, proc=proc@entry=0x5570199f28a0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#17 0x00005570176791db in thread_start_func_2 (th=th@entry=0x5570199f24a0, stack_start=<optimized out>) at ../thread.c:585
#18 0x0000557017679668 in thread_start_func_1 (th_ptr=0x5570199f24a0) at ../thread_pthread.c:884
#19 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#20 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
Thread 2 (Thread 0x7f86fefbc700 (LWP 27698)):
#0 0x00007f86fec040af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x0000557017672feb in native_cond_wait (mutex=0x557018b07f30, cond=0x557018b07f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x557018b07f20) at ../thread_pthread.c:90
#3 gvl_acquire (vm=0x557018b07f20, th=0x557018b085c0) at ../thread_pthread.c:108
#4 0x000055701767a3c8 in blocking_region_end (region=0x7ffc74b4ef00, th=0x557018b085c0) at ../thread.c:1272
#5 rb_thread_io_blocking_region (func=func@entry=0x55701757c930 <internal_write_func>, data1=data1@entry=0x7ffc74b4f050, fd=<optimized out>) at ../thread.c:1423
#6 0x000055701757ca02 in rb_write_internal (count=<optimized out>, buf=<optimized out>, fd=<optimized out>) at ../io.c:986
#7 io_binwrite_string (arg=arg@entry=140722266501648) at ../io.c:1265
#8 0x0000557017557cba in rb_ensure (b_proc=b_proc@entry=0x55701757c950 <io_binwrite_string>, data1=data1@entry=140722266501648, e_proc=e_proc@entry=0x5570176737e0 <rb_mutex_unlock>, data2=<optimized out>)
at ../eval.c:900
#9 0x00005570176787bb in rb_mutex_synchronize (mutex=<optimized out>, func=func@entry=0x55701757c950 <io_binwrite_string>, arg=arg@entry=140722266501648) at ../thread_sync.c:491
#10 0x00005570175808ba in io_binwrite (str=str@entry=93940079169440, ptr=0x5570210c8fb0 " = 5.01 s", len=9, fptr=fptr@entry=0x557018bf6270, nosync=nosync@entry=0) at ../io.c:1330
#11 0x000055701758852a in io_fwrite (nosync=0, fptr=0x557018bf6270, str=93940079169440) at ../io.c:1437
#12 io_write (io=<optimized out>, str=<optimized out>, nosync=0) at ../io.c:1471
#13 0x00005570176ba71a in vm_call0_cfunc_with_frame (ci=0x7ffc74b4f2d0, cc=0x7ffc74b4f300, argv=0x7ffc74b4f440, calling=0x7ffc74b4f2e0, th=0x557018b085c0) at ../vm_eval.c:131
#14 vm_call0_cfunc (argv=0x7ffc74b4f440, cc=0x7ffc74b4f300, ci=0x7ffc74b4f2d0, calling=0x7ffc74b4f2e0, th=0x557018b085c0) at ../vm_eval.c:148
#15 vm_call0_body (th=0x557018b085c0, calling=calling@entry=0x7ffc74b4f3a0, ci=ci@entry=0x7ffc74b4f390, cc=cc@entry=0x7ffc74b4f3c0, argv=argv@entry=0x7ffc74b4f440) at ../vm_eval.c:186
#16 0x00005570176baffd in vm_call0 (me=0x557018b4cd90, argv=0x7ffc74b4f440, argc=1, id=14881, recv=93939939195760, th=<optimized out>) at ../vm_eval.c:61
#17 rb_call0 (recv=recv@entry=93939939195760, mid=14881, argc=argc@entry=1, argv=argv@entry=0x7ffc74b4f440, scope=scope@entry=CALL_FCALL, self=<optimized out>) at ../vm_eval.c:344
#18 0x00005570176bb70a in rb_call (scope=CALL_FCALL, argv=argv@entry=0x7ffc74b4f440, argc=argc@entry=1, mid=<optimized out>, recv=recv@entry=93939939195760) at ../vm_eval.c:855
#19 rb_funcallv (recv=recv@entry=93939939195760, mid=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7ffc74b4f440) at ../vm_eval.c:856
#20 0x000055701757d4bb in rb_io_write (str=<optimized out>, io=93939939195760) at ../io.c:1504
#21 rb_io_print (argc=1, argv=<optimized out>, out=93939939195760) at ../io.c:6961
#22 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86fefb99d0, th=0x557018b085c0) at ../vm_insnhelper.c:1641
#23 vm_call_cfunc (th=0x557018b085c0, reg_cfp=0x7f86fefb99d0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#24 0x00005570176b2db9 in vm_exec_core (th=th@entry=0x557018b085c0, initial=initial@entry=0) at ../insns.def:1064
#25 0x00005570176b7eca in vm_exec (th=th@entry=0x557018b085c0) at ../vm.c:1653
#26 0x00005570176b8b2d in invoke_block (block=0x7f86fefb9bb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939941323720, iseq=0x557018d91880, th=0x557018b085c0) at ../vm.c:923
#27 invoke_block_from_c_0 (th=0x557018b085c0, block=0x7f86fefb9bb0, self=93939941323720, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#28 0x00005570176bfd4c in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7ffc74b4fbb8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#29 vm_yield (argc=1, argv=0x7ffc74b4fbb8, th=<optimized out>) at ../vm.c:1025
#30 rb_yield_0 (argv=0x7ffc74b4fbb8, argc=1) at ../vm_eval.c:1019
#31 rb_yield_1 (val=<optimized out>) at ../vm_eval.c:1025
#32 rb_yield (val=<optimized out>) at ../vm_eval.c:1035
#33 0x00005570176d23a4 in rb_ary_collect (ary=93940073884760) at ../array.c:2723
#34 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86fefb9b90, th=0x557018b085c0) at ../vm_insnhelper.c:1641
#35 vm_call_cfunc (th=0x557018b085c0, reg_cfp=0x7f86fefb9b90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#36 0x00005570176b29cf in vm_exec_core (th=th@entry=0x557018b085c0, initial=initial@entry=0) at ../insns.def:965
#37 0x00005570176b7eca in vm_exec (th=th@entry=0x557018b085c0) at ../vm.c:1653
#38 0x00005570176b8b2d in invoke_block (block=0x7f86fefb9cb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939941323720, iseq=0x557018ce8758, th=0x557018b085c0) at ../vm.c:923
#39 invoke_block_from_c_0 (th=0x557018b085c0, block=0x7f86fefb9cb0, self=93939941323720, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#40 0x00005570176bfd4c in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7ffc74b50328, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#41 vm_yield (argc=1, argv=0x7ffc74b50328, th=<optimized out>) at ../vm.c:1025
#42 rb_yield_0 (argv=0x7ffc74b50328, argc=1) at ../vm_eval.c:1019
#43 rb_yield_1 (val=<optimized out>) at ../vm_eval.c:1025
#44 rb_yield (val=<optimized out>) at ../vm_eval.c:1035
#45 0x00005570176cfdac in rb_ary_each (ary=93940009397480) at ../array.c:1822
#46 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86fefb9c90, th=0x557018b085c0) at ../vm_insnhelper.c:1641
#47 vm_call_cfunc (th=0x557018b085c0, reg_cfp=0x7f86fefb9c90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#48 0x00005570176b8f5e in vm_call_method_each_type (th=th@entry=0x557018b085c0, cfp=cfp@entry=0x7f86fefb9c90, calling=0x7ffc74b505f0, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2028
#49 0x00005570176b9493 in vm_call_method (th=0x557018b085c0, cfp=0x7f86fefb9c90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#50 0x00005570176b9173 in vm_call_method_each_type (th=th@entry=0x557018b085c0, cfp=cfp@entry=0x7f86fefb9c90, calling=0x7ffc74b505f0, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2115
#51 0x00005570176b9493 in vm_call_method (th=0x557018b085c0, cfp=0x7f86fefb9c90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#52 0x00005570176b29cf in vm_exec_core (th=th@entry=0x557018b085c0, initial=initial@entry=0) at ../insns.def:965
#53 0x00005570176b7eca in vm_exec (th=th@entry=0x557018b085c0) at ../vm.c:1653
#54 0x00005570176b8b2d in invoke_block (block=0x7f86fefb9e30, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939941323720, iseq=0x557018d901b0, th=0x557018b085c0) at ../vm.c:923
#55 invoke_block_from_c_0 (th=0x557018b085c0, block=0x7f86fefb9e30, self=93939941323720, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#56 0x00005570176bfd4c in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7ffc74b50c08, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#57 vm_yield (argc=1, argv=0x7ffc74b50c08, th=<optimized out>) at ../vm.c:1025
#58 rb_yield_0 (argv=0x7ffc74b50c08, argc=1) at ../vm_eval.c:1019
#59 rb_yield_1 (val=<optimized out>) at ../vm_eval.c:1025
#60 rb_yield (val=<optimized out>) at ../vm_eval.c:1035
#61 0x00005570176cfdac in rb_ary_each (ary=93940009398480) at ../array.c:1822
#62 0x00005570176aba9d in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f86fefb9e10, th=0x557018b085c0) at ../vm_insnhelper.c:1641
#63 vm_call_cfunc (th=0x557018b085c0, reg_cfp=0x7f86fefb9e10, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#64 0x00005570176b8f5e in vm_call_method_each_type (th=th@entry=0x557018b085c0, cfp=cfp@entry=0x7f86fefb9e10, calling=0x7ffc74b50ed0, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2028
#65 0x00005570176b9493 in vm_call_method (th=0x557018b085c0, cfp=0x7f86fefb9e10, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#66 0x00005570176b9173 in vm_call_method_each_type (th=th@entry=0x557018b085c0, cfp=cfp@entry=0x7f86fefb9e10, calling=0x7ffc74b50ed0, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2115
#67 0x00005570176b9493 in vm_call_method (th=0x557018b085c0, cfp=0x7f86fefb9e10, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#68 0x00005570176b29cf in vm_exec_core (th=th@entry=0x557018b085c0, initial=initial@entry=0) at ../insns.def:965
#69 0x00005570176b7eca in vm_exec (th=0x557018b085c0) at ../vm.c:1653
#70 0x00005570176c0e83 in rb_iseq_eval_main (iseq=iseq@entry=0x557018b1fa48) at ../vm.c:1896
#71 0x00005570175537cd in ruby_exec_internal (n=0x557018b1fa48) at ../eval.c:244
#72 0x0000557017556f0f in ruby_exec_node (n=<optimized out>) at ../eval.c:308
#73 ruby_run_node (n=<optimized out>) at ../eval.c:300
#74 0x000055701755349b in main (argc=<optimized out>, argv=<optimized out>) at ../main.c:36
Thread 1 (Thread 0x7f86e9525700 (LWP 27787)):
#0 0x00007f86fdec2295 in raise () from /usr/lib/libc.so.6
#1 0x00007f86fdec36da in abort () from /usr/lib/libc.so.6
#2 0x0000557017741cae in die () at ../error.c:380
#3 rb_bug_context (ctx=ctx@entry=0x55701c16df80, fmt=fmt@entry=0x557017775a62 "Segmentation fault at %p") at ../error.c:410
#4 0x000055701763fc7e in sigsegv (sig=<optimized out>, info=0x55701c16e0b0, ctx=0x55701c16df80) at ../signal.c:896
#5 <signal handler called>
#6 exec_hooks_body (th=0x55701c1565d0, list=0x557018b084f0, trace_arg=0x7f86e9524870) at ../vm_trace.c:254
#7 exec_hooks_protected (th=th@entry=0x55701c1565d0, list=0x557018b084f0, trace_arg=trace_arg@entry=0x7f86e9524870) at ../vm_trace.c:298
#8 0x00005570176c952e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f86e9524870, trace_arg@entry=0x7f86e9524430) at ../vm_trace.c:348
#9 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f86e9524870) at ../vm_trace.c:383
#10 0x00005570176b6b6d in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x55701c1565d0) at ../vm_core.h:1209
#11 vm_exec_core (th=th@entry=0x55701c1565d0, initial=initial@entry=0) at ../insns.def:832
#12 0x00005570176b7eca in vm_exec (th=th@entry=0x55701c1565d0) at ../vm.c:1653
#13 0x00005570176b8b2d in invoke_block (block=0x55701ba68b90, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=93939966117840, iseq=0x55701a50c118, th=0x55701c1565d0) at ../vm.c:923
#14 invoke_block_from_c_0 (th=0x55701c1565d0, block=0x55701ba68b90, self=93939966117840, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#15 0x00005570176b8c0e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x55701a4f7a70, argc=0, self=93939966117840, block=0x55701ba68b90, th=0x55701c1565d0) at ../vm.c:998
#16 vm_invoke_proc (th=th@entry=0x55701c1565d0, proc=proc@entry=0x55701ba68b90, self=93939966117840, argc=0, argv=0x55701a4f7a70, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#17 0x00005570176b8c98 in rb_vm_invoke_proc (th=th@entry=0x55701c1565d0, proc=proc@entry=0x55701ba68b90, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#18 0x00005570176791db in thread_start_func_2 (th=th@entry=0x55701c1565d0, stack_start=<optimized out>) at ../thread.c:585
#19 0x0000557017679668 in thread_start_func_1 (th_ptr=0x55701c1565d0) at ../thread_pthread.c:884
#20 0x00007f86febfe484 in start_thread () from /usr/lib/libpthread.so.0
#21 0x00007f86fdf766dd in clone () from /usr/lib/libc.so.6
(gdb) frame 6
#6 exec_hooks_body (th=0x55701c1565d0, list=0x557018b084f0, trace_arg=0x7f86e9524870) at ../vm_trace.c:254
254 if (!(hook->hook_flags & RUBY_EVENT_HOOK_FLAG_DELETED) && (trace_arg->event & hook->events)) {
(gdb) disas /s
Dump of assembler code for function exec_hooks_protected:
../vm_trace.c:
292 raised = rb_threadptr_reset_raised(th);
0x00005570176c7b30 <+96>: mov rdi,QWORD PTR [rsp+0x18]
0x00005570176c7b35 <+101>: call 0x55701767aa60 <rb_threadptr_reset_raised>
293
294 /* TODO: Support !RUBY_EVENT_HOOK_FLAG_SAFE hooks */
295
296 TH_PUSH_TAG(th);
0x00005570176c7b3a <+106>: mov rdi,QWORD PTR [rsp+0x18]
292 raised = rb_threadptr_reset_raised(th);
0x00005570176c7b3f <+111>: mov DWORD PTR [rsp+0x3c],eax
297 if ((state = TH_EXEC_TAG()) == 0) {
0x00005570176c7b43 <+115>: lea rcx,[rsp+0x120]
296 TH_PUSH_TAG(th);
0x00005570176c7b4b <+123>: mov QWORD PTR [rsp+0x40],0x0
0x00005570176c7b54 <+132>: mov rax,QWORD PTR [rdi+0x1a8]
297 if ((state = TH_EXEC_TAG()) == 0) {
0x00005570176c7b5b <+139>: mov QWORD PTR [rsp+0x50],rcx
0x00005570176c7b60 <+144>: lea rcx,[rip+0x99] # 0x5570176c7c00 <exec_hooks_protected+304>
0x00005570176c7b67 <+151>: mov QWORD PTR [rsp+0x60],rsp
0x00005570176c7b6c <+156>: mov QWORD PTR [rsp+0x20],rdi
0x00005570176c7b71 <+161>: mov QWORD PTR [rsp+0x58],rcx
296 TH_PUSH_TAG(th);
0x00005570176c7b76 <+166>: mov QWORD PTR [rsp+0x118],rax
297 if ((state = TH_EXEC_TAG()) == 0) {
0x00005570176c7b7e <+174>: lea rax,[rsp+0x40]
0x00005570176c7b83 <+179>: mov QWORD PTR [rdi+0x1a8],rax
0x00005570176c7b8a <+186>: mov rax,QWORD PTR [rsp+0x10]
0x00005570176c7b8f <+191>: mov rax,QWORD PTR [rax]
253 for (hook = list->hooks; hook; hook = hook->next) {
0x00005570176c7b92 <+194>: test rax,rax
0x00005570176c7b95 <+197>: mov QWORD PTR [rsp],rax
0x00005570176c7b99 <+201>: jne 0x5570176c7bd1 <exec_hooks_protected+257>
0x00005570176c7b9b <+203>: jmp 0x5570176c7c50 <exec_hooks_protected+384>
256 (*hook->func)(trace_arg->event, hook->data, trace_arg->self, trace_arg->id, trace_arg->klass);
0x00005570176c7ba0 <+208>: mov rax,rsi
0x00005570176c7ba3 <+211>: mov rcx,QWORD PTR [rbx+0x20]
0x00005570176c7ba7 <+215>: mov rdx,QWORD PTR [rbx+0x18]
0x00005570176c7bab <+219>: mov rsi,QWORD PTR [rsi+0x10]
0x00005570176c7baf <+223>: mov r8,QWORD PTR [rbx+0x28]
0x00005570176c7bb3 <+227>: call QWORD PTR [rax+0x8]
0x00005570176c7bb6 <+230>: nop WORD PTR cs:[rax+rax*1+0x0]
253 for (hook = list->hooks; hook; hook = hook->next) {
0x00005570176c7bc0 <+240>: mov rax,QWORD PTR [rsp]
0x00005570176c7bc4 <+244>: mov rax,QWORD PTR [rax+0x18]
0x00005570176c7bc8 <+248>: test rax,rax
0x00005570176c7bcb <+251>: mov QWORD PTR [rsp],rax
0x00005570176c7bcf <+255>: je 0x5570176c7c50 <exec_hooks_protected+384>
254 if (!(hook->hook_flags & RUBY_EVENT_HOOK_FLAG_DELETED) && (trace_arg->event & hook->events)) {
=> 0x00005570176c7bd1 <+257>: mov eax,DWORD PTR [rax]
0x00005570176c7bd3 <+259>: test al,0x2
0x00005570176c7bd5 <+261>: jne 0x5570176c7bc0 <exec_hooks_protected+240>
0x00005570176c7bd7 <+263>: mov rsi,QWORD PTR [rsp]
0x00005570176c7bdb <+267>: mov rbx,QWORD PTR [rsp+0x8]
0x00005570176c7be0 <+272>: mov edi,DWORD PTR [rbx]
0x00005570176c7be2 <+274>: test DWORD PTR [rsi+0x4],edi
0x00005570176c7be5 <+277>: mov rdx,rsi
0x00005570176c7be8 <+280>: je 0x5570176c7bc0 <exec_hooks_protected+240>
(gdb) p hook
$1 = (rb_event_hook_t *) 0x1
(gdb) p list->hooks
$2 = (struct rb_event_hook_struct *) 0x0
</code></pre>
<p>looks like hooks were changed while we're looping here...</p>
<p>Now rebuilt from trunk again (commit 8667e8b)</p>
<pre><code>../test/ruby/test_settracefunc.rb:863: [BUG] Segmentation fault at 0x00000000000000
ruby 2.4.0dev (2016-07-07 trunk 55602) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0004 p:0002 s:0009 e:000008 BLOCK ../test/ruby/test_settracefunc.rb:863 [FINISH]
c:0003 p:---- s:0007 e:000006 CFUNC :times
c:0002 p:0010 s:0004 e:000003 BLOCK ../test/ruby/test_settracefunc.rb:863 [FINISH]
c:0001 p:---- s:0002 e:000001 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
../test/ruby/test_settracefunc.rb:863:in `block (4 levels) in test_tracepoint_with_multithreads'
../test/ruby/test_settracefunc.rb:863:in `times'
../test/ruby/test_settracefunc.rb:863:in `block (5 levels) in test_tracepoint_with_multithreads'
-- Machine register context ------------------------------------------------
RIP: 0x00005596f7723f31 RBP: 0x00005596f8410b80 RSP: 0x00007f90b9cc3af0
RAX: 0x323220342e312e38 RBX: 0x00007f90b9cc4050 RCX: 0x00005596f8410b80
RDX: 0x0000000000000008 RDI: 0x00005596f7c72f30 RSI: 0x0000000000000000
R8: 0x0000000000000000 R9: 0x0000000004000001 R10: 0x0000000000000001
R11: 0x0000000000000206 R12: 0x0000000000000000 R13: 0x0000000000000008
R14: 0x0000000000000008 R15: 0x00007f90b9dc5f10 EFL: 0x0000000000010202
-- C level backtrace information -------------------------------------------
/mnt/GitHub/ruby/buildlinux/ruby(rb_vm_bugreport+0x53c) [0x5596f77a961c] ../vm_dump.c:688
/mnt/GitHub/ruby/buildlinux/ruby(rb_bug_context+0xd1) [0x5596f779e021] ../error.c:408
/mnt/GitHub/ruby/buildlinux/ruby(sigsegv+0x3e) [0x5596f769bd8e] ../signal.c:896
/usr/lib/libpthread.so.0 [0x7f90bba7ff00]
/mnt/GitHub/ruby/buildlinux/ruby(exec_hooks_protected+0x101) [0x5596f7723f31] ../vm_trace.c:253
/mnt/GitHub/ruby/buildlinux/ruby(rb_threadptr_exec_event_hooks+0x25e) [0x5596f772588e] ../vm_trace.c:348
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec_core+0x545d) [0x5596f7712ecd] ../vm_core.h:1209
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec+0x8a) [0x5596f771422a] ../vm.c:1653
/mnt/GitHub/ruby/buildlinux/ruby(invoke_block_from_c_0+0x2dd) [0x5596f7714e8d] ../vm.c:923
/mnt/GitHub/ruby/buildlinux/ruby(rb_yield_1+0x54) [0x5596f771c244] ../vm.c:990
/mnt/GitHub/ruby/buildlinux/ruby(int_dotimes+0x40) [0x5596f760ad60] ../numeric.c:4718
/mnt/GitHub/ruby/buildlinux/ruby(vm_call_cfunc+0xed) [0x5596f7707dfd] ../vm_insnhelper.c:1641
/mnt/GitHub/ruby/buildlinux/ruby(vm_call_method_each_type+0x5e) [0x5596f77152be] ../vm_insnhelper.c:2028
/mnt/GitHub/ruby/buildlinux/ruby(vm_call_method+0xe3) [0x5596f77157f3] ../vm_insnhelper.c:2178
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec_core+0x12bf) [0x5596f770ed2f] ../insns.def:965
/mnt/GitHub/ruby/buildlinux/ruby(vm_exec+0x8a) [0x5596f771422a] ../vm.c:1653
/mnt/GitHub/ruby/buildlinux/ruby(invoke_block_from_c_0+0x2dd) [0x5596f7714e8d] ../vm.c:923
/mnt/GitHub/ruby/buildlinux/ruby(vm_invoke_proc+0xce) [0x5596f7714f6e] ../vm.c:998
/mnt/GitHub/ruby/buildlinux/ruby(thread_start_func_2+0x60b) [0x5596f76d553b] ../thread.c:585
/mnt/GitHub/ruby/buildlinux/ruby(thread_start_func_1+0xd8) [0x5596f76d59c8] ../thread_pthread.c:884
/usr/lib/libpthread.so.0 [0x7f90bba76484]
/usr/lib/libc.so.6(clone+0x6d) [0x7f90badee6dd]
-- Other runtime information -----------------------------------------------
* Loaded script: ../test/ruby/test_settracefunc.rb
* Loaded features:
0 enumerator.so
1 thread.rb
2 rational.so
3 complex.so
4 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/encdb.so
5 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/trans/transdb.so
6 /mnt/GitHub/ruby/lib/unicode_normalize.rb
7 /mnt/GitHub/ruby/buildlinux/rbconfig.rb
8 /mnt/GitHub/ruby/lib/rubygems/compatibility.rb
9 /mnt/GitHub/ruby/lib/rubygems/defaults.rb
10 /mnt/GitHub/ruby/lib/rubygems/deprecate.rb
11 /mnt/GitHub/ruby/lib/rubygems/errors.rb
12 /mnt/GitHub/ruby/lib/rubygems/version.rb
13 /mnt/GitHub/ruby/lib/rubygems/requirement.rb
14 /mnt/GitHub/ruby/lib/rubygems/platform.rb
15 /mnt/GitHub/ruby/lib/rubygems/basic_specification.rb
16 /mnt/GitHub/ruby/lib/rubygems/stub_specification.rb
17 /mnt/GitHub/ruby/lib/rubygems/util/list.rb
18 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/stringio.so
19 /mnt/GitHub/ruby/lib/rubygems/specification.rb
20 /mnt/GitHub/ruby/lib/rubygems/exceptions.rb
21 /mnt/GitHub/ruby/lib/rubygems/core_ext/kernel_gem.rb
22 /mnt/GitHub/ruby/lib/monitor.rb
23 /mnt/GitHub/ruby/lib/rubygems/core_ext/kernel_require.rb
24 /mnt/GitHub/ruby/lib/rubygems.rb
25 /mnt/GitHub/ruby/lib/rubygems/dependency.rb
26 /mnt/GitHub/ruby/lib/rubygems/path_support.rb
27 /mnt/GitHub/ruby/lib/optparse.rb
28 /mnt/GitHub/ruby/test/lib/leakchecker.rb
29 /mnt/GitHub/ruby/test/lib/minitest/unit.rb
30 /mnt/GitHub/ruby/lib/prettyprint.rb
31 /mnt/GitHub/ruby/lib/pp.rb
32 /mnt/GitHub/ruby/test/lib/test/unit/assertions.rb
33 /mnt/GitHub/ruby/lib/open3.rb
34 /mnt/GitHub/ruby/lib/timeout.rb
35 /mnt/GitHub/ruby/test/lib/find_executable.rb
36 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/rbconfig/sizeof.so
37 /mnt/GitHub/ruby/test/lib/envutil.rb
38 /mnt/GitHub/ruby/test/lib/test/unit/testcase.rb
39 /mnt/GitHub/ruby/test/lib/test/unit.rb
40 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/fiber.so
41 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/io/console.so
* Process memory map:
5596f758b000-5596f7877000 r-xp 00000000 00:46 2968363 /mnt/GitHub/ruby/buildlinux/ruby
5596f7a76000-5596f7a7d000 rw-p 002eb000 00:46 2968363 /mnt/GitHub/ruby/buildlinux/ruby
5596f7a7d000-5596f7a8d000 rw-p 00000000 00:00 0
5596f7c72000-5596f8488000 rw-p 00000000 00:00 0 [heap]
7f908c000000-7f908c021000 rw-p 00000000 00:00 0
7f908c021000-7f9090000000 ---p 00000000 00:00 0
7f90930cf000-7f9093fff000 r--s 00000000 00:46 2968363 /mnt/GitHub/ruby/buildlinux/ruby
7f9094000000-7f9094021000 rw-p 00000000 00:00 0
7f9094021000-7f9098000000 ---p 00000000 00:00 0
7f9098000000-7f9098021000 rw-p 00000000 00:00 0
7f9098021000-7f909c000000 ---p 00000000 00:00 0
7f909c000000-7f909c021000 rw-p 00000000 00:00 0
7f909c021000-7f90a0000000 ---p 00000000 00:00 0
7f90a0000000-7f90a0021000 rw-p 00000000 00:00 0
7f90a0021000-7f90a4000000 ---p 00000000 00:00 0
7f90a4000000-7f90a4021000 rw-p 00000000 00:00 0
7f90a4021000-7f90a8000000 ---p 00000000 00:00 0
7f90a8000000-7f90a8021000 rw-p 00000000 00:00 0
7f90a8021000-7f90ac000000 ---p 00000000 00:00 0
7f90ac000000-7f90ac021000 rw-p 00000000 00:00 0
7f90ac021000-7f90b0000000 ---p 00000000 00:00 0
7f90b0000000-7f90b0021000 rw-p 00000000 00:00 0
7f90b0021000-7f90b4000000 ---p 00000000 00:00 0
7f90b4000000-7f90b4021000 rw-p 00000000 00:00 0
7f90b4021000-7f90b8000000 ---p 00000000 00:00 0
7f90b8797000-7f90b87ad000 r-xp 00000000 00:25 8082834 /usr/lib/libgcc_s.so.1
7f90b87ad000-7f90b89ac000 ---p 00016000 00:25 8082834 /usr/lib/libgcc_s.so.1
7f90b89ac000-7f90b89ad000 rw-p 00015000 00:25 8082834 /usr/lib/libgcc_s.so.1
7f90b89b3000-7f90b89b4000 ---p 00000000 00:00 0
7f90b89b4000-7f90b8bb5000 rw-p 00000000 00:00 0
7f90b8bb5000-7f90b8bb6000 ---p 00000000 00:00 0
7f90b8bb6000-7f90b8db7000 rw-p 00000000 00:00 0
7f90b8db7000-7f90b8db8000 ---p 00000000 00:00 0
7f90b8db8000-7f90b8fb9000 rw-p 00000000 00:00 0
7f90b8fb9000-7f90b8fba000 ---p 00000000 00:00 0
7f90b8fba000-7f90b91bb000 rw-p 00000000 00:00 0
7f90b91bb000-7f90b91bc000 ---p 00000000 00:00 0
7f90b91bc000-7f90b93bd000 rw-p 00000000 00:00 0
7f90b93bd000-7f90b93be000 ---p 00000000 00:00 0
7f90b93be000-7f90b95bf000 rw-p 00000000 00:00 0
7f90b95bf000-7f90b95c0000 ---p 00000000 00:00 0
7f90b95c0000-7f90b97c1000 rw-p 00000000 00:00 0
7f90b97c1000-7f90b97c2000 ---p 00000000 00:00 0
7f90b97c2000-7f90b99c3000 rw-p 00000000 00:00 0
7f90b99c3000-7f90b99c4000 ---p 00000000 00:00 0
7f90b99c4000-7f90b9bc5000 rw-p 00000000 00:00 0
7f90b9bc5000-7f90b9bc6000 ---p 00000000 00:00 0
7f90b9bc6000-7f90b9dc7000 rw-p 00000000 00:00 0
7f90b9e47000-7f90b9e4b000 r-xp 00000000 00:46 2967760 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/io/console.so
7f90b9e4b000-7f90ba04b000 ---p 00004000 00:46 2967760 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/io/console.so
7f90ba04b000-7f90ba04c000 rw-p 00004000 00:46 2967760 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/io/console.so
7f90ba04f000-7f90ba050000 r-xp 00000000 00:46 2967736 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/fiber.so
7f90ba050000-7f90ba24f000 ---p 00001000 00:46 2967736 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/fiber.so
7f90ba24f000-7f90ba250000 rw-p 00000000 00:46 2967736 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/fiber.so
7f90ba257000-7f90ba259000 r-xp 00000000 00:46 2967923 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/rbconfig/sizeof.so
7f90ba259000-7f90ba458000 ---p 00002000 00:46 2967923 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/rbconfig/sizeof.so
7f90ba458000-7f90ba459000 rw-p 00001000 00:46 2967923 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/rbconfig/sizeof.so
7f90ba45f000-7f90ba467000 r-xp 00000000 00:46 2967966 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/stringio.so
7f90ba467000-7f90ba666000 ---p 00008000 00:46 2967966 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/stringio.so
7f90ba666000-7f90ba667000 rw-p 00007000 00:46 2967966 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/stringio.so
7f90ba667000-7f90ba669000 r-xp 00000000 00:46 2968440 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/trans/transdb.so
7f90ba669000-7f90ba869000 ---p 00002000 00:46 2968440 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/trans/transdb.so
7f90ba869000-7f90ba86a000 rw-p 00002000 00:46 2968440 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/trans/transdb.so
7f90ba86f000-7f90ba871000 r-xp 00000000 00:46 2968368 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/encdb.so
7f90ba871000-7f90baa70000 ---p 00002000 00:46 2968368 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/encdb.so
7f90baa70000-7f90baa71000 rw-p 00001000 00:46 2968368 /mnt/GitHub/ruby/buildlinux/.ext/x86_64-linux/enc/encdb.so
7f90baa77000-7f90bad03000 r--p 00000000 00:25 8141942 /usr/lib/locale/locale-archive
7f90bad07000-7f90bae9e000 r-xp 00000000 00:25 8082125 /usr/lib/libc-2.23.so
7f90bae9e000-7f90bb09e000 ---p 00197000 00:25 8082125 /usr/lib/libc-2.23.so
7f90bb09e000-7f90bb0a2000 r--p 00197000 00:25 8082125 /usr/lib/libc-2.23.so
7f90bb0a2000-7f90bb0a4000 rw-p 0019b000 00:25 8082125 /usr/lib/libc-2.23.so
7f90bb0a4000-7f90bb0a8000 rw-p 00000000 00:00 0
7f90bb0af000-7f90bb1b2000 r-xp 00000000 00:25 8082179 /usr/lib/libm-2.23.so
7f90bb1b2000-7f90bb3b1000 ---p 00103000 00:25 8082179 /usr/lib/libm-2.23.so
7f90bb3b1000-7f90bb3b2000 r--p 00102000 00:25 8082179 /usr/lib/libm-2.23.so
7f90bb3b2000-7f90bb3b3000 rw-p 00103000 00:25 8082179 /usr/lib/libm-2.23.so
7f90bb3b7000-7f90bb3bf000 r-xp 00000000 00:25 8082170 /usr/lib/libcrypt-2.23.so
7f90bb3bf000-7f90bb5be000 ---p 00008000 00:25 8082170 /usr/lib/libcrypt-2.23.so
7f90bb5be000-7f90bb5bf000 r--p 00007000 00:25 8082170 /usr/lib/libcrypt-2.23.so
7f90bb5bf000-7f90bb5c0000 rw-p 00008000 00:25 8082170 /usr/lib/libcrypt-2.23.so
7f90bb5c0000-7f90bb5ee000 rw-p 00000000 00:00 0
7f90bb5ef000-7f90bb5f1000 r-xp 00000000 00:25 8082178 /usr/lib/libdl-2.23.so
7f90bb5f1000-7f90bb7f1000 ---p 00002000 00:25 8082178 /usr/lib/libdl-2.23.so
7f90bb7f1000-7f90bb7f2000 r--p 00002000 00:25 8082178 /usr/lib/libdl-2.23.so
7f90bb7f2000-7f90bb7f3000 rw-p 00003000 00:25 8082178 /usr/lib/libdl-2.23.so
7f90bb7f7000-7f90bb86e000 r-xp 00000000 00:25 7294101 /usr/lib/libgmp.so.10.3.0
7f90bb86e000-7f90bba6d000 ---p 00077000 00:25 7294101 /usr/lib/libgmp.so.10.3.0
7f90bba6d000-7f90bba6e000 r--p 00076000 00:25 7294101 /usr/lib/libgmp.so.10.3.0
7f90bba6e000-7f90bba6f000 rw-p 00077000 00:25 7294101 /usr/lib/libgmp.so.10.3.0
7f90bba6f000-7f90bba87000 r-xp 00000000 00:25 8082106 /usr/lib/libpthread-2.23.so
7f90bba87000-7f90bbc86000 ---p 00018000 00:25 8082106 /usr/lib/libpthread-2.23.so
7f90bbc86000-7f90bbc87000 r--p 00017000 00:25 8082106 /usr/lib/libpthread-2.23.so
7f90bbc87000-7f90bbc88000 rw-p 00018000 00:25 8082106 /usr/lib/libpthread-2.23.so
7f90bbc88000-7f90bbc8c000 rw-p 00000000 00:00 0
7f90bbc8f000-7f90bbcb2000 r-xp 00000000 00:25 8082124 /usr/lib/ld-2.23.so
7f90bbd87000-7f90bbdab000 r--s 00000000 00:25 8082106 /usr/lib/libpthread-2.23.so
7f90bbdac000-7f90bbdad000 ---p 00000000 00:00 0
7f90bbdad000-7f90bbeb2000 rw-p 00000000 00:00 0
7f90bbeb2000-7f90bbeb3000 r--p 00023000 00:25 8082124 /usr/lib/ld-2.23.so
7f90bbeb3000-7f90bbeb4000 rw-p 00024000 00:25 8082124 /usr/lib/ld-2.23.so
7f90bbeb4000-7f90bbeb6000 rw-p 00000000 00:00 0
7f90bbeb6000-7f90bbeb9000 rw-p 00000000 00:00 0
7fff74b6b000-7fff7536a000 rw-p 00000000 00:00 0 [stack]
7fff75407000-7fff7540a000 r--p 00000000 00:00 0 [vvar]
7fff7540a000-7fff7540c000 r-xp 00000000 00:00 0 [vdso]
</code></pre>
<pre><code>(gdb) thread apply all bt
Thread 12 (Thread 0x7f90b8ab3700 (LWP 8188)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f841a280, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8bb3e50, th=0x5596f841a280) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f841a280, reg_cfp=0x7f90b8bb3e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f841a280, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841a280) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b8bb3ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f841a280) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f841a280, block=0x7f90b8bb3ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8ab1288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b8ab1288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b8ab1288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=7) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8bb3ed0, th=0x5596f841a280) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f841a280, reg_cfp=0x7f90b8bb3ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841a280, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841a280) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f841a280) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f841a280, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b8ab1b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f841a280) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f841a280, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b8ab1b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b8ab1b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b8ab1b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f841a280, list=0x5596f7c734f0, trace_arg=0x7f90b8ab2110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f841a280, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b8ab2110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b8ab2110, trace_arg@entry=0x7f90b8ab1cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b8ab2110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f841a280) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f841a280, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841a280) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b8bb3fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f841a280) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f841a280, block=0x7f90b8bb3fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8ab23e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b8ab23e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b8ab23e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=193) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8bb3f90, th=0x5596f841a280) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f841a280, reg_cfp=0x7f90b8bb3f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841a280, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841a280) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8410ac0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f841a280) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f841a280, block=0x5596f8410ac0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f82936a8, argc=0, self=94106896914280, block=0x5596f8410ac0, th=0x5596f841a280) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f841a280, proc=proc@entry=0x5596f8410ac0, self=94106896914280, argc=0, argv=0x5596f82936a8, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f841a280, proc=proc@entry=0x5596f8410ac0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f841a280, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f841a280) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 11 (Thread 0x7f90b92bb700 (LWP 8175)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f841e480, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b93bbe50, th=0x5596f841e480) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f841e480, reg_cfp=0x7f90b93bbe50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f841e480, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841e480) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b93bbef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f841e480) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f841e480, block=0x7f90b93bbef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b92b9288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b92b9288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b92b9288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=7) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b93bbed0, th=0x5596f841e480) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f841e480, reg_cfp=0x7f90b93bbed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841e480, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841e480) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f841e480) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f841e480, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b92b9b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f841e480) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f841e480, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b92b9b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b92b9b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b92b9b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f841e480, list=0x5596f7c734f0, trace_arg=0x7f90b92ba110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f841e480, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b92ba110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b92ba110, trace_arg@entry=0x7f90b92b9cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b92ba110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f841e480) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f841e480, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841e480) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b93bbfb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f841e480) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f841e480, block=0x7f90b93bbfb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b92ba3e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b92ba3e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b92ba3e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=207) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b93bbf90, th=0x5596f841e480) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f841e480, reg_cfp=0x7f90b93bbf90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841e480, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841e480) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8410070, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f841e480) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f841e480, block=0x5596f8410070, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293bd0, argc=0, self=94106896914280, block=0x5596f8410070, th=0x5596f841e480) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f841e480, proc=proc@entry=0x5596f8410070, self=94106896914280, argc=0, argv=0x5596f8293bd0, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f841e480, proc=proc@entry=0x5596f8410070, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f841e480, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f841e480) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 10 (Thread 0x7f90b8eb7700 (LWP 8177)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f841c390, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8fb7e50, th=0x5596f841c390) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f841c390, reg_cfp=0x7f90b8fb7e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f841c390, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841c390) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b8fb7ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f841c390) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f841c390, block=0x7f90b8fb7ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8eb5288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b8eb5288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b8eb5288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=11) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8fb7ed0, th=0x5596f841c390) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f841c390, reg_cfp=0x7f90b8fb7ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841c390, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841c390) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f841c390) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f841c390, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b8eb5b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f841c390) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f841c390, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b8eb5b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b8eb5b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b8eb5b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f841c390, list=0x5596f7c734f0, trace_arg=0x7f90b8eb6110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f841c390, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b8eb6110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b8eb6110, trace_arg@entry=0x7f90b8eb5cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b8eb6110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f841c390) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f841c390, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841c390) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b8fb7fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f841c390) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f841c390, block=0x7f90b8fb7fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8eb63e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b8eb63e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b8eb63e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=203) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8fb7f90, th=0x5596f841c390) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f841c390, reg_cfp=0x7f90b8fb7f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f841c390, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f841c390) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8429ee0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f841c390) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f841c390, block=0x5596f8429ee0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293928, argc=0, self=94106896914280, block=0x5596f8429ee0, th=0x5596f841c390) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f841c390, proc=proc@entry=0x5596f8429ee0, self=94106896914280, argc=0, argv=0x5596f8293928, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f841c390, proc=proc@entry=0x5596f8429ee0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f841c390, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f841c390) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 9 (Thread 0x7f90b90b9700 (LWP 8176)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f8420570, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b91b9e50, th=0x5596f8420570) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f8420570, reg_cfp=0x7f90b91b9e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f8420570, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8420570) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b91b9ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f8420570) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f8420570, block=0x7f90b91b9ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b90b7288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b90b7288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b90b7288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=15) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b91b9ed0, th=0x5596f8420570) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f8420570, reg_cfp=0x7f90b91b9ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8420570, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8420570) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f8420570) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f8420570, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b90b7b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f8420570) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f8420570, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b90b7b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b90b7b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b90b7b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f8420570, list=0x5596f7c734f0, trace_arg=0x7f90b90b8110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f8420570, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b90b8110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b90b8110, trace_arg@entry=0x7f90b90b7cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b90b8110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8420570) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f8420570, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8420570) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b91b9fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8420570) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f8420570, block=0x7f90b91b9fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b90b83e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b90b83e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b90b83e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=209) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b91b9f90, th=0x5596f8420570) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f8420570, reg_cfp=0x7f90b91b9f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8420570, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8420570) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8411010, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8420570) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f8420570, block=0x5596f8411010, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293a90, argc=0, self=94106896914280, block=0x5596f8411010, th=0x5596f8420570) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f8420570, proc=proc@entry=0x5596f8411010, self=94106896914280, argc=0, argv=0x5596f8293a90, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8420570, proc=proc@entry=0x5596f8411010, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8420570, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8420570) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 8 (Thread 0x7f90b9ac3700 (LWP 8171)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f8429a50, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b9bc3e50, th=0x5596f8429a50) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f8429a50, reg_cfp=0x7f90b9bc3e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f8429a50, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8429a50) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b9bc3ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f8429a50) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f8429a50, block=0x7f90b9bc3ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b9ac1288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b9ac1288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b9ac1288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=3) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b9bc3ed0, th=0x5596f8429a50) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f8429a50, reg_cfp=0x7f90b9bc3ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8429a50, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8429a50) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f8429a50) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f8429a50, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b9ac1b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f8429a50) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f8429a50, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b9ac1b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b9ac1b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b9ac1b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f8429a50, list=0x5596f7c734f0, trace_arg=0x7f90b9ac2110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f8429a50, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b9ac2110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b9ac2110, trace_arg@entry=0x7f90b9ac1cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b9ac2110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8429a50) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f8429a50, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8429a50) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b9bc3fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8429a50) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f8429a50, block=0x7f90b9bc3fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b9ac23e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b9ac23e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b9ac23e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=247) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b9bc3f90, th=0x5596f8429a50) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f8429a50, reg_cfp=0x7f90b9bc3f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8429a50, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8429a50) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8436470, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8429a50) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f8429a50, block=0x5596f8436470, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8294148, argc=0, self=94106896914280, block=0x5596f8436470, th=0x5596f8429a50) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f8429a50, proc=proc@entry=0x5596f8436470, self=94106896914280, argc=0, argv=0x5596f8294148, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8429a50, proc=proc@entry=0x5596f8436470, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8429a50, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8429a50) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 7 (Thread 0x7f90b96bf700 (LWP 8173)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f84105e0, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b97bfe50, th=0x5596f84105e0) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f84105e0, reg_cfp=0x7f90b97bfe50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f84105e0, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f84105e0) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b97bfef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f84105e0) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f84105e0, block=0x7f90b97bfef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b96bd288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b96bd288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b96bd288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=17) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b97bfed0, th=0x5596f84105e0) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f84105e0, reg_cfp=0x7f90b97bfed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f84105e0, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f84105e0) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f84105e0) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f84105e0, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b96bdb98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f84105e0) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f84105e0, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b96bdb98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b96bdb98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b96bdb98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f84105e0, list=0x5596f7c734f0, trace_arg=0x7f90b96be110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f84105e0, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b96be110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b96be110, trace_arg@entry=0x7f90b96bdcd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b96be110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f84105e0) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f84105e0, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f84105e0) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b97bffb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f84105e0) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f84105e0, block=0x7f90b97bffb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b96be3e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b96be3e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b96be3e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=307) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b97bff90, th=0x5596f84105e0) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f84105e0, reg_cfp=0x7f90b97bff90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f84105e0, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f84105e0) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f8421e00, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f84105e0) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f84105e0, block=0x5596f8421e00, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293e50, argc=0, self=94106896914280, block=0x5596f8421e00, th=0x5596f84105e0) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f84105e0, proc=proc@entry=0x5596f8421e00, self=94106896914280, argc=0, argv=0x5596f8293e50, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f84105e0, proc=proc@entry=0x5596f8421e00, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f84105e0, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f84105e0) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 6 (Thread 0x7f90b8cb5700 (LWP 8178)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f8418190, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8db5e50, th=0x5596f8418190) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f8418190, reg_cfp=0x7f90b8db5e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f8418190, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8418190) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b8db5ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f8418190) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f8418190, block=0x7f90b8db5ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8cb3288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b8cb3288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b8cb3288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=15) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8db5ed0, th=0x5596f8418190) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f8418190, reg_cfp=0x7f90b8db5ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8418190, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8418190) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f8418190) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f8418190, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b8cb3b98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f8418190) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f8418190, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b8cb3b98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b8cb3b98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b8cb3b98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f8418190, list=0x5596f7c734f0, trace_arg=0x7f90b8cb4110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f8418190, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b8cb4110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b8cb4110, trace_arg@entry=0x7f90b8cb3cd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b8cb4110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8418190) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f8418190, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8418190) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b8db5fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8418190) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f8418190, block=0x7f90b8db5fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b8cb43e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b8cb43e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b8cb43e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=205) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b8db5f90, th=0x5596f8418190) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f8418190, reg_cfp=0x7f90b8db5f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8418190, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8418190) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f83fc0e0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8418190) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f8418190, block=0x5596f83fc0e0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f82937e8, argc=0, self=94106896914280, block=0x5596f83fc0e0, th=0x5596f8418190) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f8418190, proc=proc@entry=0x5596f83fc0e0, self=94106896914280, argc=0, argv=0x5596f82937e8, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8418190, proc=proc@entry=0x5596f83fc0e0, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8418190, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8418190) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 5 (Thread 0x7f90b94bd700 (LWP 8174)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f8407530, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b95bde50, th=0x5596f8407530) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f8407530, reg_cfp=0x7f90b95bde50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f8407530, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8407530) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b95bdef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f8407530) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f8407530, block=0x7f90b95bdef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b94bb288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b94bb288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b94bb288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=7) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b95bded0, th=0x5596f8407530) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f8407530, reg_cfp=0x7f90b95bded0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8407530, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8407530) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f8407530) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f8407530, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b94bbb98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f8407530) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f8407530, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b94bbb98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b94bbb98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b94bbb98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f8407530, list=0x5596f7c734f0, trace_arg=0x7f90b94bc110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f8407530, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b94bc110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b94bc110, trace_arg@entry=0x7f90b94bbcd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b94bc110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8407530) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f8407530, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8407530) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b95bdfb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8407530) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f8407530, block=0x7f90b95bdfb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b94bc3e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b94bc3e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b94bc3e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=225) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b95bdf90, th=0x5596f8407530) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f8407530, reg_cfp=0x7f90b95bdf90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8407530, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8407530) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f843bb40, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8407530) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f8407530, block=0x5596f843bb40, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293d10, argc=0, self=94106896914280, block=0x5596f843bb40, th=0x5596f8407530) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f8407530, proc=proc@entry=0x5596f843bb40, self=94106896914280, argc=0, argv=0x5596f8293d10, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8407530, proc=proc@entry=0x5596f843bb40, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8407530, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8407530) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 4 (Thread 0x7f90b98c1700 (LWP 8172)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76d0a8b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_yield (th=0x5596f8413fb0, vm=0x5596f7c72f20) at ../thread_pthread.c:158
#4 rb_thread_schedule_limits (limits_us=limits_us@entry=0) at ../thread.c:1233
#5 0x00005596f76d188f in rb_thread_schedule () at ../thread.c:1244
#6 thread_s_pass (klass=<optimized out>) at ../thread.c:1538
#7 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b99c1e50, th=0x5596f8413fb0) at ../vm_insnhelper.c:1641
#8 vm_call_cfunc (th=0x5596f8413fb0, reg_cfp=0x7f90b99c1e50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#9 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f8413fb0, initial=initial@entry=0) at ../insns.def:1064
#10 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8413fb0) at ../vm.c:1653
#11 0x00005596f7714e8d in invoke_block (block=0x7f90b99c1ef0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeab18, th=0x5596f8413fb0) at ../vm.c:923
#12 invoke_block_from_c_0 (th=0x5596f8413fb0, block=0x7f90b99c1ef0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#13 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b98bf288, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#14 vm_yield (argc=1, argv=0x7f90b98bf288, th=<optimized out>) at ../vm.c:1025
#15 rb_yield_0 (argv=0x7f90b98bf288, argc=1) at ../vm_eval.c:1019
#16 rb_yield_1 (val=<optimized out>, val@entry=17) at ../vm_eval.c:1025
#17 0x00005596f760ad60 in int_dotimes (num=21) at ../numeric.c:4718
#18 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b99c1ed0, th=0x5596f8413fb0) at ../vm_insnhelper.c:1641
#19 vm_call_cfunc (th=0x5596f8413fb0, reg_cfp=0x7f90b99c1ed0, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#20 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8413fb0, initial=initial@entry=0) at ../insns.def:965
#21 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8413fb0) at ../vm.c:1653
#22 0x00005596f7714e8d in invoke_block (block=0x5596f84231b0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeac30, th=0x5596f8413fb0) at ../vm.c:923
#23 invoke_block_from_c_0 (th=0x5596f8413fb0, block=0x5596f84231b0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#24 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x7f90b98bfb98, argc=1, self=94106896914280, block=0x5596f84231b0, th=0x5596f8413fb0) at ../vm.c:998
#25 vm_invoke_proc (th=0x5596f8413fb0, proc=proc@entry=0x5596f84231b0, self=94106896914280, argc=argc@entry=1, argv=argv@entry=0x7f90b98bfb98, blockptr=0x0) at ../vm.c:1046
#26 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=proc@entry=0x5596f84231b0, argc=argc@entry=1, argv=argv@entry=0x7f90b98bfb98, blockptr=<optimized out>) at ../vm.c:1074
#27 0x00005596f7642b39 in rb_proc_call_with_block (self=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7f90b98bfb98, pass_procval=<optimized out>, pass_procval@entry=8) at ../proc.c:853
#28 0x00005596f7722bc8 in tp_call_trace (tpval=<optimized out>, trace_arg=<optimized out>) at ../vm_trace.c:1005
#29 0x00005596f7723f5a in exec_hooks_body (th=0x5596f8413fb0, list=0x5596f7c734f0, trace_arg=0x7f90b98c0110) at ../vm_trace.c:259
#30 exec_hooks_protected (th=th@entry=0x5596f8413fb0, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b98c0110) at ../vm_trace.c:298
#31 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b98c0110, trace_arg@entry=0x7f90b98bfcd0) at ../vm_trace.c:348
#32 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b98c0110) at ../vm_trace.c:383
#33 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8413fb0) at ../vm_core.h:1209
#34 vm_exec_core (th=th@entry=0x5596f8413fb0, initial=initial@entry=0) at ../insns.def:832
#35 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8413fb0) at ../vm.c:1653
#36 0x00005596f7714e8d in invoke_block (block=0x7f90b99c1fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8413fb0) at ../vm.c:923
#37 invoke_block_from_c_0 (th=0x5596f8413fb0, block=0x7f90b99c1fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#38 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b98c03e8, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#39 vm_yield (argc=1, argv=0x7f90b98c03e8, th=<optimized out>) at ../vm.c:1025
#40 rb_yield_0 (argv=0x7f90b98c03e8, argc=1) at ../vm_eval.c:1019
#41 rb_yield_1 (val=<optimized out>, val@entry=305) at ../vm_eval.c:1025
#42 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#43 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b99c1f90, th=0x5596f8413fb0) at ../vm_insnhelper.c:1641
#44 vm_call_cfunc (th=0x5596f8413fb0, reg_cfp=0x7f90b99c1f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#45 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8413fb0, initial=initial@entry=0) at ../insns.def:965
#46 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8413fb0) at ../vm.c:1653
#47 0x00005596f7714e8d in invoke_block (block=0x5596f83fd620, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8413fb0) at ../vm.c:923
#48 invoke_block_from_c_0 (th=0x5596f8413fb0, block=0x5596f83fd620, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#49 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8293f90, argc=0, self=94106896914280, block=0x5596f83fd620, th=0x5596f8413fb0) at ../vm.c:998
#50 vm_invoke_proc (th=th@entry=0x5596f8413fb0, proc=proc@entry=0x5596f83fd620, self=94106896914280, argc=0, argv=0x5596f8293f90, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#51 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8413fb0, proc=proc@entry=0x5596f83fd620, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#52 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8413fb0, stack_start=<optimized out>) at ../thread.c:585
#53 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8413fb0) at ../thread_pthread.c:884
#54 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#55 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 3 (Thread 0x7f90bbdaf700 (LWP 8143)):
#0 0x00007f90bade56cd in poll () from /usr/lib/libc.so.6
#1 0x00005596f76ce743 in timer_thread_sleep (gvl=0x5596f7c72f28) at ../thread_pthread.c:1453
#2 thread_timer (p=0x5596f7c72f28) at ../thread_pthread.c:1565
#3 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#4 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
Thread 2 (Thread 0x7f90bbeb5700 (LWP 8142)):
#0 0x00007f90bba7c0af in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00005596f76cf34b in native_cond_wait (mutex=0x5596f7c72f30, cond=0x5596f7c72f60) at ../thread_pthread.c:343
#2 gvl_acquire_common (vm=0x5596f7c72f20) at ../thread_pthread.c:90
#3 gvl_acquire (vm=0x5596f7c72f20, th=0x5596f7c735c0) at ../thread_pthread.c:108
#4 0x00005596f76d6728 in blocking_region_end (region=0x7fff75367790, th=0x5596f7c735c0) at ../thread.c:1272
#5 rb_thread_io_blocking_region (func=func@entry=0x5596f75d8930 <internal_write_func>, data1=data1@entry=0x7fff753678e0, fd=<optimized out>) at ../thread.c:1423
#6 0x00005596f75d8a02 in rb_write_internal (count=<optimized out>, buf=<optimized out>, fd=<optimized out>) at ../io.c:986
#7 io_binwrite_string (arg=arg@entry=140735159892640) at ../io.c:1265
#8 0x00005596f75b3cba in rb_ensure (b_proc=b_proc@entry=0x5596f75d8950 <io_binwrite_string>, data1=data1@entry=140735159892640, e_proc=e_proc@entry=0x5596f76cfb40 <rb_mutex_unlock>, data2=<optimized out>)
at ../eval.c:900
#9 0x00005596f76d4b1b in rb_mutex_synchronize (mutex=<optimized out>, func=func@entry=0x5596f75d8950 <io_binwrite_string>, arg=arg@entry=140735159892640) at ../thread_sync.c:491
#10 0x00005596f75dc8ba in io_binwrite (str=str@entry=94106890517800, ptr=0x5596f8077920 "\r", ' ' <repeats 67 times>, "\r", len=69, fptr=fptr@entry=0x5596f7d60f30, nosync=nosync@entry=0) at ../io.c:1330
#11 0x00005596f75e452a in io_fwrite (nosync=0, fptr=0x5596f7d60f30, str=94106890517800) at ../io.c:1437
#12 io_write (io=<optimized out>, str=<optimized out>, nosync=0) at ../io.c:1471
#13 0x00005596f7716a7a in vm_call0_cfunc_with_frame (ci=0x7fff75367b60, cc=0x7fff75367b90, argv=0x7fff75367cd0, calling=0x7fff75367b70, th=0x5596f7c735c0) at ../vm_eval.c:131
#14 vm_call0_cfunc (argv=0x7fff75367cd0, cc=0x7fff75367b90, ci=0x7fff75367b60, calling=0x7fff75367b70, th=0x5596f7c735c0) at ../vm_eval.c:148
#15 vm_call0_body (th=0x5596f7c735c0, calling=calling@entry=0x7fff75367c30, ci=ci@entry=0x7fff75367c20, cc=cc@entry=0x7fff75367c50, argv=argv@entry=0x7fff75367cd0) at ../vm_eval.c:186
#16 0x00005596f771735d in vm_call0 (me=0x5596f7cb8d90, argv=0x7fff75367cd0, argc=1, id=14881, recv=94106890763120, th=<optimized out>) at ../vm_eval.c:61
#17 rb_call0 (recv=recv@entry=94106890763120, mid=14881, argc=argc@entry=1, argv=argv@entry=0x7fff75367cd0, scope=scope@entry=CALL_FCALL, self=<optimized out>) at ../vm_eval.c:344
#18 0x00005596f7717a6a in rb_call (scope=CALL_FCALL, argv=argv@entry=0x7fff75367cd0, argc=argc@entry=1, mid=<optimized out>, recv=recv@entry=94106890763120) at ../vm_eval.c:855
#19 rb_funcallv (recv=recv@entry=94106890763120, mid=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fff75367cd0) at ../vm_eval.c:856
#20 0x00005596f75d94bb in rb_io_write (str=<optimized out>, io=94106890763120) at ../io.c:1504
#21 rb_io_print (argc=1, argv=<optimized out>, out=94106890763120) at ../io.c:6961
#22 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90bbeafc50, th=0x5596f7c735c0) at ../vm_insnhelper.c:1641
#23 vm_call_cfunc (th=0x5596f7c735c0, reg_cfp=0x7f90bbeafc50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#24 0x00005596f770f119 in vm_exec_core (th=th@entry=0x5596f7c735c0, initial=initial@entry=0) at ../insns.def:1064
#25 0x00005596f771422a in vm_exec (th=th@entry=0x5596f7c735c0) at ../vm.c:1653
#26 0x00005596f7714e8d in invoke_block (block=0x7f90bbeafe30, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106892445600, iseq=0x5596f7fa7d58, th=0x5596f7c735c0) at ../vm.c:923
#27 invoke_block_from_c_0 (th=0x5596f7c735c0, block=0x7f90bbeafe30, self=94106892445600, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#28 0x00005596f771c0ac in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7fff75368448, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#29 vm_yield (argc=1, argv=0x7fff75368448, th=<optimized out>) at ../vm.c:1025
#30 rb_yield_0 (argv=0x7fff75368448, argc=1) at ../vm_eval.c:1019
#31 rb_yield_1 (val=<optimized out>) at ../vm_eval.c:1025
#32 rb_yield (val=<optimized out>) at ../vm_eval.c:1035
#33 0x00005596f772c10c in rb_ary_each (ary=94106896973600) at ../array.c:1822
#34 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90bbeafe10, th=0x5596f7c735c0) at ../vm_insnhelper.c:1641
#35 vm_call_cfunc (th=0x5596f7c735c0, reg_cfp=0x7f90bbeafe10, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#36 0x00005596f77152be in vm_call_method_each_type (th=th@entry=0x5596f7c735c0, cfp=cfp@entry=0x7f90bbeafe10, calling=0x7fff75368650, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2028
#37 0x00005596f77157f3 in vm_call_method (th=0x5596f7c735c0, cfp=0x7f90bbeafe10, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#38 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f7c735c0, initial=initial@entry=0) at ../insns.def:965
#39 0x00005596f771422a in vm_exec (th=th@entry=0x5596f7c735c0) at ../vm.c:1653
#40 0x00005596f7714e8d in invoke_block (block=0x5596f80e3890, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106897173720, iseq=0x5596f7cb1900, th=0x5596f7c735c0) at ../vm.c:923
#41 invoke_block_from_c_0 (th=0x5596f7c735c0, block=0x5596f80e3890, self=94106897173720, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#42 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f7e55b90, argc=0, self=94106897173720, block=0x5596f80e3890, th=0x5596f7c735c0) at ../vm.c:998
#43 vm_invoke_proc (th=0x5596f7c735c0, proc=0x5596f80e3890, self=94106897173720, argc=0, argv=0x5596f7e55b90, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#44 0x00005596f7714ff8 in rb_vm_invoke_proc (th=<optimized out>, proc=<optimized out>, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#45 0x00005596f7642a9f in rb_proc_call (self=<optimized out>, args=<optimized out>) at ../proc.c:838
#46 0x00005596f75b2659 in exec_end_procs_chain (errp=0x5596f7c736c0, procs=0x5596f7a7c200 <end_procs>) at ../eval_jump.c:108
#47 rb_exec_end_proc () at ../eval_jump.c:125
#48 0x00005596f75b27a0 in ruby_finalize_0 () at ../eval.c:122
#49 0x00005596f75b2bd4 in ruby_cleanup (ex=<optimized out>) at ../eval.c:179
#50 0x00005596f75b2f16 in ruby_run_node (n=<optimized out>) at ../eval.c:300
#51 0x00005596f75af49b in main (argc=<optimized out>, argv=<optimized out>) at ../main.c:36
Thread 1 (Thread 0x7f90b9cc5700 (LWP 8170)):
#0 0x00007f90bad3a295 in raise () from /usr/lib/libc.so.6
#1 0x00007f90bad3b6da in abort () from /usr/lib/libc.so.6
#2 0x00005596f779e02e in die () at ../error.c:380
#3 rb_bug_context (ctx=ctx@entry=0x5596f8456d40, fmt=fmt@entry=0x5596f77d1dc2 "Segmentation fault at %p") at ../error.c:410
#4 0x00005596f769bd8e in sigsegv (sig=<optimized out>, info=0x5596f8456e70, ctx=0x5596f8456d40) at ../signal.c:896
#5 <signal handler called>
#6 exec_hooks_body (th=0x5596f8410b80, list=0x5596f7c734f0, trace_arg=0x7f90b9cc4050) at ../vm_trace.c:254
#7 exec_hooks_protected (th=th@entry=0x5596f8410b80, list=0x5596f7c734f0, trace_arg=trace_arg@entry=0x7f90b9cc4050) at ../vm_trace.c:298
#8 0x00005596f772588e in rb_threadptr_exec_event_hooks_orig (pop_p=0, trace_arg=0x7f90b9cc4050, trace_arg@entry=0x7f90b9cc3c10) at ../vm_trace.c:348
#9 rb_threadptr_exec_event_hooks (trace_arg=trace_arg@entry=0x7f90b9cc4050) at ../vm_trace.c:383
#10 0x00005596f7712ecd in ruby_exec_event_hook_orig (pop_p=0, data=<optimized out>, klass=0, id=0, self=<optimized out>, flag=<optimized out>, th=0x5596f8410b80) at ../vm_core.h:1209
#11 vm_exec_core (th=th@entry=0x5596f8410b80, initial=initial@entry=0) at ../insns.def:832
#12 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8410b80) at ../vm.c:1653
#13 0x00005596f7714e8d in invoke_block (block=0x7f90b9dc5fb0, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeaed8, th=0x5596f8410b80) at ../vm.c:923
#14 invoke_block_from_c_0 (th=0x5596f8410b80, block=0x7f90b9dc5fb0, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=1) at ../vm.c:973
#15 0x00005596f771c244 in invoke_block_from_c_splattable (cref=0x0, blockptr=0x0, argv=0x7f90b9cc4328, argc=1, self=<optimized out>, block=<optimized out>, th=<optimized out>) at ../vm.c:990
#16 vm_yield (argc=1, argv=0x7f90b9cc4328, th=<optimized out>) at ../vm.c:1025
#17 rb_yield_0 (argv=0x7f90b9cc4328, argc=1) at ../vm_eval.c:1019
#18 rb_yield_1 (val=<optimized out>, val@entry=263) at ../vm_eval.c:1025
#19 0x00005596f760ad60 in int_dotimes (num=2001) at ../numeric.c:4718
#20 0x00005596f7707dfd in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7f90b9dc5f90, th=0x5596f8410b80) at ../vm_insnhelper.c:1641
#21 vm_call_cfunc (th=0x5596f8410b80, reg_cfp=0x7f90b9dc5f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:1736
#22 0x00005596f77152be in vm_call_method_each_type (th=th@entry=0x5596f8410b80, cfp=cfp@entry=0x7f90b9dc5f90, calling=0x7f90b9cc4530, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2028
#23 0x00005596f77157f3 in vm_call_method (th=0x5596f8410b80, cfp=0x7f90b9dc5f90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ../vm_insnhelper.c:2178
#24 0x00005596f770ed2f in vm_exec_core (th=th@entry=0x5596f8410b80, initial=initial@entry=0) at ../insns.def:965
#25 0x00005596f771422a in vm_exec (th=th@entry=0x5596f8410b80) at ../vm.c:1653
#26 0x00005596f7714e8d in invoke_block (block=0x5596f8410150, opt_pc=<optimized out>, type=<optimized out>, cref=0x0, self=94106896914280, iseq=0x5596f7eeafc8, th=0x5596f8410b80) at ../vm.c:923
#27 invoke_block_from_c_0 (th=0x5596f8410b80, block=0x5596f8410150, self=94106896914280, argc=<optimized out>, argv=<optimized out>, blockptr=<optimized out>, cref=0x0, splattable=0) at ../vm.c:973
#28 0x00005596f7714f6e in invoke_block_from_c_unsplattable (cref=0x0, blockptr=0x0, argv=0x5596f8294378, argc=0, self=94106896914280, block=0x5596f8410150, th=0x5596f8410b80) at ../vm.c:998
#29 vm_invoke_proc (th=th@entry=0x5596f8410b80, proc=proc@entry=0x5596f8410150, self=94106896914280, argc=0, argv=0x5596f8294378, blockptr=blockptr@entry=0x0) at ../vm.c:1046
#30 0x00005596f7714ff8 in rb_vm_invoke_proc (th=th@entry=0x5596f8410b80, proc=proc@entry=0x5596f8410150, argc=<optimized out>, argv=<optimized out>, blockptr=blockptr@entry=0x0) at ../vm.c:1074
#31 0x00005596f76d553b in thread_start_func_2 (th=th@entry=0x5596f8410b80, stack_start=<optimized out>) at ../thread.c:585
#32 0x00005596f76d59c8 in thread_start_func_1 (th_ptr=0x5596f8410b80) at ../thread_pthread.c:884
#33 0x00007f90bba76484 in start_thread () from /usr/lib/libpthread.so.0
#34 0x00007f90badee6dd in clone () from /usr/lib/libc.so.6
(gdb) frame 6
#6 exec_hooks_body (th=0x5596f8410b80, list=0x5596f7c734f0, trace_arg=0x7f90b9cc4050) at ../vm_trace.c:254
254 if (!(hook->hook_flags & RUBY_EVENT_HOOK_FLAG_DELETED) && (trace_arg->event & hook->events)) {
(gdb) list
249 exec_hooks_body(rb_thread_t *th, rb_hook_list_t *list, const rb_trace_arg_t *trace_arg)
250 {
251 rb_event_hook_t *hook;
252
253 for (hook = list->hooks; hook; hook = hook->next) {
254 if (!(hook->hook_flags & RUBY_EVENT_HOOK_FLAG_DELETED) && (trace_arg->event & hook->events)) {
255 if (!(hook->hook_flags & RUBY_EVENT_HOOK_FLAG_RAW_ARG)) {
256 (*hook->func)(trace_arg->event, hook->data, trace_arg->self, trace_arg->id, trace_arg->klass);
257 }
258 else {
(gdb)
259 (*((rb_event_hook_raw_arg_func_t)hook->func))(hook->data, trace_arg);
260 }
261 }
262 }
263 }
(gdb) p hook
$1 = (rb_event_hook_t *) 0x323220342e312e38
(gdb) p list->hooks
$2 = (struct rb_event_hook_struct *) 0x0
(gdb) p hook->next
Cannot access memory at address 0x323220342e312e50
</code></pre>
Ruby master - Bug #11149 (Rejected): URI.parse keeps '?' for query and '#' for fragment even if t...
https://bugs.ruby-lang.org/issues/11149
2015-05-12T23:32:12Z
davispuh (Dāvis Mosāns)
<pre><code>p = URI.parse('http://example.com/path?query#fragment')
p.query = ''
p.fragment = ''
puts p.to_s
</code></pre>
<p>will output "<a href="http://example.com/path?#" class="external">http://example.com/path?#</a>" but I think it should be "<a href="http://example.com/path" class="external">http://example.com/path</a>" without '?' and '#'</p>
Ruby master - Bug #10493 (Closed): Wrong encoding for Etc.getlogin in Windows
https://bugs.ruby-lang.org/issues/10493
2014-11-10T00:35:45Z
davispuh (Dāvis Mosāns)
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">name</span> <span class="o">=</span> <span class="no">Etc</span><span class="p">.</span><span class="nf">getlogin</span> <span class="c1"># I've Windows username "Dāvis"</span>
<span class="nb">puts</span> <span class="nb">name</span> <span class="c1"># D�vis</span>
<span class="nb">puts</span> <span class="nb">name</span><span class="p">.</span><span class="nf">inspect</span> <span class="c1"># "D\xE2vis"</span>
<span class="nb">puts</span> <span class="nb">name</span><span class="p">.</span><span class="nf">encoding</span> <span class="c1"># ASCII-8BIT</span>
<span class="nb">name</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'Windows-1257'</span><span class="p">)</span>
<span class="nb">puts</span> <span class="nb">name</span> <span class="c1"># Dāvis</span>
</code></pre>
<p>As you can see \xE2 isn't "ā" in ASCII, but it is for Windws-1257 encoding.</p>
Ruby master - Bug #10126 (Closed): Dir.home encoding is incorrect on Windows
https://bugs.ruby-lang.org/issues/10126
2014-08-11T18:26:20Z
davispuh (Dāvis Mosāns)
<p>Dir.home string itself is actually returned encoded in cp775 (no matter what consoles encoding is)<br>
but encoding information is as windows default encoding.</p>
<p>For example, if my home directory is C:\Users\Dāvis and windows default encoding 1257 with cosnole's encoding as 1252</p>
<pre><code>dir = Dir.home
=> "C:/Users/D\x83vis"
dir.encoding
=> #<Encoding:Windows-1257>
puts dir
=> C:/Users/D�vis
dir.force_encoding('cp775')
puts dir
=> C:/Users/Dāvis
</code></pre>
<p>As can see, x83 is ā character in 775 encoding.</p>
Backport200 - Backport #8943 (Rejected): Invalid encoding for Windows Registry
https://bugs.ruby-lang.org/issues/8943
2013-09-24T05:42:36Z
davispuh (Dāvis Mosāns)
<p>=begin<br>
It's not possible to correctly read non-ASCII registry values. It's also not possible to write them with correct encoding.</p>
<p>to test import ((<test.reg|URL:<a href="https://gist.github.com/davispuh/6676385#file-test-reg%3E" class="external">https://gist.github.com/davispuh/6676385#file-test-reg></a>))</p>
<p>then ((<test3.rb|URL:<a href="https://gist.github.com/davispuh/6676377#file-test3-rb%3E" class="external">https://gist.github.com/davispuh/6676377#file-test3-rb></a>))</p>
<p>Output on Ruby 2.0 (it's same for 1.9.3 except encoding is US-ASCII not UTF-8, but both are wrong)</p>
<p>N:\Projects>ruby test3.rb<br>
UTF-8<br>
�??�?�<br>
"\xE5??\xE4?\xE2"<br>
test</p>
<p>(it hangs here)</p>
<p>screenshot of registry after running it ((<a href="URL:http://i.imm.io/1gFES.png" class="external">URL:http://i.imm.io/1gFES.png</a>))</p>
<p>seems that whoever wrote Ruby code to interact with WinAPI had no idea about encodings/code pages Windows uses as there's loads of issues and they've been for years.<br>
=end</p>
Backport200 - Backport #8942 (Closed): Wrong encoding for Windows native error messages
https://bugs.ruby-lang.org/issues/8942
2013-09-24T05:04:37Z
davispuh (Dāvis Mosāns)
<p>=begin<br>
Ruby uses console's encoding/code page for Windows native error messages, but that's wrong. Windows error messages aren't related to console at all. To get code page for WinAPI ANSI (A) functions have to use ((<GetACP|URL:<a href="http://msdn.microsoft.com/en-us/library/dd318070.aspx%3E" class="external">http://msdn.microsoft.com/en-us/library/dd318070.aspx></a>))</p>
<p>But even better would be to use Wide/Unicode (W) functions then don't have to worry about encoding as everything would be UTF-16</p>
<p>I've localized version of Windows and so all error messages are translated.</p>
<p>Here's ((<test2.rb|URL:<a href="https://gist.github.com/davispuh/6675912#file-test2-rb%3E" class="external">https://gist.github.com/davispuh/6675912#file-test2-rb></a>)) script (windows-1257 is code page used by windows for me so by changing to it I get correct output)</p>
<p>Output on ((<Ruby 2.0|URL:<a href="https://gist.github.com/davispuh/6676016#file-rubybug%3E" class="external">https://gist.github.com/davispuh/6676016#file-rubybug></a>)) (it's exactly same for 1.9.3) (that error message "Sistēma nevar atrast norādīto failu." means "The system cannot find the file specified")</p>
<p>It's probably not only place where are such issue with encoding.</p>
<p>=end</p>
Ruby master - Bug #8822 (Closed): Incorrect encoding for ENV in Windows
https://bugs.ruby-lang.org/issues/8822
2013-08-27T17:57:39Z
davispuh (Dāvis Mosāns)
<p>When reading <code>ENV</code> and if it contains non-ASCII - string won't have correct encoding.<br>
In Ruby 2.0 we can force it to UTF8 (it doesn't matter what's windows encoding nor consoles) and it will be correct, but in Ruby 1.9 there's no way to correctly read it.</p>
<p>Writing non-ASCII string to ENV is not possible at all neither of versions.</p>
<p>Also Ruby1.9 fails to read ENV with name witch contains non-ASCII</p>
<p>Here's <a href="https://gist.github.com/davispuh/6351158" class="external">test.rb script</a> (basically set environment variable outside of ruby and in ruby print it out)</p>
<p>Output on <a href="https://gist.github.com/davispuh/6351163" class="external">Ruby2.0</a> and on <a href="https://gist.github.com/davispuh/6351207" class="external">Ruby1.9</a></p>
<p>Seems it wasn't properly fixed in <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://bugs.ruby-lang.org/issues/5570">#5570</a></p>
Ruby master - Bug #8592 (Third Party's Issue): when outputing to console, it's encoding is ignore...
https://bugs.ruby-lang.org/issues/8592
2013-07-02T05:06:40Z
davispuh (Dāvis Mosāns)
<p>=begin<br>
for example code</p>
<p>#!/usr/bin/env ruby<br>
#encoding: utf-8<br>
print "testing ā"</p>
<p>when open CMD with changed encoding ie. ((%chcp 1257%))</p>
<p>it wont correctly output ((<em>ā</em>)) even that encoding and console does support it.</p>
<p>also if we change console's encoding to utf-8 with ((%chcp 65001%))<br>
both Ruby versions (1.9 and 2.0) will crash (see attachment)</p>
<p>=end</p>