Segfault in 1.8.1p3

Discussion in 'Ruby' started by Nathaniel Talbott, Dec 9, 2003.

  1. Unfortunately, I don't have much information at this point, but here's
    what I do have:

    [2003-12-08 12:55:39] INFO WEBrick::HTTPServer#start: pid=22231
    port=2222
    /usr/lib/ruby/1.8/timeout.rb:47: [BUG] Segmentation fault
    ruby 1.8.1 (2003-12-05) [i386-linux]

    timeout.rb line 47 seems innocuous enough; it simply kills the timeout
    thread if it is still running. Any ideas?

    If I discover anything else, I'll let you know (although, of course, it
    only happens under load :-/ ).

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 9, 2003
    #1
    1. Advertising

  2. On Dec 9, 2003, at 08:24, Nathaniel Talbott wrote:

    > Unfortunately, I don't have much information at this point, but here's
    > what I do have:
    >
    > [2003-12-08 12:55:39] INFO WEBrick::HTTPServer#start: pid=22231
    > port=2222
    > /usr/lib/ruby/1.8/timeout.rb:47: [BUG] Segmentation fault
    > ruby 1.8.1 (2003-12-05) [i386-linux]
    >
    > timeout.rb line 47 seems innocuous enough; it simply kills the timeout
    > thread if it is still running. Any ideas?
    >
    > If I discover anything else, I'll let you know (although, of course,
    > it only happens under load :-/ ).


    The segfault occurs at inconsistent times (sometimes almost twice in a
    row, sometimes it'll go hours), and in inconsistent places (I've had it
    segfault in timeout.rb and in various WEBrick files).

    I've managed to coax a backtrace out of it:

    (gdb) bt
    #0 0x409db64c in ?? ()
    #1 0x400e81e1 in siglongjmp () from /lib/libc.so.6
    #2 0x400e814c in siglongjmp () from /lib/libc.so.6
    #3 0x40022426 in longjmp () from /lib/libpthread.so.0
    #4 0x080668b6 in rb_thread_restore_context (th=0x811d618, exit=1) at
    eval.c:8526
    #5 0x08067afe in rb_thread_schedule () at eval.c:8930
    #6 0x08068051 in rb_thread_select (max=23, read=0xbffe5700,
    write=0x0, except=0x0,
    timeout=0xbffe5568) at eval.c:9105
    #7 0x0807e08d in rb_f_select (argc=4, argv=0xbffe59a0,
    obj=1075936204) at io.c:3321
    #8 0x0806b213 in call_cfunc (func=0x807d9f4 <rb_f_select>,
    recv=1075936204, len=-1, argc=4,
    argv=0xbffe59a0) at eval.c:4903
    #9 0x0805dfb3 in rb_call0 (klass=1075936184, recv=1075936204,
    id=3721, oid=3721, argc=4,
    argv=0xbffe59a0, body=0x40217a28, nosuper=0) at eval.c:5037
    #10 0x0805eaf8 in rb_call (klass=1075936184, recv=1075936204,
    mid=3721, argc=4,
    argv=0xbffe59a0, scope=0) at eval.c:5258
    #11 0x080587aa in rb_eval (self=1083839784, n=0x405cfae4) at
    eval.c:3053
    #12 0x080572d0 in rb_eval (self=1083839784, n=0x405ce07c) at
    eval.c:2728
    #13 0x0805e5af in rb_call0 (klass=1076576852, recv=1083839784,
    id=41257, oid=41257, argc=0,
    argv=0x0, body=0x405ce07c, nosuper=0) at eval.c:5165
    #14 0x0805eaf8 in rb_call (klass=1076576852, recv=1083839784,
    mid=41257, argc=0, argv=0x0,
    scope=2) at eval.c:5258
    #15 0x08058a9c in rb_eval (self=1083839784, n=0x405d8428) at
    eval.c:3074
    #16 0x080572f6 in rb_eval (self=1083839784, n=0x405d7bb8) at
    eval.c:2732
    #17 0x08057ab9 in rb_eval (self=1083839784, n=0x405d67b8) at
    eval.c:2860
    #18 0x0805e5af in rb_call0 (klass=1076576852, recv=1083839784,
    id=40937, oid=40937, argc=0,
    argv=0xbffe7724, body=0x405d67b8, nosuper=0) at eval.c:5165
    #19 0x0805eaf8 in rb_call (klass=1076576852, recv=1083839784,
    mid=40937, argc=1,
    argv=0xbffe7720, scope=1) at eval.c:5258
    #20 0x08058a64 in rb_eval (self=1083839784, n=0x405d5610) at
    eval.c:3068
    #21 0x08058575 in rb_eval (self=1083839784, n=0x405d5598) at
    eval.c:3047
    #22 0x0805e5af in rb_call0 (klass=1076576852, recv=1083839784,
    id=7321, oid=7321, argc=0,
    argv=0x0, body=0x405d5598, nosuper=0) at eval.c:5165
    #23 0x0805eaf8 in rb_call (klass=1076576852, recv=1083839784,
    mid=7321, argc=0, argv=0x0,
    scope=0) at eval.c:5258
    #24 0x080587aa in rb_eval (self=1080956984, n=0x406057e8) at
    eval.c:3053
    #25 0x08059753 in rb_eval (self=1080956984, n=0x40604f50) at
    eval.c:3236
    #26 0x0805e5af in rb_call0 (klass=1080956924, recv=1080956984,
    id=40913, oid=40913, argc=0,
    argv=0xbffe8f74, body=0x40604f50, nosuper=0) at eval.c:5165
    #27 0x0805eaf8 in rb_call (klass=1080956924, recv=1080956984,
    mid=40913, argc=1,
    argv=0xbffe8f70, scope=1) at eval.c:5258
    #28 0x08058a64 in rb_eval (self=1080956984, n=0x406075d4) at
    eval.c:3068
    #29 0x08057966 in rb_eval (self=1080956984, n=0x40607570) at
    eval.c:2832
    #30 0x08059705 in rb_eval (self=1080956984, n=0x40606fe4) at
    eval.c:3230
    #31 0x0805e5af in rb_call0 (klass=1080956924, recv=1080956984,
    id=40249, oid=40249, argc=0,
    argv=0xbffea0f4, body=0x40606fe4, nosuper=0) at eval.c:5165
    #32 0x0805eaf8 in rb_call (klass=1080956924, recv=1080956984,
    mid=40249, argc=1,
    argv=0xbffea0f0, scope=0) at eval.c:5258
    #33 0x080587aa in rb_eval (self=1083840624, n=0x4066c2b8) at
    eval.c:3053
    #34 0x08059753 in rb_eval (self=1083840624, n=0x4066c240) at
    eval.c:3236
    #35 0x08057135 in rb_eval (self=1083840624, n=0x4066e540) at
    eval.c:2697
    #36 0x0805e5af in rb_call0 (klass=1076273488, recv=1083840624,
    id=32153, oid=32153, argc=0,
    argv=0xbffeb288, body=0x4066e540, nosuper=0) at eval.c:5165
    #37 0x0805eaf8 in rb_call (klass=1076273488, recv=1083840624,
    mid=32153, argc=2,
    argv=0xbffeb280, scope=1) at eval.c:5258
    #38 0x08058a64 in rb_eval (self=1083840624, n=0x4066da64) at
    eval.c:3068
    #39 0x08063c49 in block_pass (self=1083840624, node=0x4066dadc) at
    eval.c:7326
    #40 0x080573e4 in rb_eval (self=1083840624, n=0x4066dadc) at
    eval.c:2759
    #41 0x08058126 in rb_eval (self=1083840624, n=0x4066d9c4) at
    eval.c:2997
    #42 0x0805c200 in rb_yield_0 (val=1083840624, self=1083840624,
    klass=0, flags=0, avalue=0)
    at eval.c:4270
    #43 0x08057a10 in rb_eval (self=1083840624, n=0x40685ce0) at
    eval.c:2849
    #44 0x08058126 in rb_eval (self=1083840624, n=0x40685c7c) at
    eval.c:2997
    #45 0x08057cdb in rb_eval (self=1083840624, n=0x40685754) at
    eval.c:2909
    #46 0x0805e5af in rb_call0 (klass=1076273488, recv=1083840624,
    id=5001, oid=5001, argc=0,
    argv=0x0, body=0x40685754, nosuper=0) at eval.c:5165
    #47 0x0805eaf8 in rb_call (klass=1076273488, recv=1083840624,
    mid=5001, argc=0, argv=0x0,
    scope=1) at eval.c:5258
    #48 0x08058a64 in rb_eval (self=1083840624, n=0x4066d8c0) at
    eval.c:3068
    #49 0x08057578 in rb_eval (self=1083840624, n=0x4066e540) at
    eval.c:2773
    #50 0x0805e5af in rb_call0 (klass=1076273488, recv=1083840624,
    id=32153, oid=32153, argc=0,
    argv=0xbffee294, body=0x4066e540, nosuper=0) at eval.c:5165
    #51 0x0805eaf8 in rb_call (klass=1076273488, recv=1083840624,
    mid=32153, argc=1,
    argv=0xbffee290, scope=1) at eval.c:5258
    #52 0x08058a64 in rb_eval (self=1083840624, n=0x4067c424) at
    eval.c:3068
    #53 0x08059753 in rb_eval (self=1083840624, n=0x4067c30c) at
    eval.c:3236
    #54 0x0805e5af in rb_call0 (klass=1076273488, recv=1083840624,
    id=30737, oid=30737, argc=0,
    argv=0xbffeeed4, body=0x4067c30c, nosuper=0) at eval.c:5165
    #55 0x0805eaf8 in rb_call (klass=1076273488, recv=1083840624,
    mid=30737, argc=1,
    argv=0xbffeeed0, scope=0) at eval.c:5258
    #56 0x080587aa in rb_eval (self=1084288984, n=0x406b34b0) at
    eval.c:3053
    #57 0x0805c200 in rb_yield_0 (val=1084068484, self=1084288984,
    klass=0, flags=1, avalue=2)
    at eval.c:4270
    #58 0x08063580 in proc_invoke (proc=1084288084, args=1083840724,
    self=6, klass=0)
    at eval.c:7155
    #59 0x08063743 in proc_call (proc=1084288084, args=1083840724) at
    eval.c:7197
    #60 0x0806b1f4 in call_cfunc (func=0x806372c <proc_call>,
    recv=1084288084, len=-2, argc=1,
    argv=0xbffef920) at eval.c:4900
    #61 0x0805dfb3 in rb_call0 (klass=1075914684, recv=1084288084,
    id=331, oid=331, argc=1,
    argv=0xbffef920, body=0x402126e0, nosuper=0) at eval.c:5037
    #62 0x0805eaf8 in rb_call (klass=1075914684, recv=1084288084,
    mid=331, argc=1,
    argv=0xbffef920, scope=0) at eval.c:5258
    #63 0x080587aa in rb_eval (self=1084288984, n=0x406b187c) at
    eval.c:3053
    #64 0x08057ab9 in rb_eval (self=1084288984, n=0x406b04e0) at
    eval.c:2860
    #65 0x0805c200 in rb_yield_0 (val=1084068484, self=1084288984,
    klass=0, flags=1, avalue=2)
    at eval.c:4270
    #66 0x08063580 in proc_invoke (proc=1084287904, args=1083840844,
    self=6, klass=0)
    at eval.c:7155
    #67 0x08063743 in proc_call (proc=1084287904, args=1083840844) at
    eval.c:7197
    #68 0x0806b1f4 in call_cfunc (func=0x806372c <proc_call>,
    recv=1084287904, len=-2, argc=1,
    argv=0xbfff08a0) at eval.c:4900
    #69 0x0805dfb3 in rb_call0 (klass=1075914684, recv=1084287904,
    id=5185, oid=5185, argc=,
    argv=0xbfff08a0, body=0x40212730, nosuper=0) at eval.c:5037
    #70 0x0805eaf8 in rb_call (klass=1075914684, recv=1084287904,
    mid=5185, argc=1,
    argv=0xbfff08a0, scope=0) at eval.c:5258
    #71 0x080587aa in rb_eval (self=1084287864, n=0x406cd93c) at
    eval.c:3053
    #72 0x0805e5af in rb_call0 (klass=1084288884, recv=1084287864,
    id=31993, oid=31993, argc=0,
    argv=0xbfff0fb8, body=0x406cd93c, nosuper=0) at eval.c:5165
    #73 0x0805eaf8 in rb_call (klass=1084288884, recv=1084287864,
    mid=31993, argc=2,
    argv=0xbfff0fb0, scope=0) at eval.c:5258
    #74 0x080587aa in rb_eval (self=1084147884, n=0x406ab698) at
    eval.c:3053
    #75 0x08057e43 in rb_eval (self=1084147884, n=0x406ab60c) at
    eval.c:2936
    #76 0x0805c200 in rb_yield_0 (val=1084287864, self=1084147884,
    klass=0, flags=0, avalue=0)
    at eval.c:4270
    #77 0x0805c4b6 in rb_yield (val=1084287864) at eval.c:4323
    #78 0x080e0e7a in find_i (i=1084287864, memo=0x409d9540) at enum.c:67
    #79 0x0805c1df in rb_yield_0 (val=1084287864, self=1075972664,
    klass=0, flags=0, avalue=0)
    at eval.c:4267
    #80 0x0805c4b6 in rb_yield (val=1084287864) at eval.c:4323
    #81 0x080d415f in rb_ary_each (ary=1084287724) at array.c:816
    #82 0x0806b22d in call_cfunc (func=0x80d4128 <rb_ary_each>,
    recv=1084287724, len=0, argc=0,
    argv=0x0) at eval.c:4906
    #83 0x0805dfb3 in rb_call0 (klass=1075947264, recv=1084287724,
    id=3825, oid=3825, argc=0,
    argv=0x0, body=0x4021a2dc, nosuper=0) at eval.c:5037
    #84 0x0805eaf8 in rb_call (klass=1075947264, recv=1084287724,
    mid=3825, argc=0, argv=0x0,
    scope=1) at eval.c:5258
    #85 0x0805ece6 in rb_funcall (recv=1084287724, mid=3825, n=0) at
    eval.c:5323
    #86 0x080e0d59 in rb_each (obj=1084287724) at enum.c:24
    #87 0x0805cc7e in rb_iterate (it_proc=0x80e0d40 <rb_each>,
    data1=1084287724,
    bl_proc=0x80e0e68 <find_i>, data2=1084069184) at eval.c:4539
    #88 0x080e0ef7 in enum_find (argc=0, argv=0x0, obj=1084287724) at
    enum.c:85
    #89 0x0806b213 in call_cfunc (func=0x80e0eac <enum_find>,
    recv=1084287724, len=-1, argc=0,
    argv=0x0) at eval.c:4903
    #90 0x0805dfb3 in rb_call0 (klass=1075971844, recv=1084287724,
    id=3705, oid=3705, argc=0,
    argv=0x0, body=0x40220600, nosuper=0) at eval.c:5037
    #91 0x0805eaf8 in rb_call (klass=1075971844, recv=1084287724,
    mid=3705, argc=0, argv=0x0,
    scope=0) at eval.c:5258
    #92 0x080587aa in rb_eval (self=1084147884, n=0x406ab83c) at
    eval.c:3053
    #93 0x08057578 in rb_eval (self=1084147884, n=0x406ab56c) at
    eval.c:2773
    #94 0x08059753 in rb_eval (self=1084147884, n=0x406ac570) at
    eval.c:3236
    #95 0x0805e5af in rb_call0 (klass=1084288984, recv=1084147884,
    id=24929, oid=24929, argc=0,
    argv=0xbfff34a8, body=0x406ac570, nosuper=0) at eval.c:5165
    #96 0x0805eaf8 in rb_call (klass=1084288984, recv=1084147884,
    mid=24929, argc=2,
    argv=0xbfff34a0, scope=0) at eval.c:5258
    #97 0x080587aa in rb_eval (self=1083855504, n=0x402a9c14) at
    eval.c:3053
    #98 0x08059753 in rb_eval (self=1083855504, n=0x402aa204) at
    eval.c:3236
    #99 0x0805e5af in rb_call0 (klass=1080152184, recv=1083855504,
    id=24833, oid=24833, argc=0,
    argv=0xbfff4108, body=0x402aa204, nosuper=0) at eval.c:5165
    #100 0x0805eaf8 in rb_call (klass=1080152184, recv=1083855504,
    mid=24833, argc=2,
    argv=0xbfff4100, scope=1) at eval.c:5258
    #101 0x08058a64 in rb_eval (self=1083855504, n=0x402b0564) at
    eval.c:3068
    #102 0x0805e5af in rb_call0 (klass=1080152184, recv=1083855504,
    id=24809, oid=24809, argc=0,
    argv=0xbfff4828, body=0x402b0564, nosuper=0) at eval.c:5165
    #103 0x0805eaf8 in rb_call (klass=1080152184, recv=1083855504,
    mid=24809, argc=2,
    argv=0xbfff4820, scope=1) at eval.c:5258
    #104 0x08058a64 in rb_eval (self=1083855504, n=0x402b2e18) at
    eval.c:3068
    #105 0x0805e5af in rb_call0 (klass=1080152184, recv=1083855504,
    id=24801, oid=24801, argc=0,
    argv=0xbfff516c, body=0x402b2e18, nosuper=0) at eval.c:5165
    #106 0x0805eaf8 in rb_call (klass=1080152184, recv=1083855504,
    mid=24801, argc=2,
    argv=0xbfff5164, scope=1) at eval.c:5258
    #107 0x0805ec23 in rb_f_send (argc=2, argv=0xbfff5164,
    recv=1083855504) at eval.c:5288
    #108 0x0806b213 in call_cfunc (func=0x805eb94 <rb_f_send>,
    recv=1083855504, len=-1, argc=3,
    argv=0xbfff5160) at eval.c:4903
    #109 0x0805dfb3 in rb_call0 (klass=1075977384, recv=1083855504,
    id=3881, oid=3881, argc=3,
    argv=0xbfff5160, body=0x4021fdb8, nosuper=0) at eval.c:5037
    #110 0x0805eaf8 in rb_call (klass=1075977384, recv=1083855504,
    mid=3881, argc=3,
    argv=0xbfff5160, scope=1) at eval.c:5258
    #111 0x08058a64 in rb_eval (self=1083855504, n=0x40643afc) at
    eval.c:3068
    #112 0x0805e5af in rb_call0 (klass=1080306364, recv=1083855504,
    id=30929, oid=30929, argc=0,
    argv=0xbfff5878, body=0x40643afc, nosuper=0) at eval.c:5165
    #113 0x0805eaf8 in rb_call (klass=1080306364, recv=1083855504,
    mid=30929, argc=2,
    argv=0xbfff5870, scope=0) at eval.c:5258
    #114 0x080587aa in rb_eval (self=1084286384, n=0x40647d50) at
    eval.c:3053
    #115 0x0805e5af in rb_call0 (klass=1080132744, recv=1084286384,
    id=30929, oid=30929, argc=0,
    argv=0xbfff5fc8, body=0x40647d50, nosuper=0) at eval.c:5165
    #116 0x0805eaf8 in rb_call (klass=1080132744, recv=1084286384,
    mid=30929, argc=2,
    argv=0xbfff5fc0, scope=1) at eval.c:5258
    #117 0x08058a64 in rb_eval (self=1084286384, n=0x40649240) at
    eval.c:3068
    #118 0x08057ab9 in rb_eval (self=1084286384, n=0x40648638) at
    eval.c:2860
    #119 0x08057cdb in rb_eval (self=1084286384, n=0x40649380) at
    eval.c:2909
    #120 0x08057135 in rb_eval (self=1084286384, n=0x40648390) at
    eval.c:2697
    #121 0x0805e5af in rb_call0 (klass=1080132744, recv=1084286384,
    id=5081, oid=5081, argc=0,
    argv=0xbfff76b4, body=0x40648390, nosuper=0) at eval.c:5165
    #122 0x0805eaf8 in rb_call (klass=1080132744, recv=1084286384,
    mid=5081, argc=1,
    argv=0xbfff76b0, scope=1) at eval.c:5258
    #123 0x08058a64 in rb_eval (self=1084286384, n=0x4032baac) at
    eval.c:3068
    #124 0x08057ab9 in rb_eval (self=1084286384, n=0x40328550) at
    eval.c:2860
    #125 0x08057cdb in rb_eval (self=1084286384, n=0x4032740c) at
    eval.c:2909
    #126 0x0805c200 in rb_yield_0 (val=1083757344, self=1084286384,
    klass=0, flags=2, avalue=2)
    at eval.c:4270
    #127 0x080692c0 in rb_thread_yield (arg=1083757344, th=0x82b86c8) at
    eval.c:9663
    #128 0x08068f64 in rb_thread_start_0 (fn=0x80691f4 <rb_thread_yield>,
    arg=0x4098d320,
    th=0x82b86c8) at eval.c:9577
    #129 0x08069413 in rb_thread_start (klass=1075962144,
    args=1083757344) at eval.c:9702
    #130 0x0806b1f4 in call_cfunc (func=0x80693c4 <rb_thread_start>,
    recv=1075962144, len=-2,
    argc=0, argv=0x0) at eval.c:4900
    #131 0x0805dfb3 in rb_call0 (klass=1075962124, recv=1075962144,
    id=5001, oid=5001, argc=0,
    argv=0x0, body=0x4021e094, nosuper=0) at eval.c:5037
    #132 0x0805eaf8 in rb_call (klass=1075962124, recv=1075962144,
    mid=5001, argc=0, argv=0x0,
    scope=0) at eval.c:5258
    #133 0x080587aa in rb_eval (self=1084286384, n=0x4032bc3c) at
    eval.c:3053
    #134 0x08057578 in rb_eval (self=1084286384, n=0x4032bc8c) at
    eval.c:2773
    #135 0x0805e5af in rb_call0 (klass=1080823624, recv=1084286384,
    id=23857, oid=23857, argc=0,
    argv=0xbfff97e4, body=0x4032bc8c, nosuper=1) at eval.c:5165
    #136 0x0805eaf8 in rb_call (klass=1080823624, recv=1084286384,
    mid=23857, argc=1,
    argv=0xbfff97e0, scope=1) at eval.c:5258
    #137 0x08058a64 in rb_eval (self=1084286384, n=0x40322ad8) at
    eval.c:3068
    #138 0x08063c49 in block_pass (self=1084286384, node=0x40322aec) at
    eval.c:7326
    #139 0x080573e4 in rb_eval (self=0, n=0x0) at eval.c:2759
    (gdb)

    Any help would be MOST appreciated, or any additional ideas about how
    to track this down. I have the server stopped in gdb at the SIGSEGV
    point, so I can give information about the state of data structures in
    memory if that would help.

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 9, 2003
    #2
    1. Advertising

  3. Nathaniel Talbott

    ts Guest

    >>>>> "N" == Nathaniel Talbott <> writes:

    N> to track this down. I have the server stopped in gdb at the SIGSEGV
    N> point, so I can give information about the state of data structures in
    N> memory if that would help.

    It will be useless : the best is to give an example to reproduce the bug

    Guy Decoux
     
    ts, Dec 10, 2003
    #3
  4. On Dec 10, 2003, at 05:33, ts wrote:

    >>>>>> "N" == Nathaniel Talbott <> writes:

    >
    > N> to track this down. I have the server stopped in gdb at the SIGSEGV
    > N> point, so I can give information about the state of data structures
    > in
    > N> memory if that would help.
    >
    > It will be useless : the best is to give an example to reproduce the
    > bug


    OK... didn't realize it would be this easy:

    server.rb:

    require 'webrick'
    include WEBrick

    s = HTTPServer.new(
    :port => 2000,
    :Logger => BasicLog::new('/dev/null'),
    :AccessLog => []
    )

    class HelloServlet < HTTPServlet::AbstractServlet
    def do_GET(req, res)
    res.body = "<HTML>hello, world.</HTML>"
    res['Content-Type'] = "text/html"
    end
    end
    s.mount("/hello", HelloServlet)

    trap("INT"){ s.shutdown }
    s.start


    killer.rb:

    require 'thread'
    require 'net/http'

    threads = []

    200.times do
    threads << Thread.new do
    h = Net::HTTP::new('localhost', 2000)
    loop do
    h.get('/hello')
    end
    end
    end

    threads.each{|t| t.join}

    Running:

    ntalbott@proxytest:~/sandbox$ ruby server.rb &
    [1] 20130
    ntalbott@proxytest:~/sandbox$ ruby killer.rb
    /usr/lib/ruby/1.8/net/http.rb:1699: [BUG] Segmentation fault
    ruby 1.8.1 (2003-12-05) [i386-linux]

    Aborted

    Interestingly enough, it's not the server, but the killer that dies, so
    I can't guarantee this is the same segfault that my larger program has.
    It's a good place to start, however.

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 10, 2003
    #4
  5. On Dec 10, 2003, at 11:10, Nathaniel Talbott wrote:

    > On Dec 10, 2003, at 05:33, ts wrote:
    >
    >>>>>>> "N" == Nathaniel Talbott <> writes:

    >>
    >> N> to track this down. I have the server stopped in gdb at the SIGSEGV
    >> N> point, so I can give information about the state of data
    >> structures in
    >> N> memory if that would help.
    >>
    >> It will be useless : the best is to give an example to reproduce the
    >> bug

    >
    > OK... didn't realize it would be this easy:


    <snip segfault example>

    > Interestingly enough, it's not the server, but the killer that dies,
    > so I can't guarantee this is the same segfault that my larger program
    > has. It's a good place to start, however.


    Running it some more, the server seems to segfault much more regularly
    than the killer (actually, I haven't been able to get the killer to
    segfault since the first time I ran the program).

    This is a show-stopper for me, and I've reached the limits of my
    abilities to track the problem down. Any ideas?


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 10, 2003
    #5
  6. On Dec 10, 2003, at 13:36, Nathaniel Talbott wrote:

    > Running it some more, the server seems to segfault much more regularly
    > than the killer (actually, I haven't been able to get the killer to
    > segfault since the first time I ran the program).
    >
    > This is a show-stopper for me, and I've reached the limits of my
    > abilities to track the problem down. Any ideas?


    Sorry to sound like a broken record... but has anyone been able to
    duplicate this? Any chance of a fix any time soon? I have an
    application I'd like to release that is being held up by this bug, and
    I don't have the knowledge and/or expertise to track it down myself :-(

    I need a Ruby super-hero! ;-)

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 11, 2003
    #6
  7. Hi,

    In message "Re: Segfault in 1.8.1p3"
    on 03/12/11, Nathaniel Talbott <> writes:

    |Sorry to sound like a broken record... but has anyone been able to
    |duplicate this? Any chance of a fix any time soon? I have an
    |application I'd like to release that is being held up by this bug, and
    |I don't have the knowledge and/or expertise to track it down myself :-(
    |
    |I need a Ruby super-hero! ;-)

    It does not happen on my machine. Did you try --disable-pthread,
    which is default now?

    matz.
     
    Yukihiro Matsumoto, Dec 11, 2003
    #7
  8. On Dec 10, 2003, at 23:07, Yukihiro Matsumoto wrote:

    > Hi,
    >
    > In message "Re: Segfault in 1.8.1p3"
    > on 03/12/11, Nathaniel Talbott <> writes:
    >
    > |Sorry to sound like a broken record... but has anyone been able to
    > |duplicate this? Any chance of a fix any time soon? I have an
    > |application I'd like to release that is being held up by this bug, and
    > |I don't have the knowledge and/or expertise to track it down myself
    > :-(
    > |
    > |I need a Ruby super-hero! ;-)
    >
    > It does not happen on my machine. Did you try --disable-pthread,
    > which is default now?
    >
    > matz.


    I need --enable-pthread to fix another problem (see ruby-talk:87519).
    I'll try disabling it just to see if the error still occurs, though.

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 11, 2003
    #8
  9. On Dec 10, 2003, at 23:11, Nathaniel Talbott wrote:

    > On Dec 10, 2003, at 23:07, Yukihiro Matsumoto wrote:
    >
    >> It does not happen on my machine. Did you try --disable-pthread,
    >> which is default now?
    >>
    >> matz.

    >
    > I need --enable-pthread to fix another problem (see ruby-talk:87519).
    > I'll try disabling it just to see if the error still occurs, though.


    OK, I just verified with latest CVS: it does not segfault without
    --enable-pthread. It does segfault with --enable-pthread. So which
    issue should be fixed? The one in [ruby-talk:87519] for which I built
    with --enable-pthread? Or this one?

    Thanks,


    Nathaniel

    <:((><
     
    Nathaniel Talbott, Dec 11, 2003
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vedran Vyroubal

    STL string segfault

    Vedran Vyroubal, Mar 3, 2004, in forum: C++
    Replies:
    5
    Views:
    1,382
    Vedran Vyroubal
    Mar 4, 2004
  2. Arthur J. O'Dwyer

    multiset segfault

    Arthur J. O'Dwyer, Jun 17, 2004, in forum: C++
    Replies:
    10
    Views:
    752
    Dave Townsend
    Jun 18, 2004
  3. Jim Strathmeyer

    istream segfault

    Jim Strathmeyer, Jul 22, 2004, in forum: C++
    Replies:
    4
    Views:
    453
    Mike Wahler
    Jul 23, 2004
  4. William Payne
    Replies:
    4
    Views:
    523
    Karthiik Kumar
    Aug 28, 2004
  5. Andrey Vul
    Replies:
    8
    Views:
    710
    Richard Bos
    Jul 30, 2010
Loading...

Share This Page