Skip to content

Instantly share code, notes, and snippets.

@voxik
Created January 9, 2012 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save voxik/1583613 to your computer and use it in GitHub Desktop.
Save voxik/1583613 to your computer and use it in GitHub Desktop.
# ./ruby -rcontinuation -e 'cont = nil; callcc { |k| cont = k }; cont.call'
-e:1: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :callcc
c:0003 p:0015 s:0007 b:0007 l:0009d8 d:000500 EVAL -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0009d8 d:0009d8 TOP
-- Ruby level backtrace information ----------------------------------------
-e:1:in `<main>'
-e:1:in `callcc'
-- C level backtrace information -------------------------------------------
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x14230d) [0x7f06799cd30d] ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1500
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x541d2) [0x7f06798df1d2] vfprintf.c:1567
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(rb_bug+0xc3) [0x7f06798df952] _itowa.h:54
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0xe7945) [0x7f0679972945] fstab.c:142
/lib64/libpthread.so.0(+0xef40) [0x7f067967df40] ../nptl/sysdeps/pthread/funlockfile.c:30
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x1497e7) [0x7f06799d47e7] ../sysdeps/x86_64/strcmp.S:991
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x14982d) [0x7f06799d482d] ../sysdeps/x86_64/strcmp.S:1013
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x12e569) [0x7f06799b9569] ../sysdeps/x86_64/multiarch/strcmp-sse42.S:1449
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x13c9ac) [0x7f06799c79ac] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:1437
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x133e3d) [0x7f06799bee3d] ../sysdeps/x86_64/multiarch/strcmp-sse42.S:1082
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x138315) [0x7f06799c3315] ../sysdeps/x86_64/strcmp.S:1568
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(rb_iseq_eval_main+0xc6) [0x7f06799c9c29] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:961
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(+0x57d58) [0x7f06798e2d58] vfscanf.c:2606
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(ruby_exec_node+0x1e) [0x7f06798e3183] vfscanf.c:1826
/builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1(ruby_run_node+0x30) [0x7f06798e4a13] vfscanf.c:1710
./ruby() [0x40097b] main.c:38
/lib64/libc.so.6(__libc_start_main+0xed) [0x7f06789a059d] libc-start.c:226
./ruby() [0x400849]
-- Other runtime information -----------------------------------------------
* Loaded script: -e
* Loaded features:
0 enumerator.so
1 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/encdb.so
2 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/trans/transdb.so
3 /builddir/build/BUILD/ruby-1.9.3-p0/lib/rubygems/defaults.rb
4 /builddir/build/BUILD/ruby-1.9.3-p0/rbconfig.rb
5 /builddir/build/BUILD/ruby-1.9.3-p0/lib/rubygems/deprecate.rb
6 /builddir/build/BUILD/ruby-1.9.3-p0/lib/rubygems/exceptions.rb
7 /builddir/build/BUILD/ruby-1.9.3-p0/lib/rubygems/custom_require.rb
8 /builddir/build/BUILD/ruby-1.9.3-p0/lib/rubygems.rb
9 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/continuation.so
* Process memory map:
00400000-00401000 r-xp 00000000 00:13 28907671 /builddir/build/BUILD/ruby-1.9.3-p0/ruby
00600000-00601000 r--p 00000000 00:13 28907671 /builddir/build/BUILD/ruby-1.9.3-p0/ruby
00601000-00602000 rw-p 00001000 00:13 28907671 /builddir/build/BUILD/ruby-1.9.3-p0/ruby
02495000-0271d000 rw-p 00000000 00:00 0 [heap]
7f0671ad5000-7f0671aea000 r-xp 00000000 00:13 28873895 /lib64/libgcc_s-4.7.0-20120106.so.1
7f0671aea000-7f0671ce9000 ---p 00015000 00:13 28873895 /lib64/libgcc_s-4.7.0-20120106.so.1
7f0671ce9000-7f0671cea000 rw-p 00014000 00:13 28873895 /lib64/libgcc_s-4.7.0-20120106.so.1
7f0671cea000-7f0671ceb000 r-xp 00000000 00:13 28905674 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/continuation.so
7f0671ceb000-7f0671eea000 ---p 00001000 00:13 28905674 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/continuation.so
7f0671eea000-7f0671eeb000 r--p 00000000 00:13 28905674 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/continuation.so
7f0671eeb000-7f0671eec000 rw-p 00001000 00:13 28905674 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/continuation.so
7f0671eec000-7f0671eee000 r-xp 00000000 00:13 28902102 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/trans/transdb.so
7f0671eee000-7f06720ee000 ---p 00002000 00:13 28902102 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/trans/transdb.so
7f06720ee000-7f06720ef000 r--p 00002000 00:13 28902102 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/trans/transdb.so
7f06720ef000-7f06720f0000 rw-p 00003000 00:13 28902102 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/trans/transdb.so
7f06720f0000-7f06720f2000 r-xp 00000000 00:13 28901368 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/encdb.so
7f06720f2000-7f06722f1000 ---p 00002000 00:13 28901368 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/encdb.so
7f06722f1000-7f06722f2000 r--p 00001000 00:13 28901368 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/encdb.so
7f06722f2000-7f06722f3000 rw-p 00002000 00:13 28901368 /builddir/build/BUILD/ruby-1.9.3-p0/.ext/x86_64-linux/enc/encdb.so
7f06722f3000-7f067871c000 r--p 00000000 00:13 28870227 /usr/lib/locale/locale-archive
7f067871c000-7f0678779000 r-xp 00000000 00:13 28859116 /lib64/libfreebl3.so
7f0678779000-7f0678979000 ---p 0005d000 00:13 28859116 /lib64/libfreebl3.so
7f0678979000-7f067897a000 r--p 0005d000 00:13 28859116 /lib64/libfreebl3.so
7f067897a000-7f067897b000 rw-p 0005e000 00:13 28859116 /lib64/libfreebl3.so
7f067897b000-7f067897f000 rw-p 00000000 00:00 0
7f067897f000-7f0678b28000 r-xp 00000000 00:13 28859124 /lib64/libc-2.15.so
7f0678b28000-7f0678d27000 ---p 001a9000 00:13 28859124 /lib64/libc-2.15.so
7f0678d27000-7f0678d2b000 r--p 001a8000 00:13 28859124 /lib64/libc-2.15.so
7f0678d2b000-7f0678d2d000 rw-p 001ac000 00:13 28859124 /lib64/libc-2.15.so
7f0678d2d000-7f0678d32000 rw-p 00000000 00:00 0
7f0678d32000-7f0678e2b000 r-xp 00000000 00:13 28859132 /lib64/libm-2.15.so
7f0678e2b000-7f067902a000 ---p 000f9000 00:13 28859132 /lib64/libm-2.15.so
7f067902a000-7f067902b000 r--p 000f8000 00:13 28859132 /lib64/libm-2.15.so
7f067902b000-7f067902c000 rw-p 000f9000 00:13 28859132 /lib64/libm-2.15.so
7f067902c000-7f0679034000 r-xp 00000000 00:13 28859128 /lib64/libcrypt-2.15.so
7f0679034000-7f0679233000 ---p 00008000 00:13 28859128 /lib64/libcrypt-2.15.so
7f0679233000-7f0679234000 r--p 00007000 00:13 28859128 /lib64/libcrypt-2.15.so
7f0679234000-7f0679235000 rw-p 00008000 00:13 28859128 /lib64/libcrypt-2.15.so
7f0679235000-7f0679263000 rw-p 00000000 00:00 0
7f0679263000-7f0679265000 r-xp 00000000 00:13 28859130 /lib64/libdl-2.15.so
7f0679265000-7f0679465000 ---p 00002000 00:13 28859130 /lib64/libdl-2.15.so
7f0679465000-7f0679466000 r--p 00002000 00:13 28859130 /lib64/libdl-2.15.so
7f0679466000-7f0679467000 rw-p 00003000 00:13 28859130 /lib64/libdl-2.15.so
7f0679467000-7f067946e000 r-xp 00000000 00:13 28859154 /lib64/librt-2.15.so
7f067946e000-7f067966d000 ---p 00007000 00:13 28859154 /lib64/librt-2.15.so
7f067966d000-7f067966e000 r--p 00006000 00:13 28859154 /lib64/librt-2.15.so
7f067966e000-7f067966f000 rw-p 00007000 00:13 28859154 /lib64/librt-2.15.so
7f067966f000-7f0679685000 r-xp 00000000 00:13 28859150 /lib64/libpthread-2.15.so
7f0679685000-7f0679885000 ---p 00016000 00:13 28859150 /lib64/libpthread-2.15.so
7f0679885000-7f0679886000 r--p 00016000 00:13 28859150 /lib64/libpthread-2.15.so
7f0679886000-7f0679887000 rw-p 00017000 00:13 28859150 /lib64/libpthread-2.15.so
7f0679887000-7f067988b000 rw-p 00000000 00:00 0
7f067988b000-7f0679a67000 r-xp 00000000 00:13 28900858 /builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1
7f0679a67000-7f0679c66000 ---p 001dc000 00:13 28900858 /builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1
7f0679c66000-7f0679c6e000 rw-p 001db000 00:13 28900858 /builddir/build/BUILD/ruby-1.9.3-p0/libruby.so.1.9.1
7f0679c6e000-7f0679c8a000 rw-p 00000000 00:00 0
7f0679c8a000-7f0679ca9000 r-xp 00000000 00:13 28859117 /lib64/ld-2.15.so
7f0679d95000-7f0679d9c000 r--s 00000000 00:13 28870708 /usr/lib64/gconv/gconv-modules.cache
7f0679d9c000-7f0679ea4000 rw-p 00000000 00:00 0
7f0679ea4000-7f0679ea5000 ---p 00000000 00:00 0
7f0679ea5000-7f0679ea9000 rw-p 00000000 00:00 0
7f0679ea9000-7f0679eaa000 r--p 0001f000 00:13 28859117 /lib64/ld-2.15.so
7f0679eaa000-7f0679eab000 rw-p 00020000 00:13 28859117 /lib64/ld-2.15.so
7f0679eab000-7f0679eac000 rw-p 00000000 00:00 0
7fff7cdab000-7fff7cdcc000 rw-p 00000000 00:00 0 [stack]
7fff7cdff000-7fff7ce00000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
Neúspěšně ukončen (SIGABRT) (core dumped [obraz paměti uložen])
# rubgdb ./ruby
GNU gdb (GDB) Fedora (7.4.50.20120103-5.fc17)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /builddir/build/BUILD/ruby-1.9.3-p0/ruby...done.
warning: not using untrusted file ".gdbinit"
(gdb) run -rcontinuation -e 'cont = nil; callcc { |k| cont = k }; cont.call'
Starting program: /builddir/build/BUILD/ruby-1.9.3-p0/ruby -rcontinuation -e 'cont = nil; callcc { |k| cont = k }; cont.call'
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff7ff9700 (LWP 1192)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b277e7 in cont_capture (stat=0x7fffffffddc0, stat@entry=0x7fffffffde04) at cont.c:444
444 cont->value = Qnil;
(gdb)
(gdb) where
#0 0x00007ffff7b277e7 in cont_capture (stat=0x7fffffffddc0, stat@entry=0x7fffffffde04) at cont.c:444
#1 0x00007ffff7b2782d in rb_callcc (self=<optimized out>) at cont.c:846
#2 0x00007ffff7b0c569 in call_cfunc (func=0x7ffff7b2781c <rb_callcc>, recv=recv@entry=6719200, len=<optimized out>, argc=argc@entry=0, argv=<optimized out>) at vm_insnhelper.c:320
#3 0x00007ffff7b1a9ac in vm_call_cfunc (me=0x880a10, blockptr=0x7ffff7fedf30, recv=<optimized out>, num=0, reg_cfp=0x7ffff7fedf08, th=0x603520) at vm_insnhelper.c:404
#4 vm_call_method (th=th@entry=0x603520, cfp=cfp@entry=0x7ffff7fedf08, num=num@entry=0, blockptr=0x7ffff7fedf30, flag=flag@entry=8, id=id@entry=14640, me=0x880a10,
recv=recv@entry=6719200) at vm_insnhelper.c:534
#5 0x00007ffff7b11e3d in vm_exec_core (th=0x603520, th@entry=0x7ffff7b27971, initial=initial@entry=0) at insns.def:1015
#6 0x00007ffff7b16315 in vm_exec (th=0x7ffff7b27971, th@entry=0x603520) at vm.c:1220
#7 0x00007ffff7b1cc29 in rb_iseq_eval_main (iseqval=iseqval@entry=6530640) at vm.c:1461
#8 0x00007ffff7a35d58 in ruby_exec_internal (n=0x63a650) at eval.c:204
#9 0x00007ffff7a36183 in ruby_exec_node (n=n@entry=0x63a650) at eval.c:251
#10 0x00007ffff7a37a13 in ruby_run_node (n=0x63a650) at eval.c:244
#11 0x000000000040097b in main (argc=4, argv=0x7fffffffe3c8) at main.c:38
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment