[#9722] Kernel#system broken inside Dir.chdir(&block) if system command doesn't have shell characters — <noreply@...>

Bugs item #7278, was opened at 2006-12-14 13:59

8 messages 2006/12/14

[#9749] System V IPC in standard library? — Steven Jenkins <steven.jenkins@...>

Back in August, I needed a semaphore to serialize access to an external

14 messages 2006/12/19

[#9753] CVS freeze — SASADA Koichi <ko1@...>

Hi,

20 messages 2006/12/20
[#9755] Re: [ruby-dev:30039] CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

[#9757] Re: [ruby-dev:30040] Re: CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

Segmentation fault - bignorm()

From: ico@... (Ico Doornekamp)
Date: 2006-12-08 15:41:51 UTC
List: ruby-core #9685
Hello,

(If this is not the right place to ask this question, please redirect me
to the proper list)

I have created a small project in ruby to visualize disk space usage.
This script works fine for me and for a lot of people who are using it,
but a few users reported to me that the program causes a segmentation
fault. I have spent quite some time on this, but I am not able to
reproduce this myself. Fortunately, one of my users generated a stack
backtrace of the breaking code - attached to the end of this message.

The top frame shows this :

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread -1479578976 (LWP 27229)]
  0xa7ea6ce3 in bignorm (x=2815056860) at bignum.c:106
  106             while (len-- && !ds[len]) ;

It seems that something goes wrong in bignum library, but I am not sure
if this is caused by a bug/malfunction of my script, or by something
internal to ruby.

Could some of the more enlightened ruby-hackers take a peek at this
trace, and maybe say something about what could be the cause of this ?

The script itself is avaialble at http://zevv.nl/code/philesight/

Thank you for your time,

Ico

----- GDB backtrace follows -------------------------------

GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) r -- philesight --db /tmp/db --index /mnt/strateg
Starting program: /usr/bin/ruby1.8 -- philesight --db /tmp/db --index /mnt/strateg
[Thread debugging using libthread_db enabled]
[New Thread -1479578976 (LWP 27229)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1479578976 (LWP 27229)]
0xa7ea6ce3 in bignorm (x=2815056860) at bignum.c:106
106             while (len-- && !ds[len]) ;
(gdb) bt full
#0  0xa7ea6ce3 in bignorm (x=2815056860) at bignum.c:106
        len = 1100466652
        ds = (unsigned int *) 0x0
#1  0xa7ea930b in rb_big_mul (x=2815057020, y=2815057000) at bignum.c:1267
No locals.
#2  0xa7ec32cb in call_cfunc (func=0xa7ea92df <rb_big_mul>, recv=2815057020, len=1, argc=1, argv=0xaf9dbd20) at eval.c:5655
No locals.
#3  0xa7ec273d in rb_call0 (klass=2815362540, recv=2815057020, id=42, oid=42, argc=1, argv=0xaf9dbd20, body=0xa7cf04fc, flags=0) at eval.c:5805
        len = 1
        _frame = {self = 2815057020, argc = 1, last_func = 42, orig_func = 42, last_class = 2815362540, prev = 0xaf9dcaa4, tmp = 0x0, node = 0xa7cd7650, iter = 0, flags = 0, uniq = 9974}
        _iter = {iter = 0, prev = 0xaf9dc6ec}
        b2 = (NODE *) 0xa7f30d99
        result = 4
        itr = 0
        safe = -1
        tick = 9859
#4  0xa7ec3e54 in rb_call (klass=2815362540, recv=2815057020, mid=42, argc=1, argv=0xaf9dbd20, scope=0, self=2814849000) at eval.c:6045
        body = (NODE *) 0xa7cf04fc
        noex = 0
        id = 42
        ent = (struct cache_entry *) 0xa7f650e8
#5  0xa7ebc323 in rb_eval (self=2814849000, n=0xa7cd7650) at eval.c:3436
        recv = 2815057020
        argc = 1
        argv = (VALUE *) 0xaf9dbd20
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7cd7650
        state = -1348615820
        result = 4
#6  0xa7ebc1b2 in rb_eval (self=2814849000, n=0xa7cd7614) at eval.c:3431
        i = 0
        n = (NODE *) 0xa7cd763c
        _iter = {iter = 0, prev = 0xaf9dca98}
        tmp_block = (struct BLOCK *) 0x0
        tmp_iter = 0
        recv = 9475
        argc = 1
        argv = (VALUE *) 0xaf9dc310
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7cd7628
        state = 135114176
        result = 4
#7  0xa7ec05bb in rb_yield_0 (val=2815098140, self=2814849000, klass=0, flags=0, avalue=0) at eval.c:4980
        _tag = {buf = {{context = {uc_flags = 2946353464, uc_link = 0xa7f32a0a, uc_stack = {ss_sp = 0x0, ss_flags = 135094856, ss_size = 135094856}, uc_mcontext = {gregs = {3, 0, -1477043644, -1348613800,
            -1348613424, -1348610076, -1348613352, -1348613920, -1477043644, -1476974060, 0, 0, -1477698996, -1479747536, -1477704456, -1348613752, -1482748351, 4, 34}, fpregs = 0xaf9dca04,
          oldmask = 2817923652, cr2 = 5233}, uc_sigmask = {__val = {0, 2946353640, 2817277524, 2815351140, 2815219760, 5233, 5233, 0, 0, 2815349960, 0, 2946353960, 2816627904, 2815062140, 0, 0, 2817268187, 10,
            0, 5233, 0, 2815349960, 2817979256, 2817218357, 2817923652, 2946355128, 2817245987, 2815351140, 2815805604, 5233, 0, 0}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295,
          ipoff = 2817366732, cssel = 118489203, dataoff = 2946348240, datasel = 4294901883, _st = {{significand = {72, 0, 0, 0}, exponent = 11784}, {significand = {42951, 21752, 42978, 1064}, exponent = 0}, {
              significand = {0, 0, 10112, 42958}, exponent = 34}, {significand = {0, 6724, 42998, 333}, exponent = 0}, {significand = {52104, 44957, 13046, 42988}, exponent = 4}, {significand = {0, 51364,
                42965, 22776}, exponent = 42978}, {significand = {9, 0, 4144, 0}, exponent = 21752}, {significand = {42978, 32, 65535, 72}, exponent = 0}}, status = 1072}}, status = 0}}, frame = 0xaf9dcaa4,
  iter = 0xaf9dca98, tag = 7, retval = 4, scope = 0xa7ccd844, dst = 0, prev = 0xaf9dd62c, blkid = 0}
        _iter = {iter = 0, prev = 0xaf9dceac}
        _class = 2814867920
        _old = (struct RVarmap * volatile) 0x0
        node = (NODE *) 0xa7cd7614
        result = 4
        old_cref = 2814850160
        old_wrapper = 0
        block = (struct BLOCK * volatile) 0xaf9dd7ac
        old_scope = (struct SCOPE * volatile) 0xa7ccd844
        old_vmode = 0
        frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9dce74, tmp = 0x0, node = 0xa7cd7790, iter = 0, flags = 0, uniq = 6793}
        cnode = (NODE *) 0xa7cd7790
        lambda = 0
        state = 0
#8  0xa7ec0990 in rb_yield (val=2815098140) at eval.c:5062
No locals.
#9  0xa7ea41e8 in rb_ary_select (ary=2815062140) at array.c:1823
        result = 2815062760
        i = 0
#10 0xa7ec32ac in call_cfunc (func=0xa7ea41a3 <rb_ary_select>, recv=2815062140, len=0, argc=0, argv=0x0) at eval.c:5652
No locals.
#11 0xa7ec273d in rb_call0 (klass=2815354160, recv=2815062140, id=3721, oid=3721, argc=0, argv=0x0, body=0xa7cede14, flags=0) at eval.c:5805
        len = 0
        _frame = {self = 2815062140, argc = 0, last_func = 3721, orig_func = 3721, last_class = 2815354160, prev = 0xaf9de904, tmp = 0x0, node = 0xa7cd7790, iter = 2, flags = 0, uniq = 9971}
        _iter = {iter = 2, prev = 0xaf9dd98c}
        b2 = (NODE *) 0xa7f30d99
        result = 4
        itr = 2
        safe = -1
        tick = 9859
#12 0xa7ec3e54 in rb_call (klass=2815354160, recv=2815062140, mid=3721, argc=0, argv=0x0, scope=0, self=2814849000) at eval.c:6045
        body = (NODE *) 0xa7cede14
        noex = 0
        id = 3721
        ent = (struct cache_entry *) 0xa7f67728
#13 0xa7ebc323 in rb_eval (self=2814849000, n=0xa7cd7790) at eval.c:3436
        recv = 2815062140
        argc = 0
        argv = (VALUE *) 0x0
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7cd7790
        state = 1
        result = 4
#14 0xa7ebb06c in rb_eval (self=2814849000, n=0xa7cd7600) at eval.c:3166
        _iter = {iter = 1, prev = 0xaf9de93c}
        _block = {var = 0xa7cd7754, body = 0xa7cd7614, self = 2814849000, frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9df7d4, tmp = 0x0,
    node = 0xa7cd7600, iter = 0, flags = 0, uniq = 6793}, scope = 0xa7ccd844, klass = 2814867920, cref = 0xa7c73470, iter = 0, vmode = 0, flags = 1, uniq = 114, dyna_vars = 0x0, orig_thread = 135536328,
  wrapper = 0, block_obj = 0, outer = 0x0, prev = 0x0}
        _tag = {buf = {{context = {uc_flags = 2946356808, uc_link = 0xa7d5e87f, uc_stack = {ss_sp = 0xa7e254c0, ss_flags = 28, ss_size = 2817923652}, uc_mcontext = {gregs = {-1479747496, 0, -1348610440,
            -1477605868, -1348610076, -1348605648, -1348609192, -1348610672, -1477043644, -1348610516, 0, 0, -1479747496, -1477043644, -1477726210, -1477240506, 28, -1348610408, -1477591795},
          fpregs = 0xaf9dd718, oldmask = 2946356888, cr2 = 4294967295}, uc_sigmask = {__val = {0, 2817923652, 43, 2946361156, 2946356936, 2817726892, 2815375420, 0, 27, 2817463807, 2815220040, 2817923652,
            2946356984, 2817729481, 2, 27, 3, 264, 50, 2817923652, 2946357288, 2817274571, 529, 101de724
        saved_cref = (NODE *) 0xa7c73470
        _frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9df7d4, tmp = 0x0, node = 0xa7cd7d6c, iter = 0, flags = 0, uniq = 6793}
        _iter = {iter = 0, prev = 0xaf9df7c8}
        b2 = (NODE *) 0xa7cd6bc4
        result = 4
        itr = 0
        safe = -1
        tick = 9859
#18 0xa7ec3e54 in rb_call (klass=2814867920, recv=2814849000, mid=10505, argc=1, argv=0xaf9dea70, scope=1, self=2814849000) at eval.c:6045
        body = (NODE *) 0xa7c733bc
        noex = 0
        id = 10505
        ent = (struct cache_entry *) 0xa7f6d788
#19 0xa7ebc5ff in rb_eval (self=2814849000, n=0xa7cd7d6c) at eval.c:3451
        argc = 1
        argv = (VALUE *) 0xaf9dea70
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7cd7d6c
        state = 24162310
        result = 4
#20 0xa7ebd518 in rb_eval (self=2814849000, n=0xa7cd7a88) at eval.c:3627
        contnode = (NODE * volatile) 0xa7cd7c90
        node = (NODE * volatile) 0xa7cd7da8
        state = -1478339392
        result = 4
#21 0xa7ec05bb in rb_yield_0 (val=2815220040, self=2814849000, klass=0, flags=0, avalue=0) at eval.c:4980
        _tag = {buf = {{context = {uc_flags = 0, uc_link = 0x0, uc_stack = {ss_sp = 0xe91, ss_flags = 135471448, ss_size = 2814848520}, uc_mcontext = {gregs = {-1479708476, 0, 0, 0, -1348601856, -1348597996,
            -1348601784, -1348602352, -1477043644, -1476974060, 0, 0, 1, -1348601424, -1477704456, 0, -1478344716, 135467520, 2}, fpregs = 0xaf9df734, oldmask = 2946365508, cr2 = 2815332740}, uc_sigmask = {
          __val = {0, 2, 333, 333, 2814866260, 2946367412, 0, 2815258760, 0, 0, 6759, 0, 2815805604, 2815316360, 0, 2946367400, 2815805604, 2815220760, 0, 0, 2816627904, 135504096, 2, 0, 4, 2816628992,
            2816628984, 24, 32, 2, 2816627960, 17}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018, cssel = 118489203, dataoff = 2814904548, datasel = 4294901883, _st = {
            {sign 0, 3248}, exponent = 44958}, {significand = {13996, 42959, 0, 0}, exponent = 0}, {significand = {0, 8924, 42999, 3048}, exponent = 42957}, {
              significand = {65535, 65535, 10564, 42951}, exponent = 65535}, {significand = {65535, 0, 0, 18}, exponent = 0}, {significand = {43, 0, 0, 0}, exponent = 13996}, {significand = {42959, 61152,
                42998, 22325}, exponent = 42987}}, status = 2817923652}}, status = 0}}, frame = 0xaf9e1264, iter = 0xaf9e129c, tag = 0, retval = 4, scope = 0xa7ccd9e8, dst = 0, prev = 0xaf9e10e4, blkid = 0}
        e_info = 4
        rescuing = 0
        contnode = (NODE * volatile) 0xa7cd7268
        node = (NODE * volatile) 0xa7cd7920
        state = 0
        result = 1
#32 0xa7ec2ec4 in rb_call0 (klass=2814867920, recv=2814849000, id=10505, oid=10505, argc=0, argv=0xaf9e13d4, body=0xa7cd85a0, flags=0) at eval.c:5949
        node = (NODE *) 0xa7cd8668
        i = 1
        nopt = 1
        _tag = {buf = {{context = {uc_flags = 0, uc_link = 0x0, uc_stack = {ss_sp = 0xaf9e1284, ss_flags = -1479632696, ss_size = 2}, uc_mcontext = {gregs = {0, 0, 0, 0, -1348591264, 10505, -1348594872,
            -1348595616, -1477043644, 0, -1480099376, 0, 0, 0, -1477694457, 0, 0, 0, 0}, fpregs = 0xaf9e11d0, oldmask = 0, cr2 = 0}, uc_sigmask = {__val = {0, 0, 0, 0, 0, 0, 2815233020, 1, 2946370736, 0, 0, 0,
            1, 0 <repeats 15 times>, 2946375976, 0, 1611, 2815261780}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018, cssel = 118489203, dataoff = 2814904548,
          datasel = 4294901883, _st = {{significand = {32148, 42957, 0, 0}, exponent = 0}, {significand = {0, 0, 0, 0}, exponent = 0}, {significand = {0, 0, 0, 0}, exponent = 55864}, {significand = {42956,
                32248, 42957, 0}, exponent = 0}, {significand = {0, 0, 0, 0}, exponent = 0}, {significand = {0, 0, 0, 0}, exponent = 0}, {significand = {4680, 44958, 0, 0}, exponent = 6448}, {significand = {
                44958, 61979, 42962, 6724}, exponent = 42998}}, status = 2817227759}}, status = 0}}, frame = 0xa, 2, 135229027, -1348591264,
            -1348587404, -1348591192, -1348591760, -1477043644, -1476974060, 0, 0, 1, -1348590832, -1477704456, 0, -1478344716, 135439456, 2}, fpregs = 0xaf9e2094, oldmask = 2946376100, cr2 = 2815332740},
        uc_sigmask = {__val = {0, 2, 333, 333, 2814866260, 2946378004, 0, 2815258760, 201, 135439456, 136, 2946375772, 2815805604, 2815316360, 0, 2816622580, 2815805604, 135439464, 2946375848, 2815814945,
            2816627904, 135439464, 192, 0, 0, 2816628976, 2816627960, 136, 2816627916, 2, 2816627960, 16}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018,
          cssel = 118489203, dataoff = 2814904548, datasel = 4294901883, _st = {{significand = {42088, 2066, 192, 0}, exponent = 10524}, {significand = {42951, 3, 0, 42088}, exponent = 2066}, {significand = {
                21752, 42978, 6256, 2068}, exponent = 2}, {significand = {0, 5233, 0, 24}, exponent = 0}, {significand = {8456, 44958, 7552, 42986}, exponent = 42088}, {significand = {2066, 192, 0, 13892},
              exponent = 44958}, {significand = {8456, 44958, 16372, 42978}, exponent = 21696}, {significand = {42978, 1771, 2068, 8472}, exponent = 44958}}, status = 2815813759}}, status = 0}},
  frame = 0xaf9e2134, iter = 0xaf9e2128, tag = 7, retval = 4, scope = 0xa7cd065c, dst = 0, prev = 0xaf9e2218, blkid = 0}
        _iter = {iter = 0, prev = 0xaf9e271c}
        _class = 2814867920
        _old = (struct RVarmap * volatile) 0x0
        node = (NODE *) 0xa7cd7a88
        result = 4
        old_cref = 2814850160
        old_wrapper = 0
        block = (struct BLOCK * volatile) 0xaf9e303c
        old_scope = (struct SCOPE * volatile) 0xa7cd065c
        old_vmode = 0
        frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9e26e4, tmp = 0x0, node = 0xa7cd8460, iter = 0, flags = 0, uniq = 6608}
        cnode = (NODE *) 0xa7cd8460
        lambda = 0
        state = 0
