[#5219] Segmentation fault in timeout.rb — Michel Pastor <K@...>

Hi,

18 messages 2005/06/16
[#5220] Re: Segmentation fault in timeout.rb — Eric Hodel <drbrain@...7.net> 2005/06/16

[#5221] Re: Segmentation fault in timeout.rb — Michel Pastor <K@...> 2005/06/16

On Fri, 17 Jun 2005 05:03:18 +0900

[#5223] Re: Segmentation fault in timeout.rb — nobu.nokada@... 2005/06/17

Hi,

[#5296] Subversion — Shugo Maeda <shugo@...>

Hi,

64 messages 2005/06/30
[#5297] Re: Subversion — Curt Hibbs <curt@...> 2005/06/30

Shugo Maeda wrote:

[#5298] Re: Subversion — Nikolai Weibull <mailing-lists.ruby-core@...> 2005/06/30

Curt Hibbs wrote:

[#5301] Re: Subversion — Austin Ziegler <halostatue@...> 2005/06/30

On 6/30/05, Nikolai Weibull

[#5304] Re: Subversion — Nikolai Weibull <mailing-lists.ruby-core@...> 2005/06/30

Austin Ziegler wrote:

[#5305] Re: Subversion — Austin Ziegler <halostatue@...> 2005/06/30

On 6/30/05, Nikolai Weibull

[#5307] Re: Subversion — mathew <meta@...> 2005/06/30

Austin Ziegler wrote:

[#5308] Re: Subversion — Austin Ziegler <halostatue@...> 2005/06/30

On 6/30/05, mathew <meta@pobox.com> wrote:

[#5311] Re: Subversion — mathew <meta@...> 2005/07/01

Austin Ziegler wrote:

[#5323] Re: Subversion — Austin Ziegler <halostatue@...> 2005/07/01

On 7/1/05, mathew <meta@pobox.com> wrote:

[#5325] Re: Subversion — Nikolai Weibull <mailing-lists.ruby-core@...> 2005/07/01

Austin Ziegler wrote:

Re: Segmentation fault in timeout.rb

From: Michel Pastor <K@...>
Date: 2005-06-19 11:34:39 UTC
List: ruby-core #5247
On Sat, 18 Jun 2005 10:28:53 +0900
nobu.nokada@softhome.net wrote:

> > Unfortunately ruby doesn't aborts when compiled with debug => no core
> > but
> 
> Thank you for the info.
Since 1.8.3p1 does I now have a core file

> I forgot to mention about this, I'd like to know also
> *ruby_current_node.

> ruby script/server             
=> Rails application started on http://0.0.0.0:3000
[2005-06-19 13:23:04] INFO  WEBrick 1.3.1
[2005-06-19 13:23:04] INFO  ruby 1.8.3 (2005-05-12) [i686-linux]
[2005-06-19 13:23:04] INFO  WEBrick::HTTPServer#start: pid=3411 port=3000
127.0.0.1 - - [19/Jun/2005:13:23:06 CEST] "GET /films/list HTTP/1.1" 200 1281
- -> /films/list
deadlock 0xb752a20c: run:-/opt/ruby/1.8.3p1/lib/ruby/1.8/timeout.rb:42: [BUG] Segmentation fault
ruby 1.8.3 (2005-05-12) [i686-linux]

zsh: abort (core dumped)  ruby script/server

> gdb ruby core
(gdb) bt
#0  0xffffe410 in ?? ()
#1  0xbffe7ac0 in ?? ()
#2  0x00000006 in ?? ()
#3  0x00000d53 in ?? ()
#4  0xb7e893c1 in raise () from /lib/tls/libc.so.6
#5  0xb7e8ab59 in abort () from /lib/tls/libc.so.6
#6  0x080d148a in rb_bug (fmt=0x0) at error.c:214
#7  0x080b09c2 in sigsegv (sig=11) at signal.c:446
#8  <signal handler called>
#9  0xb7ec8cdb in strlen () from /lib/tls/libc.so.6
#10 0xb7e9e761 in vfprintf () from /lib/tls/libc.so.6
#11 0xb7ebbe86 in vsnprintf () from /lib/tls/libc.so.6
#12 0x08052abf in warn_printf (fmt=0x1 <Address 0x1 out of bounds>) at eval.c:1072
#13 0x080583e7 in rb_thread_schedule () at eval.c:10462
#14 0x080661dd in rb_thread_wait_for (time={tv_sec = 30, tv_usec = 0}) at eval.c:10583
#15 0x0809b409 in rb_f_sleep (argc=0, argv=0x1) at process.c:1570
#16 0x0805c8f5 in rb_call0 (klass=3085302932, recv=3084898944, id=8953, oid=1, argc=1, argv=0xbffecab0, body=0xb7e522d8, nosuper=0) at eval.c:5482
#17 0x0805d14d in rb_call (klass=3085302932, recv=3084898944, mid=8953, argc=1, argv=0xbffecab0, scope=1) at eval.c:5832
#18 0x08058cd1 in rb_eval (self=3084898944, n=0x1) at ruby.h:631
#19 0x0805f10d in rb_yield_0 (val=286899409, self=3084898944, klass=3084902724, flags=0, avalue=0) at eval.c:4813
#20 0x0805f473 in rb_yield (val=1) at eval.c:4895
#21 0x080709e7 in rb_hash_delete (hash=3076171004, key=286899409) at hash.c:671
#22 0xb73ca30f in rb_dlmem_delete (ptr=0x88cde68) at ptr.c:30
#23 0xb73ca365 in dlptr_free (data=0x88ceff8) at ptr.c:61
#24 0x0806e9c5 in garbage_collect () at gc.c:1196
#25 0x0806efe4 in ruby_xmalloc (size=69292) at gc.c:119
#26 0x0805767d in rb_thread_save_context (th=0x872fc38) at eval.c:9920
#27 0x08067368 in rb_thread_start_0 (fn=0x8067480 <rb_thread_yield>, arg=0xb752a220, th=0x872fc38) at eval.c:11512
#28 0x0805c8d9 in rb_call0 (klass=3085287292, recv=3085287312, id=5033, oid=1, argc=0, argv=0x0, body=0xb7e5bf04, nosuper=0) at eval.c:5479
#29 0x0805d14d in rb_call (klass=3085287292, recv=3085287312, mid=5033, argc=0, argv=0x0, scope=0) at eval.c:5832
#30 0x08058cd1 in rb_eval (self=3084898944, n=0x1) at ruby.h:631
#31 0x0805b8a9 in rb_eval (self=3084898944, n=0x1) at eval.c:3047
#32 0x0805a069 in rb_eval (self=3084898944, n=0x1) at eval.c:3487
#33 0x0805b578 in rb_eval (self=3084898944, n=0x1) at eval.c:3183
#34 0x0805c4be in rb_call0 (klass=3084898744, recv=3084898944, id=14537, oid=1, argc=0, argv=0xbfff0358, body=0xb7dfdf14, nosuper=0) at eval.c:5739
#35 0x0805d14d in rb_call (klass=3084898744, recv=3084898944, mid=14537, argc=2, argv=0xbfff0350, scope=0) at eval.c:5832
#36 0x08058cd1 in rb_eval (self=3075649524, n=0x1) at ruby.h:631
#37 0x080631c7 in block_pass (self=3075649524, node=0xb7dfdba4) at eval.c:8563
#38 0x08059337 in rb_eval (self=3075649524, n=0x1) at eval.c:3033
#39 0x0805c4be in rb_call0 (klass=3085303072, recv=3075649524, id=14537, oid=1, argc=0, argv=0xbfff13c4, body=0xb7dfdc44, nosuper=0) at eval.c:5739
#40 0x0805d14d in rb_call (klass=3085303072, recv=3075649524, mid=14537, argc=1, argv=0xbfff13c0, scope=1) at eval.c:5832
#41 0x08058cd1 in rb_eval (self=3075649524, n=0x1) at ruby.h:631
#42 0x0805b8a9 in rb_eval (self=3075649524, n=0x1) at eval.c:3047
#43 0x0805b3bc in rb_eval (self=3075649524, n=0x1) at eval.c:3158
#44 0x0805c4be in rb_call0 (klass=3084104240, recv=3075649524, id=17009, oid=1, argc=0, argv=0xbfff28ec, body=0xb7de4460, nosuper=0) at eval.c:5739
#45 0x0805d14d in rb_call (klass=3084104240, recv=3075649524, mid=17009, argc=3, argv=0xbfff28e0, scope=1) at eval.c:5832
#46 0x08058cd1 in rb_eval (self=3075649524, n=0x1) at ruby.h:631
#47 0x0805c4be in rb_call0 (klass=3084104240, recv=3075649524, id=16897, oid=1, argc=0, argv=0xbfff3154, body=0xb7de31c8, nosuper=0) at eval.c:5739
#48 0x0805d14d in rb_call (klass=3084104240, recv=3075649524, mid=16897, argc=1, argv=0xbfff3150, scope=1) at eval.c:5832
#49 0x08058cd1 in rb_eval (self=3075649524, n=0x1) at ruby.h:631
#50 0x0805a069 in rb_eval (self=3075649524, n=0x1) at eval.c:3487
#51 0x0805aa2c in rb_eval (self=3075649524, n=0x1) at eval.c:2967
#52 0x0805c4be in rb_call0 (klass=3084104240, recv=3075649524, id=16785, oid=1, argc=0, argv=0xbfff4674, body=0xb7dfbf98, nosuper=0) at eval.c:5739
#53 0x0805d14d in rb_call (klass=3084104240, recv=3075649524, mid=16785, argc=1, argv=0xbfff4670, scope=1) at eval.c:5832
#54 0x08058cd1 in rb_eval (self=3075649524, n=0x1) at ruby.h:631
#55 0x08059b3c in rb_eval (self=3075649524, n=0x1) at eval.c:2789
#56 0x0805c4be in rb_call0 (klass=3084104240, recv=3075649524, id=14881, oid=1, argc=0, argv=0xbfff5554, body=0xb7e18c24, nosuper=0) at eval.c:5739
#57 0x0805d14d in rb_call (klass=3084104240, recv=3075649524, mid=14881, argc=1, argv=0xbfff5550, scope=0) at eval.c:5832
#58 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#59 0x0805b3bc in rb_eval (self=3077198624, n=0x1) at eval.c:3158
#60 0x0805b578 in rb_eval (self=3077198624, n=0x1) at eval.c:3183
#61 0x0805aa1b in rb_eval (self=3077198624, n=0x1) at eval.c:2971
#62 0x0805c4be in rb_call0 (klass=3083831940, recv=3077198624, id=5113, oid=1, argc=0, argv=0xbfff70d4, body=0xb7d2e9cc, nosuper=0) at eval.c:5739
#63 0x0805d14d in rb_call (klass=3083831940, recv=3077198624, mid=5113, argc=1, argv=0xbfff70d0, scope=1) at eval.c:5832
#64 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#65 0x0805b3bc in rb_eval (self=3077198624, n=0x1) at eval.c:3158
#66 0x0805b578 in rb_eval (self=3077198624, n=0x1) at eval.c:3183
#67 0x0805f10d in rb_yield_0 (val=3077196464, self=3077198624, klass=3084934564, flags=1, avalue=2) at eval.c:4813
#68 0x08067519 in rb_thread_yield (arg=3077196464, th=0x82fbd00) at eval.c:11595
#69 0x08067425 in rb_thread_start_0 (fn=0x8067480 <rb_thread_yield>, arg=0xb76a4ab0, th=0x82fbd00) at eval.c:11514
#70 0x0805c8d9 in rb_call0 (klass=3085287292, recv=3085287312, id=5033, oid=1, argc=0, argv=0x0, body=0xb7e5bf04, nosuper=0) at eval.c:5479
#71 0x0805d14d in rb_call (klass=3085287292, recv=3085287312, mid=5033, argc=0, argv=0x0, scope=0) at eval.c:5832
#72 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#73 0x0805b8a9 in rb_eval (self=3077198624, n=0x1) at eval.c:3047
#74 0x0805c4be in rb_call0 (klass=3084898064, recv=3077198624, id=14257, oid=1, argc=0, argv=0xbfff97e4, body=0xb7e06f38, nosuper=0) at eval.c:5739
#75 0x0805d14d in rb_call (klass=3084898064, recv=3077198624, mid=14257, argc=1, argv=0xbfff97e0, scope=1) at eval.c:5832
#76 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#77 0x080630a7 in block_pass (self=3077198624, node=0xb7e08e8c) at eval.c:8542
#78 0x08059337 in rb_eval (self=3077198624, n=0x1) at eval.c:3033
#79 0x08059f95 in rb_eval (self=3077198624, n=0x1) at eval.c:3497
#80 0x0805f10d in rb_yield_0 (val=3077197844, self=3077198624, klass=3084946384, flags=0, avalue=0) at eval.c:4813
#81 0x0805f473 in rb_yield (val=1) at eval.c:4895
#82 0x080c49af in rb_ary_each (ary=3077196684) at array.c:1125
#83 0x0805c8e3 in rb_call0 (klass=3085272432, recv=3077196684, id=3833, oid=1, argc=0, argv=0x0, body=0xb7e5814c, nosuper=0) at eval.c:5476
#84 0x0805d14d in rb_call (klass=3085272432, recv=3077196684, mid=3833, argc=0, argv=0x0, scope=0) at eval.c:5832
#85 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#86 0x0805b8a9 in rb_eval (self=3077198624, n=0x1) at eval.c:3047
#87 0x0805b3bc in rb_eval (self=3077198624, n=0x1) at eval.c:3158
#88 0x0805aa1b in rb_eval (self=3077198624, n=0x1) at eval.c:2971
#89 0x0805f10d in rb_yield_0 (val=6, self=3077198624, klass=3084943864, flags=0, avalue=0) at eval.c:4813
#90 0x08058f1d in rb_eval (self=3084898264, n=0x1) at eval.c:3123
#91 0x0805c4be in rb_call0 (klass=3084898224, recv=3084898264, id=5033, oid=1, argc=0, argv=0x0, body=0xb7e0b4e8, nosuper=0) at eval.c:5739
#92 0x0805d14d in rb_call (klass=3084898224, recv=3084898264, mid=5033, argc=0, argv=0x0, scope=0) at eval.c:5832
#93 0x08058cd1 in rb_eval (self=3077198624, n=0x1) at ruby.h:631
#94 0x0805b8a9 in rb_eval (self=3077198624, n=0x1) at eval.c:3047
#95 0x0805c4be in rb_call0 (klass=3084898064, recv=3077198624, id=5033, oid=1, argc=0, argv=0x0, body=0xb7e09828, nosuper=0) at eval.c:5739
#96 0x0805d14d in rb_call (klass=3084898064, recv=3077198624, mid=5033, argc=0, argv=0x0, scope=0) at eval.c:5832
#97 0x08058cd1 in rb_eval (self=3077199184, n=0x1) at ruby.h:631
#98 0x0805c4be in rb_call0 (klass=3077199164, recv=3077199184, id=10377, oid=1, argc=0, argv=0xbfffeab4, body=0xb76a963c, nosuper=0) at eval.c:5739
#99 0x0805d14d in rb_call (klass=3077199164, recv=3077199184, mid=10377, argc=1, argv=0xbfffeab0, scope=0) at eval.c:5832
#100 0x08058cd1 in rb_eval (self=3085298112, n=0x1) at ruby.h:631
#101 0x08064dd2 in ruby_exec_internal () at eval.c:1492
#102 0x08064e06 in ruby_exec () at eval.c:1512
#103 0x08065d80 in ruby_run () at eval.c:1522
#104 0x08052288 in main (argc=1, argv=0x1, envp=0xbffff3a0) at main.c:46

(gdb) up 13
#13 0x080583e7 in rb_thread_schedule () at eval.c:10462
10462               warn_printf(" %s - %s:%d\n",

(gdb) p curr_thread
$1 = 0x82fbd00

(gdb) p *curr_thread
$2 = {next = 0x872fc38, prev = 0x8109f38, context = {{__jmpbuf = {1, 134641248, -1209679984, -1073814024, -1073814416, 134639848}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 6033, 
          137352448, 3086449064, 544437089, 1905, 137348312, 3086449064, 1008759918, 1768702752, 997486181, 1684956448, 10, 0 <repeats 12 times>}}}}, result = 0, stk_len = 17323, stk_max = 21847, 
  stk_ptr = 0x8703af8, stk_pos = 0xbffee42c, frame = 0xbffee740, scope = 0xb752a234, dyna_vars = 0x0, block = 0xbffef0b0, iter = 0xbffee668, tag = 0xbffef120, klass = 3084898944, wrapper = 0, 
  cref = 0xb7dfd244, flags = 0, node = 0xb7dfe25c, tracing = 0, errinfo = 4, last_status = 4, last_line = 4, last_match = 4, safe = 0, status = THREAD_STOPPED, wait_for = 4, fd = 0, readfds = {__fds_bits = {
      64, 0 <repeats 31 times>}}, writefds = {__fds_bits = {0 <repeats 32 times>}}, exceptfds = {__fds_bits = {0 <repeats 32 times>}}, select_value = 1, delay = 1119180219.911046, join = 0x0, abort = 0, 
  priority = 0, thgroup = 3077196864, locals = 0x8540fd8, thread = 3077196424}

(gdb) p curr
$3 = 0x82fbd00

(gdb) p *curr
$4 = {next = 0x872fc38, prev = 0x8109f38, context = {{__jmpbuf = {1, 134641248, -1209679984, -1073814024, -1073814416, 134639848}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 6033, 
          137352448, 3086449064, 544437089, 1905, 137348312, 3086449064, 1008759918, 1768702752, 997486181, 1684956448, 10, 0 <repeats 12 times>}}}}, result = 0, stk_len = 17323, stk_max = 21847, 
  stk_ptr = 0x8703af8, stk_pos = 0xbffee42c, frame = 0xbffee740, scope = 0xb752a234, dyna_vars = 0x0, block = 0xbffef0b0, iter = 0xbffee668, tag = 0xbffef120, klass = 3084898944, wrapper = 0, 
  cref = 0xb7dfd244, flags = 0, node = 0xb7dfe25c, tracing = 0, errinfo = 4, last_status = 4, last_line = 4, last_match = 4, safe = 0, status = THREAD_STOPPED, wait_for = 4, fd = 0, readfds = {__fds_bits = {
      64, 0 <repeats 31 times>}}, writefds = {__fds_bits = {0 <repeats 32 times>}}, exceptfds = {__fds_bits = {0 <repeats 32 times>}}, select_value = 1, delay = 1119180219.911046, join = 0x0, abort = 0, 
  priority = 0, thgroup = 3077196864, locals = 0x8540fd8, thread = 3077196424}

(gdb) p ruby_current_node 
$5 = (struct RNode *) 0xb7dfe25c

(gdb) p *ruby_current_node 
$6 = {flags = 22097983, nd_file = 0x81751c9 "/opt/ruby/1.8.3p1/lib/ruby/1.8/timeout.rb", u1 = {node = 0x0, id = 0, value = 0, cfunc = 0, tbl = 0x0}, u2 = {node = 0x22f9, id = 8953, argc = 8953, value = 8953}, 
  u3 = {node = 0xb7dfe270, id = 3084903024, state = -1210064272, entry = 0xb7dfe270, cnt = -1210064272, value = 3084903024}}

In This Thread