Matt sent me a stack trace here: On Sun, 4 Aug 2002, Brett Williams wrote: > Well... how about a stack trace for starters? It's really hard to help > debug your program with no more information than this. It's a bit long, but here it is. I've never done any real software development on Linux, so I am a bit lost. Thanks for the help. Program received signal SIGSEGV, Segmentation fault. mark_locations_array (x=0x401fa380, n=1075755063) at gc.c:354 354 { #0 mark_locations_array (x=0x401fa380, n=1075755063) at gc.c:354 x = (VALUE *) 0x40235000 n = 1075755063 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #1 0x08066cf1 in rb_gc_mark_frame (frame=0x84cbf14) at gc.c:912 frame = (struct FRAME *) 0x84cbf14 #2 0x0805f325 in thread_mark (th=0x8138ae0) at eval.c:7196 th = 0x8138ae0 frame = (struct FRAME *) 0x84cbf14 block = (struct BLOCK *) 0x84cbf14 #3 0x08066777 in rb_gc_mark (ptr=0x4022d280) at gc.c:634 obj = (RVALUE *) 0x4022d280 #4 0x08066334 in mark_locations_array (x=0x839c250, n=1805) at gc.c:378 x = (VALUE *) 0x83ab0d0 n = 1805 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #5 0x0805f2e5 in thread_mark (th=0x8139048) at eval.c:7188 th = 0x8139048 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #6 0x08066777 in rb_gc_mark (ptr=0x4022cb14) at gc.c:634 obj = (RVALUE *) 0x4022cb14 #7 0x080667f3 in rb_gc_mark (ptr=0x401ebc7c) at gc.c:667 n = 0 vars = (VALUE *) 0x8196c18 obj = (RVALUE *) 0x0 #8 0x08066334 in mark_locations_array (x=0x8302218, n=14424) at gc.c:378 x = (VALUE *) 0x8306bcc n = 14424 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #9 0x0805f2e5 in thread_mark (th=0x8137cc0) at eval.c:7188 th = 0x8137cc0 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #10 0x08066777 in rb_gc_mark (ptr=0x4022e3b0) at gc.c:634 obj = (RVALUE *) 0x4022e3b0 #11 0x0806672f in rb_gc_mark (ptr=0x4022e540) at gc.c:617 i = 1 len = 5 ptr = (VALUE *) 0x81372a8 obj = (RVALUE *) 0x81372a8 #12 0x08066334 in mark_locations_array (x=0x83b02e8, n=1815) at gc.c:378 x = (VALUE *) 0x83b4030 n = 1815 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #13 0x0805f2e5 in thread_mark (th=0x8138560) at eval.c:7188 th = 0x8138560 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #14 0x08066777 in rb_gc_mark (ptr=0x4022d71c) at gc.c:634 obj = (RVALUE *) 0x4022d71c #15 0x080667f3 in rb_gc_mark (ptr=0x4020a230) at gc.c:667 n = 0 vars = (VALUE *) 0x8159290 obj = (RVALUE *) 0x0 #16 0x0805f263 in thread_mark (th=0x8283088) at eval.c:7176 th = 0x8283088 frame = (struct FRAME *) 0x401c1d10 block = (struct BLOCK *) 0x401c1d10 #17 0x08066777 in rb_gc_mark (ptr=0x4020a1e0) at gc.c:634 obj = (RVALUE *) 0x4020a1e0 #18 0x08066334 in mark_locations_array (x=0x8387c28, n=13940) at gc.c:378 x = (VALUE *) 0x8388e4c n = 13940 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #19 0x0805f2e5 in thread_mark (th=0x814b250) at eval.c:7188 th = 0x814b250 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #20 0x08066777 in rb_gc_mark (ptr=0x4022ef7c) at gc.c:634 obj = (RVALUE *) 0x4022ef7c #21 0x08066334 in mark_locations_array (x=0x8145568, n=5483) at gc.c:378 x = (VALUE *) 0x8145ca0 n = 5483 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #22 0x0805f2e5 in thread_mark (th=0x81452b0) at eval.c:7188 th = 0x81452b0 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #23 0x08066777 in rb_gc_mark (ptr=0x4022f65c) at gc.c:634 obj = (RVALUE *) 0x4022f65c #24 0x08066334 in mark_locations_array (x=0x82b7070, n=5606) at gc.c:378 x = (VALUE *) 0x82b75bc n = 5606 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 1 #25 0x0805f2e5 in thread_mark (th=0x813f310) at eval.c:7188 th = 0x813f310 frame = (struct FRAME *) 0x4 block = (struct BLOCK *) 0x4 #26 0x08066777 in rb_gc_mark (ptr=0x4022fabc) at gc.c:634 obj = (RVALUE *) 0x4022fabc #27 0x080667f3 in rb_gc_mark (ptr=0x401cfd34) at gc.c:667 n = 6 vars = (VALUE *) 0x811d85c obj = (RVALUE *) 0x6 #28 0x0805ce65 in blk_mark (data=0x8100688) at eval.c:6108 data = (struct BLOCK *) 0x8100688 #29 0x08066777 in rb_gc_mark (ptr=0x401c1ce8) at gc.c:634 obj = (RVALUE *) 0x401c1ce8 #30 0x08066386 in mark_entry (key=8893, value=1075584232) at gc.c:405 No locals. #31 0x0809cbe9 in st_foreach (table=0x80d8888, func=0x8066378 <mark_entry>, arg=0x0) at st.c:488 table = (st_table *) 0x80d8888 ptr = (st_table_entry *) 0x8100738 last = (st_table_entry *) 0x0 tmp = (st_table_entry *) 0xbfff8e70 retval = ST_CONTINUE i = 5 #32 0x080663a7 in rb_mark_tbl (tbl=0x80d8888) at gc.c:414 tbl = (st_table *) 0x0 #33 0x0806678b in rb_gc_mark (ptr=0x401cfd20) at gc.c:638 obj = (RVALUE *) 0x401cfd20 #34 0x08066386 in mark_entry (key=2841, value=1075641632) at gc.c:405 No locals. #35 0x0809cbe9 in st_foreach (table=0x80d8b48, func=0x8066378 <mark_entry>, arg=0x0) at st.c:488 table = (st_table *) 0x80d8b48 ptr = (st_table_entry *) 0x80d8bd8 last = (st_table_entry *) 0x0 tmp = (st_table_entry *) 0x2b retval = ST_CONTINUE i = 3 #36 0x080663a7 in rb_mark_tbl (tbl=0x80d8b48) at gc.c:414 tbl = (st_table *) 0x0 #37 0x0806678b in rb_gc_mark (ptr=0x401cfce4) at gc.c:638 obj = (RVALUE *) 0x401cfce4 #38 0x08066707 in rb_gc_mark (ptr=0x401cfcd0) at gc.c:606 obj = (RVALUE *) 0x401cfcd0 #39 0x08066707 in rb_gc_mark (ptr=0x401cfcbc) at gc.c:606 obj = (RVALUE *) 0x401cfcbc #40 0x080666db in rb_gc_mark (ptr=0x401cfcf8) at gc.c:601 obj = (RVALUE *) 0x401cfcf8 #41 0x080666db in rb_gc_mark (ptr=0x401c7544) at gc.c:601 obj = (RVALUE *) 0x401c7544 #42 0x080666db in rb_gc_mark (ptr=0x401c7558) at gc.c:601 obj = (RVALUE *) 0x401c7558 #43 0x080666db in rb_gc_mark (ptr=0x401bcf7c) at gc.c:601 obj = (RVALUE *) 0x401bcf7c #44 0x08066334 in mark_locations_array (x=0xbfffa6f0, n=0) at gc.c:378 x = (VALUE *) 0xbfffa6f0 n = 0 p = (RVALUE *) 0x0 heap_org = (RVALUE *) 0x0 i = 0 #45 0x08066cf1 in rb_gc_mark_frame (frame=0xbfffa630) at gc.c:912 frame = (struct FRAME *) 0xbfffa630 #46 0x08066d88 in rb_gc () at gc.c:988 list = (struct gc_list *) 0x2856 frame = (struct FRAME *) 0xbfffa630 save_regs_gc_mark = {{__jmpbuf = {137024000, 80, 1075412896, 1074707334, 137023632, 33554432}, __mask_was_saved = 137910144, __saved_mask = {__val = {0, 137910144, 440, 0, 135291808, 135291792, 0, 135291776, 135291760, 135291744, 135291728, 135291712, 3221201760, 3221197280, 3221197280, 3221197280, 128, 1, 136633902, 2, 136623576, 1, 135290396, 135290396, 6094, 4232, 0, 3221202008, 134831526, 135290320, 136623576, 10326}}}} stack_end = (VALUE *) 0xbfffa438 #47 0x0806623c in rb_newobj () at gc.c:324 No locals. #48 0x0809ccb8 in rb_str_new ( ptr=0x824cd7d ' ' <repeats 12 times>, "<TD class=\"tableContentMain\">\r\n\r\n<!-- start body -->\r\n\r\n", ' ' <repeats 12 times>, "\r\n", ' ' <repeats 12 times>, "\r\n", ' ' <repeats 13 times>, "<!-- agent begin --><BR>\r\n", ' ' <repeats 12 times>, "<TABLE>\r\n", ' ' <repeats 14 times>, "<TBODY>\r\n", ' ' <repeats 16 times>, "<TR>\r"..., len=41) at string.c:39 ptr = 0x824cd7d ' ' <repeats 12 times>, "<TD class=\"tableContentMain\">\r\n\r\n<!-- start body -->\r\n\r\n", ' ' <repeats 12 times>, "\r\n", ' ' <repeats 12 times>, "\r\n", ' ' <repeats 13 times>, "<!-- agent begin --><BR>\r\n", ' ' <repeats 12 times>, "<TABLE>\r\n", ' ' <repeats 14 times>, "<TBODY>\r\n", ' ' <repeats 16 times>, "<TR>\r"... len = 41 str = (struct RString *) 0x2856 #49 0x0809d889 in rb_str_substr (str=1075652036, beg=6053, len=41) at string.c:360 str = 1075652036 beg = 0 len = 41 str2 = 10326 #50 0x080a0aae in rb_str_split_m (argc=1, argv=0xbfffa6f0, str=1075652036) at string.c:2253 start = 6053 idx = 1 last_null = 0 regs = (struct re_registers *) 0x819c150 argc = 1 spat = 1075564412 limit = 4 char_sep = -1 beg = 6053 end = 41 i = 0 lim = 0 result = 1075453952 tmp = 0 #51 0x080594ae in call_cfunc (func=0x80a07a0 <rb_str_split_m>, recv=1075652036, len=-1, argc=1, argv=0xbfffa6f0) at eval.c:4257 func = (VALUE (*)()) 0x80a07a0 <rb_str_split_m> recv = 1075652036 len = 41 argc = 1 argv = (VALUE *) 0x0 #52 0x08059861 in rb_call0 (klass=1075633332, recv=1075652036, id=4145, argc=1, argv=0xbfffa6f0, body=0x401cd5ac, nosuper=1) at eval.c:4394 _frame = {self = 1075652036, argc = 1, argv = 0xbfffa6f0, last_func = 4145, last_class = 0, cbase = 1075584272, prev = 0xbfffb8a0, tmp = 0x0, file = 0x8100fc0 "dma1", line = 160, iter = 0, flags = 0} _iter = {iter = 0, prev = 0xbfffb7c8} b2 = (NODE *) 0x401aed3c result = 4 itr = -1073764624 tick = 424221 #53 0x0805a021 in rb_call (klass=1075633332, recv=1075652036, mid=4145, argc=1, argv=0xbfffa6f0, scope=0) at eval.c:4614 mid = 4145 scope = 0 body = (NODE *) 0x401cd5ac noex = 1 id = 4145 #54 0x08055490 in rb_eval (self=1075637472, n=0x401bcf40) at eval.c:2544 n = (NODE *) 0x0 node = (NODE *) 0x401bcf40 state = 0 result = 4 #55 0x08055e0d in rb_eval (self=1075637472, n=0x401bcf2c) at eval.c:2700 n = (NODE *) 0x0 node = (NODE *) 0x401bcfa4 state = 0 result = 4 #56 0x08053ba5 in rb_eval (self=1075637472, n=0x401bdcc4) at eval.c:2025 n = (NODE *) 0x0 node = (NODE *) 0x401bcf18 state = 0 result = 4 #57 0x08057fa1 in rb_yield_0 (val=4, self=1075637472, klass=0, acheck=0) at eval.c:3622 _tag = {buf = {{__jmpbuf = {0, 0, -1073760048, -1073759992, -1073760352, 134577961}, __mask_was_saved = 0, __saved_mask = { __val = {3221208904, 4294967295, 608, 0, 3221208920, 3201, 0, 3221207096, 134583507, 1075987356, 2435342, 0, 0, 0, 1073816024, 135386248, 3221207568, 3097, 0, 3221207464, 134584417, 134700528, 1075987356, 1, 1, 3221207568, 1074250064, 3221207176, 134583507, 0, 0, 1075946216}}}}, frame = 0xbfffb8a0, iter = 0xbfffb7c8, tag = 0, retval = 1075713796, scope = 0x4022dac8, dst = 0, prev = 0xbfffc310} _iter = {iter = 0, prev = 0xbfffb998} _class = 1075641632 _old = (struct RVarmap *) 0x0 klass = 0 node = (NODE *) 0x401bdcc4 result = 4 old_cref = 1075584272 old_wrapper = 0 block = (struct BLOCK *) 0xbfffc2a0 old_scope = (struct SCOPE *) 0x4022dac8 frame = {self = 1075637472, argc = 1, argv = 0xbfffc65c, last_func = 9265, last_class = 1075641632, cbase = 1075584272, prev = 0xbfffba70, tmp = 0x0, file = 0x8100fc0 "dma1", line = 136, iter = 0, flags = 0} file = 0x8100fc0 "dma1" line = 136 state = 0 serial = 1340 #58 0x08058205 in rb_f_loop () at eval.c:3717 No locals. #59 0x080594d3 in call_cfunc (func=0x80581f0 <rb_f_loop>, recv=1075637472, len=0, argc=0, argv=0x0) at eval.c:4269 func = (VALUE (*)()) 0x80581f0 <rb_f_loop> recv = 1075637472 len = 41 argc = 0 argv = (VALUE *) 0x0 #60 0x08059861 in rb_call0 (klass=1075641492, recv=1075637472, id=3681, argc=0, argv=0x0, body=0x401ce538, nosuper=1) at eval.c:4394 _frame = {self = 1075637472, argc = 0, argv = 0x0, last_func = 3681, last_class = 0, cbase = 1075584272, prev = 0xbfffc760, tmp = 0x0, file = 0x8100fc0 "dma1", line = 136, iter = 2, flags = 0} _iter = {iter = 2, prev = 0xbfffc160} b2 = (NODE *) 0x0 result = 4 itr = 0 tick = 424221 #61 0x0805a021 in rb_call (klass=1075641492, recv=1075637472, mid=3681, argc=0, argv=0x0, scope=1) at eval.c:4614 mid = 3681 scope = 1 body = (NODE *) 0x401ce538 noex = 3 id = 3681 #62 0x08055490 in rb_eval (self=1075637472, n=0x401b7324) at eval.c:2544 n = (NODE *) 0x0 node = (NODE *) 0x401b7324 state = 4 result = 4 #63 0x0805453c in rb_eval (self=1075637472, n=0x401bdea4) at eval.c:2276 _iter = {iter = 1, prev = 0xbfffc688} _block = {var = 0x0, body = 0x401bdcc4, self = 1075637472, frame = { self = 1075637472, argc = 1, argv = 0xbfffc65c, last_func = 9265, last_class = 1075641632, cbase = 1075584272, prev = 0xbfffceb0, tmp = 0x0, file = 0x8100fc0 "dma1", line = 136, iter = 0, flags = 0}, scope = 0x4022dac8, tag = 0x4022da50, klass = 1075641632, iter = 0, vmode = 0, flags = 1, dyna_vars = 0x0, orig_thread = 3221209992, wrapper = 0, prev = 0x0} _tag = {buf = {{__jmpbuf = {1, -1073756272, -1073757476, -1073756616, -1073758032, 134563053}, __mask_was_saved = 0, __saved_mask = { __val = {1075108682, 135495680, 1075421964, 3221209960, 1074707334, 135495680, 36, 0, 3221209824, 1, 1076033656, 1028335257, 1075421964, 4096, 1075412896, 3221209992, 1074722436, 4096, 32, 135491080, 22, 0, 3221212712, 1075412896, 1075421964, 1075412896, 1075412896, 3221210040, 1074706896, 1075410976, 1075421964, 96}}}}, frame = 0xbfffc760, iter = 0xbfffc688, tag = 4294967295, retval = 4, scope = 0x4022dac8, dst = 0, prev = 0xbfffc6a0} n = (NODE *) 0x0 node = (NODE *) 0x401b7338 state = 0 result = 4 #64 0x08059c7b in rb_call0 (klass=1075641632, recv=1075637472, id=9265, argc=0, argv=0xbfffc824, body=0x401bdea4, nosuper=0) at eval.c:4521 _tag = {buf = {{__jmpbuf = {1076028716, 9265, 1, -1073756232, -1073756608, 134584922}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 135271008, 3221210872, 134634967, 8, 135271000, 135272904, 1, 0, 0, 0, 3221212712, 135474184, 135271008, 3221210920, 134898239, 135474184, 135271000, 8, 135271008, 881934, 1075441672, 0, 135310032, 135272904, 1076033656, 3221210968, 134659348, 135271000, 135272904, 3221210968}}}}, frame = 0xbfffc760, iter = 0xbfffc688, tag = 4294967295, retval = 4, scope = 0x4022dac8, dst = 0, prev = 0xbfffcde0} _old = (struct RVarmap *) 0x4022dadc _vmode = 0 _old = (struct SCOPE *) 0x401cfd34 _scope = (struct SCOPE *) 0x0 state = 0 local_vars = (VALUE *) 0xbfffc654 saved_cref = (NODE *) 0x401c1d10 _frame = {self = 1075637472, argc = 1, argv = 0xbfffc65c, last_func = 9265, last_class = 1075641632, cbase = 1075584272, prev = 0xbfffceb0, tmp = 0x0, file = 0x8100fc0 "dma1", line = 333, iter = 0, flags = 0} _iter = {iter = 0, prev = 0xbfffcdd8} b2 = (NODE *) 0x401b72d4 result = 4 itr = 1 tick = 424221 #65 0x0805a021 in rb_call (klass=1075641632, recv=1075637472, mid=9265, argc=1, argv=0xbfffc820, scope=1) at eval.c:4614 mid = 9265 scope = 1 body = (NODE *) 0x4022e52c noex = 2 id = 9265 #66 0x08055490 in rb_eval (self=1075637472, n=0x401b7090) at eval.c:2544 n = (NODE *) 0x0 node = (NODE *) 0x401b70a4 state = 0 result = 4 #67 0x08057fa1 in rb_yield_0 (val=3, self=1075637472, klass=0, acheck=2) at eval.c:3622 _tag = {buf = {{__jmpbuf = {0, 135496404, 0, -1073754344, -1073754704, 134577961}, __mask_was_saved = 0, __saved_mask = {__val = {134578081, 1075637472, 1075580772, 1076033716, 0, 3221212624, 134574852, 1075641632, 35, 135270336, 1075580772, 0, 3221213176, 0, 0, 3221212976, 3221213032, 3221212672, 134577961, 0, 1074710650, 4, 2, 3221212808, 5, 16, 24, 1075412896, 1074707334, 1075412896, 1075412896, 3221212824}}}}, frame = 0xbfffceb0, iter = 0xbfffcdd8, tag = 0, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0xbfffcf70} _iter = {iter = 0, prev = 0xbfffd148} _class = 1075641632 _old = (struct RVarmap *) 0x4022dca8 klass = 0 node = (NODE *) 0x401b7090 result = 4 old_cref = 1075584272 old_wrapper = 0 block = (struct BLOCK *) 0x8138298 old_scope = (struct SCOPE *) 0x401cfd34 frame = {self = 1075637472, argc = 0, argv = 0x0, last_func = 0, last_class = 0, cbase = 1075584272, prev = 0xbfffd220, tmp = 0x0, file = 0x8100fc0 "dma1", line = 333, iter = 0, flags = 0} file = 0x8100fc0 "dma1" line = 333 state = 0 serial = 1340 #68 0x0806153f in rb_thread_yield (arg=1076026116, th=0x8137fe0) at eval.c:8452 arg = 1076026116 #69 0x080612f5 in rb_thread_start_0 (fn=0x8061514 <rb_thread_yield>, arg=0x4022db04, th_arg=0x8137fe0) at eval.c:8385 _tag = {buf = {{__jmpbuf = {0, 1, 134616492, -1073753928, -1073754288, 134615722}, __mask_was_saved = 0, __saved_mask = {__val = {134556388, 1075641632, 5637, 0, 3221213568, 6761, 0, 3221214520, 134569970, 9249, 3221216524, 3221214536, 134570043, 1075584272, 5637, 1075637472, 3221216524, 0, 1, 3221213192, 1074707334, 4294967295, 2838798, 0, 3221216456, 0, 1075964656, 2, 3221215168, 3337, 0, 3221213560}}}}, frame = 0xbfffd220, iter = 0xbfffd148, tag = 4294967294, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0xbfffdd40} th_arg = 0x0 th = 0x8137fe0 thread = 1076026296 saved_block = (struct BLOCK *) 0x8138298 status = THREAD_RUNNABLE state = 0 #70 0x080615ec in rb_thread_initialize (thread=1076026296, args=1076026116) at eval.c:8481 No locals. #71 0x080594d3 in call_cfunc (func=0x80615ac <rb_thread_initialize>, recv=1076026296, len=-2, argc=1, argv=0xbfffd550) at eval.c:4269 func = (VALUE (*)()) 0x80615ac <rb_thread_initialize> recv = 1076026296 len = 41 argc = 1 argv = (VALUE *) 0x0 #72 0x08059861 in rb_call0 (klass=1075620672, recv=1076026296, id=2857, argc=1, argv=0xbfffd550, body=0x401caaf0, nosuper=1) at eval.c:4394 _frame = {self = 1076026296, argc = 1, argv = 0xbfffd550, last_func = 2857, last_class = 0, cbase = 1075584272, prev = 0xbfffd490, tmp = 0x0, file = 0x8100fc0 "dma1", line = 333, iter = 2, flags = 0} _iter = {iter = 2, prev = 0xbfffd300} b2 = (NODE *) 0x401ce538 result = 4 itr = -1073752752 tick = 424221 #73 0x0805a021 in rb_call (klass=1075620672, recv=1076026296, mid=2857, argc=1, argv=0xbfffd550, scope=1) at eval.c:4614 mid = 2857 scope = 1 body = (NODE *) 0x401caaf0 noex = 3 id = 2857 #74 0x0805a2a9 in rb_funcall2 (recv=1076026296, mid=2857, argc=1, argv=0xbfffd550) at eval.c:4698 recv = 0 #75 0x0805c237 in rb_obj_call_init (obj=1076026296, argc=1, argv=0xbfffd550) at eval.c:5717 argc = 1 argv = (VALUE *) 0xbfffd550 _iter = {iter = 1, prev = 0xbfffd3b8} #76 0x0806156d in rb_thread_s_new (argc=1, argv=0xbfffd550, klass=1075620672) at eval.c:8465 argc = 1 argv = (VALUE *) 0xbfffd550 th = 0x8137fe0 #77 0x080594ae in call_cfunc (func=0x8061544 <rb_thread_s_new>, recv=1075620672, len=-1, argc=1, argv=0xbfffd550) at eval.c:4257 func = (VALUE (*)()) 0x8061544 <rb_thread_s_new> recv = 1075620672 len = 41 argc = 1 argv = (VALUE *) 0x0 #78 0x08059861 in rb_call0 (klass=1075620652, recv=1075620672, id=3169, argc=1, argv=0xbfffd550, body=0x401cab18, nosuper=1) at eval.c:4394 _frame = {self = 1075620672, argc = 1, argv = 0xbfffd550, last_func = 3169, last_class = 0, cbase = 1075584272, prev = 0xbfffe710, tmp = 0x0, file = 0x8100fc0 "dma1", line = 333, iter = 2, flags = 0} _iter = {iter = 2, prev = 0xbfffdb90} b2 = (NODE *) 0xbfffd400 result = 4 itr = -1073752752 tick = 424221 #79 0x0805a021 in rb_call (klass=1075620652, recv=1075620672, mid=3169, argc=1, argv=0xbfffd550, scope=0) at eval.c:4614 mid = 3169 scope = 0 body = (NODE *) 0x401cab18 noex = 1 id = 3169 #80 0x08055490 in rb_eval (self=1075637472, n=0x401b7108) at eval.c:2544 n = (NODE *) 0x0 node = (NODE *) 0x401b7108 state = 0 result = 4 #81 0x0805453c in rb_eval (self=1075637472, n=0x401b707c) at eval.c:2276 _iter = {iter = 1, prev = 0xbfffe120} _block = {var = 0x401b70e0, body = 0x401b7090, self = 1075637472, frame = {self = 1075637472, argc = 0, argv = 0x0, last_func = 0, last_class = 0, cbase = 1075584272, prev = 0xbfffe910, tmp = 0x0, file = 0x8100fc0 "dma1", line = 333, iter = 0, flags = 0}, scope = 0x401cfd34, tag = 0x4022dc30, klass = 1075641632, iter = 0, vmode = 0, flags = 1, dyna_vars = 0x4022dca8, orig_thread = 3221216584, wrapper = 0, prev = 0x0} _tag = {buf = {{__jmpbuf = {1075540072, -1073748160, -1073750772, -1073749912, -1073751328, 134563053}, __mask_was_saved = 0, __saved_mask = {__val = {1074707334, 0, 0, 0, 3221216672, 3221216456, 0, 4, 1075641652, 0, 3221216864, 0, 4096, 26, 67108864, 135487624, 0, 1075637472, 0, 0, 0, 0, 1075584272, 3221217552, 0, 135270336, 46, 0, 0, 7300, 134616492, 3221216776}}}}, frame = 0xbfffe710, iter = 0xbfffe120, tag = 4294967295, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0xbfffe640} n = (NODE *) 0x0 node = (NODE *) 0x401b707c state = 0 result = 4 #82 0x0805509a in rb_eval (self=1075637472, n=0x401b7054) at eval.c:2523 file = 0x8100fc0 "dma1" line = 333 i = 1 n = (NODE *) 0x401b7068 _iter = {iter = 0, prev = 0xbfffe638} tmp_block = (struct BLOCK *) 0x0 recv = 1076028736 argc = 2 argv = (VALUE *) 0xbfffe080 n = (NODE *) 0x0 node = (NODE *) 0x401b7158 state = 0 result = 4 #83 0x08057fa1 in rb_yield_0 (val=3, self=1075637472, klass=0, acheck=0) at eval.c:3622 _tag = {buf = {{__jmpbuf = {0, -1073745540, 0, -1073748104, -1073748464, 134577961}, __mask_was_saved = 0, __saved_mask = { __val = {1074707334, 3221222608, 3221219008, 3221218984, 134637275, 131063, 0, 3221218984, 1074707334, 2857, 1073823048, 3221219000, 134858341, 2857, 4, 135489544, 8, 1076034756, 0, 0, 1075613432, 1076028736, 0, 0, 2857, 0, 1075584272, 3221219600, 0, 135270336, 130, 0}}}}, frame = 0xbfffe710, iter = 0xbfffe638, tag = 0, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0xbffff1b0} _iter = {iter = 0, prev = 0xbfffe838} _class = 1075641632 _old = (struct RVarmap *) 0x0 klass = 0 node = (NODE *) 0x401b7054 result = 4 old_cref = 1075584272 old_wrapper = 0 block = (struct BLOCK *) 0xbffff140 old_scope = (struct SCOPE *) 0x401cfd34 frame = {self = 1075637472, argc = 0, argv = 0x0, last_func = 0, last_class = 0, cbase = 1075584272, prev = 0xbfffe910, tmp = 0x0, file = 0x8100fc0 "dma1", line = 332, iter = 0, flags = 0} file = 0x8100fc0 "dma1" line = 332 state = 0 serial = 1340 #84 0x080581ec in rb_yield (val=3) at eval.c:3710 No locals. #85 0x08089d6a in range_each (range=1076028456) at range.c:185 end = 5 i = 2 b = 2 e = 5 #86 0x080594d3 in call_cfunc (func=0x8089cf4 <range_each>, recv=1076028456, len=0, argc=0, argv=0x0) at eval.c:4269 func = (VALUE (*)()) 0x8089cf4 <range_each> recv = 1076028456 len = 41 argc = 0 argv = (VALUE *) 0x0 #87 0x08059861 in rb_call0 (klass=1075605532, recv=1076028456, id=3569, argc=0, argv=0x0, body=0x401c6f18, nosuper=1) at eval.c:4394 _frame = {self = 1076028456, argc = 0, argv = 0x0, last_func = 3569, last_class = 0, cbase = 1075584272, prev = 0x80c9fe0, tmp = 0x0, file = 0x8100fc0 "dma1", line = 332, iter = 2, flags = 0} _iter = {iter = 2, prev = 0xbffff000} b2 = (NODE *) 0x47 result = 4 itr = 0 tick = 424221 #88 0x0805a021 in rb_call (klass=1075605532, recv=1076028456, mid=3569, argc=0, argv=0x0, scope=0) at eval.c:4614 mid = 3569 scope = 0 body = (NODE *) 0x401c6f18 noex = 1 id = 3569 #89 0x08055490 in rb_eval (self=1075637472, n=0x401b71f8) at eval.c:2544 n = (NODE *) 0x0 node = (NODE *) 0x401b71f8 state = 0 result = 4 #90 0x0805453c in rb_eval (self=1075637472, n=0x401b7018) at eval.c:2276 _iter = {iter = 1, prev = 0xbffffa80} _block = {var = 0x401b71bc, body = 0x401b7054, self = 1075637472, frame = {self = 1075637472, argc = 0, argv = 0x0, last_func = 0, last_class = 0, cbase = 1075584272, prev = 0x0, tmp = 0x0, file = 0x8100fc0 "dma1", line = 332, iter = 0, flags = 0}, scope = 0x401cfd34, tag = 0x4022e504, klass = 1075641632, iter = 0, vmode = 0, flags = 1, dyna_vars = 0x0, orig_thread = 3221221832, wrapper = 0, prev = 0x0} _tag = {buf = {{__jmpbuf = {0, 135045136, -1073745540, -1073744680, -1073746096, 134563053}, __mask_was_saved = 0, __saved_mask = { __val = {134637491, 1075542472, 10, 135381336, 135381333, 0, 56, 1073743934, 1073743288, 1073742360, 1073816024, 6, 1075542352, 3221223864, 20, 3221221960, 134637275, 1075633332, 4294967295, 0, 1075108682, 0, 0, 0, 71, 3221222176, 3221222016, 3221222016, 1075542312, 3221223864, 20, 3221222024}}}}, frame = 0x80c9fe0, iter = 0xbffffa80, tag = 4294967295, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0xbffffa90} n = (NODE *) 0x0 node = (NODE *) 0x401b702c state = 0 result = 4 #91 0x08053ba5 in rb_eval (self=1075637472, n=0x401c1af4) at eval.c:2025 n = (NODE *) 0x0 node = (NODE *) 0x401b7004 state = 9449 result = 4 #92 0x08051f91 in ruby_run () at eval.c:1189 _iter = {iter = 0, prev = 0x80ca010} _tag = {buf = {{__jmpbuf = {-1073742876, 2, -1073742876, -1073743016, -1073743248, 134553460}, __mask_was_saved = 0, __saved_mask = { __val = {1073910936, 1074264752, 1073910936, 4, 134526504, 1073817708, 24641422, 24641422, 3221224336, 1073817296, 134532389, 1074706745, 24, 1074275536, 1073910936, 1074706714, 3221224244, 1073816768, 1073818560, 29, 3221224252, 1073784033, 1073816768, 1073817296, 128, 3221224272, 1073784033, 1073817708, 1073911688, 1, 0, 1073910936}}}}, frame = 0x80c9fe0, iter = 0x80ca010, tag = 0, retval = 4, scope = 0x401cfd34, dst = 0, prev = 0x0} state = 0 ex = 0 tmp = (NODE *) 0x0 #93 0x0805096f in main (argc=2, argv=0xbffffbe4, envp=0xbffffbf0) at main.c:50 argc = 2 argv = (char **) 0xbffffbe4 #94 0x4008f1c4 in __libc_start_main () from /lib/libc.so.6 No symbol table info available. "Yukihiro Matsumoto" <matz / ruby-lang.org> wrote in message news:1028419730.358000.2347.nullmailer / picachu.netlab.jp... > Hi, > > In message "Another Segmentation Fault problem" > on 02/08/04, Matt Lawrence <matt / technoronin.com> writes: > > |I've built a multi-threaded web spider that uses "thread", "net/http" > |and "ncurses". Occasionally it will segfault, usually down in the net > |code. I'm running Red Hat 7.3 with _all_ the latest updates. The > |problem seemed to appear after I did an "apt-get dist-upgrade", but > |considering how intermittent it is, it might have been there before. Help? > > Show me the code if possible. And output from the following command: > > ruby -v > uname -a > > matz. >