#37 0xa7ec0990 in rb_yield (val=2815231460) at eval.c:5062
No locals.
#38 0xa7eae473 in0, 1, 2818160208, 3, 0, 2946384080, 2818067128, 2817096715, 2812179328, 6, 0, 2946382632, 4294967295,
            2814869160, 4294902655, 4294901792, 4294967295, 2817454018, 118489203, 106394441, 2815261780}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018,
          cssel = 118489203, dataoff = 2814904548, datasel = 4294901883, _st = {{significand = {32148, 42957, 0, 0}, exponent = 55394}, {significand = {42910, 64305, 42897, 19128}, exponent = 43000}, {
              significand = {1, 0, 61600, 42897}, exponent = 1708}, {significand = {42957, 32248, 42957, 0}, exponent = 0}, {significand = {21, 0, 48112, 2064}, exponent = 39184}, {significand = {42897, 63856,
                42897, 31702}, exponent = 42898}, {significand = {0, 0, 0, 0}, exponent = 0}, {significand = {0, 57720, 2063, 11884}, exponent = 42951}}, status = 2818158580}}, status = 0}}, frame = 0xaf9e3bc4,
  iter = 0xaf9e3bfc, tag = 1, retval = 4, scope = 0xa7cd065c, dst = 0, prev = 0xaf9e4908, blkid = 0}
        _old = (struct RVarmap * volatile) 0xa7c72b88
        _class = 2814867920
        _vmode = 0
        _old = (struct SCOPE * volatile) 0xa7c72ca0
        _scope = (struct SCOPE *) 0xa7cd065c
        state = 0
        local_vars = (VALUE *) 0xaf9e39e4
        saved_cref = (NODE *) 0xa7c73470
        _frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9e4a94, tmp = 0x0, node = 0xa7cd7d6c, iter = 0, flags = 0, uniq = 6608}
        _iter = {iter = 0, prev = 0xaf9e4a88}
        b2 = (NODE *) 0xa7cd6bc4
        result = 4
        itr = 0
        safe = -1
        tick = 9859
#48 0xa7ec3e54 in rb_call (klass=2814867920, recv=2814849000, mid=10505, argc=1, argv=0xaf9e3d30, scope=1, self=2814849000) at eval.c:6045
        body = (NODE *) 0xa7c733bc
        noex = 0
        id = 10505
        ent = (struct cache_entry *) 0xa7f6d788
#49 0xa7ebc5ff in rb_eval (self=2814849000, n=0xa7cd7d6c) at eval.c:3451
        argc = 1
        argv = (VALUE *) 0xaf9e3d30
        contnode = (NODE * vo}, {significand = {21752, 42978, 16372, 42978}, exponent = 21696}, {significand = {42978, 29926, 2066, 19064}, exponent = 44958}}, status = 2815813759}},
      status = 0}}, frame = 0xaf9e4a94, iter = 0xaf9e4a88, tag = 7, retval = 4, scope = 0xa7c72ca0, dst = 0, prev = 0xaf9e4b78, blkid = 0}
        _iter = {iter = 0, prev = 0xaf9e507c}
        _class = 2814867920
        _old = (struct RVarmap * volatile) 0x0
        node = (NODE *) 0xa7cd7a88
        result = 4
        old_cref = 2814850160
        old_wrapper = 0
        block = (struct BLOCK * volatile) 0xaf9e599c
        old_scope = (struct SCOPE * volatile) 0xa7c72ca0
        old_vmode = 0
        frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9e5044, tmp = 0x0, node = 0xa7cd8460, iter = 0, flags = 0, uniq = 3614}
        cnode = (NODE *) 0xa7cd8460
        lambda = 0
        state = 0
#52 0xa7ec0990 in rb_yield (val=2814848020) at eval.c:5062
No locals.
#53 0xa7eae473 in dir_each (dir=2814848100) at dir.c:437
        dirp = (struct dir_data *) 0x8127438
        dp = (struct dirent *) 0x81274cc
#54 0xa7ec19fb in rb_ensure (b_proc=0xa7eae3d7 <dir_each>, data1=2814848100, e_proc=0xa7eae61c <dir_close>, data2=2814848100) at eval.c:5445
        _tag = {buf = {{context = {uc_flags = 2946386856, uc_link = 0xa7eb585a, uc_stack = {ss_sp = 0x80704d0, ss_flags = 7337, ss_size = 2946386848}, uc_mcontext = {gregs = {-1477163319, 0, 8565, 0,
            -1348576812, 7449, -1348580088, -1348580512, -1477043644, -1477779581, -1477043644, 0, -1477730130, -1479634636, -1477699109, -1482761682, -1479651276, -1479634636, -1479634556},
          fpregs = 0xaf9e4c64, oldmask = 2817923652, cr2 = 2946387056}, uc_sigmask = {__val = {0, 2946387016, 2817277524, 2815332740, 2815332760, 7337, 7337, 1, 2946387056, 2815332660, 0, 120, 2946387136,
            2814848100, 1, 2, 2818160208, 1, 48, 7337, 0, 2815332660, 2817974552, 2817218357, 2817923652, 2946387112, 2817278081, 2815332740, 2815332760, 7337, 1, 2946387056}}, __fpregs_mem = {cw = 4294902655,
   _vmode = 1
        _old = (struct SCOPE * volatile) 0xa7cf5d44
        _scope = (struct SCOPE *) 0xa7c72ca0
        state = 0
        local_vars = (VALUE *) 0xaf9e6344
        saved_cref = (NODE *) 0xa7ce5034
        _frame = {self = 2814849000, argc = 1, last_func = 10505, orig_func = 10505, last_class = 2814867920, prev = 0xaf9e6e24, tmp = 0x0, node = 0xa7ce3cd4, iter = 0, flags = 0, uniq = 3614}
        _iter = {iter = 0, prev = 0xaf9e6e18}
        b2 = (NODE *) 0xa7cd6bc4
        result = 4
        itr = 0
        safe = -1
        tick = 9859
#63 0xa7ec3e54 in rb_call (klass=2814867920, recv=2814849000, mid=10505, argc=1, argv=0xaf9e6690, scope=0, self=2815379960) at eval.c:6045
        body = (NODE *) 0xa7c733bc
        noex = 0
        id = 10505
        ent = (struct cache_entry *) 0xa7f6d788
#64 0xa7ebc323 in rb_eval (self=2815379960, n=0xa7ce3964) at eval.c:3436
        recv = 2814849000
        argc = 1
        argv = (VALUE *) 0xaf9e6690
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7ce3cd4
        state = 0
        result = 4
#65 0xa7ec05bb in rb_yield_0 (val=2814848620, self=2815379960, klass=0, flags=0, avalue=2) at eval.c:4980
        _tag = {buf = {{context = {uc_flags = 2946395320, uc_link = 0xa7f439aa, uc_stack = {ss_sp = 0xef1, ss_flags = 0, ss_size = 2815353100}, uc_mcontext = {gregs = {2, 0, -1477043644, -1348570488,
            -1348571568, -1348562380, -1348571496, -1348572064, -1477043644, -1476974060, -1479655696, 0, 0, 0, -1477704456, -1348571240, -1477695683, -1477505169, 9}, fpregs = 0xaf9e6d84, oldmask = 1,
          cr2 = 2946396192}, uc_sigmask = {__val = {0, 2946396088, 2817271613, 2817462984, 0, 1, 2946395828, 2815365340, 2, 4294967295, 2817454018, 118489203, 0, 4294901883, 2946395860, 2815365340, 2,
            4294967295, 2817454018, 118489203, 2814904548, 4294901883, 2818067556, 4294902655, 4294901792, 4294967295, 2817362958, 115, 2946395624, 4294901883, 125, 2816622580}}, __fpregs_mem = {
          cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018, css4740, prev = 0xaf9e8884, tmp = 0x0, node = 0xa7cda6fc, iter = 2, flags = 0, uniq = 3539}
        _iter = {iter = 2, prev = 0xaf9e84ec}
        b2 = (NODE *) 0xa7f30d99
        result = 4
        itr = 2
        safe = -1
        tick = 9859
#71 0xa7ec3e54 in rb_call (klass=2815384740, recv=2814849240, mid=3937, argc=0, argv=0x0, scope=1, self=2814849240) at eval.c:6045
        body = (NODE *) 0xa7cf4138
        noex = 2
        id = 3937
        ent = (struct cache_entry *) 0xa7f69d68
#72 0xa7ebc5ff in rb_eval (self=2814849240, n=0xa7cda6fc) at eval.c:3451
        argc = 0
        argv = (VALUE *) 0x0
        contnode = (NODE * volatile) 0x0
        node = (NODE * volatile) 0xa7cda6fc
        state = -1348567104
        result = 4
#73 0xa7ebb06c in rb_eval (self=2814849240, n=0xa7cda6ac) at eval.c:3166
        _iter = {iter = 1, prev = 0xaf9e88bc}
        _block = {var = 0x0, body = 0xa7cda724, self = 2814849240, frame = {self = 2814849240, argc = 0, last_func = 3825, orig_func = 3825, last_class = 2815272240, prev = 0xa7f64240, tmp = 0x0,
    node = 0xa7cda710, iter = 2, flags = 0, uniq = 3538}, scope = 0xa7c73010, klass = 2815272240, cref = 0xa7cda4e0, iter = 2, vmode = 0, flags = 1, uniq = 52, dyna_vars = 0x0, orig_thread = 2814867920,
  wrapper = 0, block_obj = 0, outer = 0xaf9e91fc, prev = 0xaf9e91fc}
        _tag = {buf = {{context = {uc_flags = 2817923652, uc_link = 0x0, uc_stack = {ss_sp = 0xa7f9acc0, ss_flags = -1348565880, ss_size = 2817923652}, uc_mcontext = {gregs = {3345, 0, -1348565880, -1477693331,
            -1348566204, -1348564816, -1348565320, -1348566800, -1477043644, -1348566644, 0, 0, -1480117156, 4, -1477726210, 9, 1201, 3, -1348566608}, fpregs = 0xaf9e8278, oldmask = 0, cr2 = 0}, uc_sigmask = {
          __val = {0, 0, 0, 0, 1, 2946401188, 2814867920, 3, 2946400720, 3345, 2946401368, 2946400656, 2817923652, 0, 2815272240, 0, 0, 0, 2817272839, 0, 2818157760, 3345, 2946401416, 2946400688, 2817923652, 0,
            2814867920, 0, 0, 0, 2817272839, 0}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, i 0, 1, 0, 1, 2818099975, 2946406240, 2818160208, 1, 0, 1, 0, 1, 2946406200, 2946406272}}, __fpregs_mem = {cw = 4294902655, sw = 4294901792, tag = 4294967295, ipoff = 2817454018,
          cssel = 69468275, dataoff = 2815319308, datasel = 4294901883, _st = {{significand = {38816, 44958, 46328, 43001}, exponent = 33591}, {significand = {2052, 28206, 2975, 10780}, exponent = 208}, {
              significand = {0, 0, 0, 0}, exponent = 0}, {significand = {0, 895, 65535, 32}, exponent = 65535}, {significand = {65535, 65535, 895, 65535}, exponent = 32}, {significand = {65535, 65535, 65535,
                61378}, exponent = 42990}, {significand = {42679, 42989, 23528, 42985}, exponent = 19128}, {significand = {43000, 45044, 43001, 19128}, exponent = 43000}}, status = 1}}, status = 0}},
  frame = 0xa7f64240, iter = 0xa7f64228, tag = 0, retval = 4, scope = 0xa7cf5d44, dst = 0, prev = 0x0, blkid = 0}
        state = 0
#80 0xa7eb76c0 in ruby_exec () at eval.c:1617
        tmp = (volatile NODE *) 0xa7eb769e
#81 0xa7eb76f5 in ruby_run () at eval.c:1627
        state = -1477740858
        ex = 0
#82 0x080485ff in main (argc=7, argv=0xaf9e9874, envp=0xaf9e9894) at main.c:46
No locals.
(gdb) quit
The program is running.  Exit anyway? (y or n)

-- 
:wq
^X^Cy^K^X^C^C^C^C

In This Thread

Prev Next