From: Zev Blut Date: 2004-05-25T00:32:44+09:00 Subject: Re: YAML Segmentation fault while parsing 2M EUC file. On Mon, 24 May 2004 23:56:35 +0900, ts wrote: >>>>>> "Z" == Zev Blut writes: > > Z> " > Z> /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:315: [BUG] Segmentation > fault > Z> ruby 1.8.1 (2003-12-25) [i686-linux] > > Try to run it under the debugger (gdb) and when it crash give > a backtrace (command `bt') I forgot to add that this is running on a RedHat 9 install. Here is the result of bt (which is slightly sanitized...): Program received signal SIGSEGV, Segmentation fault. 0x4207c1ac in memcpy () from /lib/tls/libc.so.6 (gdb) bt #0 0x4207c1ac in memcpy () from /lib/tls/libc.so.6 #1 0x4001c486 in syck_emitter_write (e=0x81ef8f8, str=0x81c1fba "SANITIZED[But the length is intact]"..., len=136712192) at emitter.c:241 #2 0x4001c5e9 in syck_emitter_simple (e=0x1557, str=0x81c1fba "SANITIZED[But the length is intact]"..., len=9559) at emitter.c:317 #3 0x400213b0 in syck_emitter_simple_write (self=1074599416, str=1074599616) at rubyext.c:1301 #4 0x080653d3 in call_cfunc (func=0x4002137c , recv=1074599416, len=-1367, argc=1, argv=0x3ffe9dc6) at eval.c:4929 #5 0x0805aff5 in rb_call0 (klass=1074672216, recv=1074599416, id=10881, oid=5463, argc=1, argv=0xbfff2310, body=0x400e3154, nosuper=0) at eval.c:5066 #6 0x0805b7dd in rb_call (klass=1074672216, recv=1074599416, mid=10881, argc=1, argv=0xbfff2310, scope=0) at eval.c:5287 #7 0x08056f21 in rb_eval (self=1074599616, n=0x1557) at eval.c:3078 #8 0x08059600 in rb_yield_0 (val=1074599416, self=1074599616, klass=0, flags=0, avalue=0) at eval.c:4293 #9 0x0805f64b in proc_invoke (proc=1074598176, args=1074599416, self=6, klass=0) at ruby.h:631 #10 0x0805f6f1 in proc_call (proc=1074598176, args=1074597976) at eval.c:7233 #11 0x080653d3 in call_cfunc (func=0x805f6dc , recv=1074598176, len=-1367, argc=1, argv=0x3ffe9dc6) at eval.c:4929 #12 0x0805aff5 in rb_call0 (klass=1074431892, recv=1074598176, id=5193, oid=5463, argc=1, argv=0xbfff2e60, body=0x400a8708, nosuper=0) at eval.c:5066 #13 0x0805b7dd in rb_call (klass=1074431892, recv=1074598176, mid=5193, argc=1, argv=0xbfff2e60, scope=0) at eval.c:5287 #14 0x08056f21 in rb_eval (self=1074399152, n=0x1557) at eval.c:3078 #15 0x0805b2de in rb_call0 (klass=1074611096, recv=1074399152, id=10817, oid=5463, argc=0, argv=0xbfff3648, body=0x400a14bc, nosuper=0) at eval.c:5194 #16 0x0805b7dd in rb_call (klass=1074611096, recv=1074399152, mid=10817, argc=2, argv=0xbfff3640, scope=0) at eval.c:5287 #17 0x08056f21 in rb_eval (self=1074599616, n=0x1557) at eval.c:3078 #18 0x0805644a in rb_eval (self=1074599616, n=0x1557) at eval.c:2796 #19 0x0805b2de in rb_call0 (klass=1074485332, recv=1074599616, id=10401, oid=5463, argc=0, argv=0xbfff43f4, body=0x400c9614, nosuper=0) at eval.c:5194 #20 0x0805b7dd in rb_call (klass=1074485332, recv=1074599616, mid=10401, argc=1, argv=0xbfff43f0, scope=0) at eval.c:5287 #21 0x08056f21 in rb_eval (self=1074599416, n=0x1557) at eval.c:3078 #22 0x08059600 in rb_yield_0 (val=1074599116, self=1074599416, klass=0, flags=0, avalue=0) at eval.c:4293 #23 0x08059aca in rb_yield (val=1074599116) at eval.c:4346 #24 0x080affff in rb_ary_each (ary=1074599216) at array.c:1106 #25 0x080653d3 in call_cfunc (func=0x80affd8 , recv=1074599216, len=-1367, argc=0, argv=0x3ffe9dc6) at eval.c:4929 #26 0x0805aff5 in rb_call0 (klass=1074464472, recv=1074599216, id=3833, oid=5463, argc=0, argv=0x0, body=0x400b02b4, nosuper=0) at eval.c:5066 #27 0x0805b7dd in rb_call (klass=1074464472, recv=1074599216, mid=3833, argc=0, argv=0x0, scope=0) at eval.c:5287 #28 0x08056f21 in rb_eval (self=1074599416, n=0x1557) at eval.c:3078 #29 0x0805644a in rb_eval (self=1074599416, n=0x1557) at eval.c:2796 #30 0x0805b2de in rb_call0 (klass=1074607856, recv=1074599416, id=3753, oid=5463, argc=0, argv=0xbfff5b74, body=0x400d90b4, nosuper=0) at eval.c:5194 #31 0x0805b7dd in rb_call (klass=1074607856, recv=1074599416, mid=3753, argc=1, argv=0xbfff5b70, scope=0) at eval.c:5287 #32 0x08056f21 in rb_eval (self=1074602056, n=0x1557) at eval.c:3078 #33 0x0805644a in rb_eval (self=1074602056, n=0x1557) at eval.c:2796 #34 0x08059600 in rb_yield_0 (val=1074599416, self=1074602056, klass=0, flags=0, avalue=0) at eval.c:4293 #35 0x0805f64b in proc_invoke (proc=1074599476, args=1074599416, self=6, klass=0) at ruby.h:631 #36 0x0805f6f1 in proc_call (proc=1074599476, args=1074599396) at eval.c:7233 #37 0x080653d3 in call_cfunc (func=0x805f6dc , recv=1074599476, len=-1367, argc=1, argv=0x3ffe9dc6) at eval.c:4929 #38 0x0805aff5 in rb_call0 (klass=1074431892, recv=1074599476, id=5193, oid=5463, argc=1, argv=0xbfff6ca0, body=0x400a8708, nosuper=0) at eval.c:5066 #39 0x0805b7dd in rb_call (klass=1074431892, recv=1074599476, mid=5193, argc=1, argv=0xbfff6ca0, scope=0) at eval.c:5287 #40 0x08056f21 in rb_eval (self=1074399152, n=0x1557) at eval.c:3078 #41 0x0805b2de in rb_call0 (klass=1074611096, recv=1074399152, id=10817, oid=5463, argc=0, argv=0xbfff7488, body=0x400a14bc, nosuper=0) at eval.c:5194 #42 0x0805b7dd in rb_call (klass=1074611096, recv=1074399152, mid=10817, argc=2, argv=0xbfff7480, scope=0) at eval.c:5287 #43 0x08056f21 in rb_eval (self=1074602056, n=0x1557) at eval.c:3078 #44 0x0805644a in rb_eval (self=1074602056, n=0x1557) at eval.c:2796 #45 0x0805b2de in rb_call0 (klass=1074461452, recv=1074602056, id=10401, oid=5463, argc=0, argv=0x0, body=0x400cf924, nosuper=0) at eval.c:5194 #46 0x0805b7dd in rb_call (klass=1074461452, recv=1074602056, mid=10401, argc=0, argv=0x0, scope=0) at eval.c:5287 #47 0x08056f21 in rb_eval (self=1074335652, n=0x1557) at eval.c:3078 #48 0x080571c1 in rb_eval (self=1074335652, n=0x1557) at ruby.h:636 #49 0x0805b2de in rb_call0 (klass=1074514096, recv=1074335652, id=10337, oid=5463, argc=0, argv=0xbfff8fd4, body=0x400a57c4, nosuper=0) at eval.c:5194 #50 0x0805b7dd in rb_call (klass=1074514096, recv=1074335652, mid=10337, argc=1, argv=0xbfff8fd0, scope=0) at eval.c:5287 #51 0x08056f21 in rb_eval (self=1074513316, n=0x1557) at eval.c:3078 #52 0x08059600 in rb_yield_0 (val=1074335652, self=1074513316, klass=0, flags=0, avalue=0) at eval.c:4293 #53 0x08059aca in rb_yield (val=1074335652) at eval.c:4346 #54 0x080affff in rb_ary_each (ary=1074802156) at array.c:1106 #55 0x080653d3 in call_cfunc (func=0x80affd8 , recv=1074802156, len=-1367, argc=0, argv=0x3ffe9dc6) at eval.c:4929 #56 0x0805aff5 in rb_call0 (klass=1074464472, recv=1074802156, id=3833, oid=5463, argc=0, argv=0x0, body=0x400b02b4, nosuper=0) at eval.c:5066 #57 0x0805b7dd in rb_call (klass=1074464472, recv=1074802156, mid=3833, argc=0, argv=0x0, scope=0) at eval.c:5287 #58 0x08056f21 in rb_eval (self=1074513316, n=0x1557) at eval.c:3078 #59 0x0805644a in rb_eval (self=1074513316, n=0x1557) at eval.c:2796 #60 0x0805b2de in rb_call0 (klass=1074514656, recv=1074513316, id=10321, oid=5463, argc=0, argv=0xbfffa714, body=0x400a6264, nosuper=0) at eval.c:5194 #61 0x0805b7dd in rb_call (klass=1074514656, recv=1074513316, mid=10321, argc=1, argv=0xbfffa710, scope=1) at eval.c:5287 #62 0x08056f21 in rb_eval (self=1074513316, n=0x1557) at eval.c:3078 #63 0x08059600 in rb_yield_0 (val=1074602896, self=1074513316, klass=0, flags=0, avalue=0) at eval.c:4293 #64 0x08059aca in rb_yield (val=1074602896) at eval.c:4346 #65 0x0806fa14 in rb_io_each_line (argc=-1367, argv=0x0, io=1074802056) at io.c:1215 #66 0x080653d3 in call_cfunc (func=0x806f9c8 , recv=1074802056, len=-1367, argc=0, argv=0x3ffe9dc6) at eval.c:4929 #67 0x0805aff5 in rb_call0 (klass=1074453412, recv=1074802056, id=4705, oid=5463, argc=0, argv=0x0, body=0x400ad85c, nosuper=0) at eval.c:5066 #68 0x0805b7dd in rb_call (klass=1074453412, recv=1074802056, mid=4705, argc=0, argv=0x0, scope=0) at eval.c:5287 #69 0x08056f21 in rb_eval (self=1074513316, n=0x1557) at eval.c:3078 #70 0x0805644a in rb_eval (self=1074513316, n=0x1557) at eval.c:2796 #71 0x08059600 in rb_yield_0 (val=1074802056, self=1074513316, klass=0, flags=0, avalue=0) at eval.c:4293 #72 0x08059aca in rb_yield (val=1074802056) at eval.c:4346 #73 0x0805a6ad in rb_ensure (b_proc=0x8059ab4 , data1=1074802056, e_proc=0x80700b4 , data2=1074802056) at eval.c:4717 #74 0x0807106d in rb_io_s_open (argc=2, argv=0xbfffc160, klass=1074449572) at io.c:2285 #75 0x080653d3 in call_cfunc (func=0x8071030 , recv=1074449572, len=-1367, argc=2, argv=0x3ffe9dc6) at eval.c:4929 #76 0x0805aff5 in rb_call0 (klass=1074453392, recv=1074449572, id=7281, oid=5463, argc=2, argv=0xbfffc160, body=0x400adb18, nosuper=0) at eval.c:5066 #77 0x0805b7dd in rb_call (klass=1074453392, recv=1074449572, mid=7281, argc=2, argv=0xbfffc160, scope=0) at eval.c:5287 #78 0x08056f21 in rb_eval (self=1074513316, n=0x1557) at eval.c:3078 #79 0x0805644a in rb_eval (self=1074513316, n=0x1557) at eval.c:2796 #80 0x0805b2de in rb_call0 (klass=1074802836, recv=1074513316, id=10241, oid=5463, argc=0, argv=0xbfffcf14, body=0x400bbb54, nosuper=0) at eval.c:5194 #81 0x0805b7dd in rb_call (klass=1074802836, recv=1074513316, mid=10241, argc=1, argv=0xbfffcf10, scope=0) at eval.c:5287 #82 0x08056f21 in rb_eval (self=1074513736, n=0x1557) at eval.c:3078 #83 0x0805b2de in rb_call0 (klass=1074514816, recv=1074513736, id=10233, oid=5463, argc=0, argv=0xbfffd6d4, body=0x400a6dcc, nosuper=0) at eval.c:5194 #84 0x0805b7dd in rb_call (klass=1074514816, recv=1074513736, mid=10233, argc=1, argv=0xbfffd6d0, scope=0) at eval.c:5287 #85 0x08056f21 in rb_eval (self=1074489872, n=0x1557) at eval.c:3078 #86 0x080568fa in rb_eval (self=1074489872, n=0x1557) at eval.c:3259 #87 0x080538fc in ruby_exec () at eval.c:1436 #88 0x0805393d in ruby_run () at eval.c:1457 #89 0x08051e19 in main (argc=4, argv=0xbfffe444, envp=0xbfffe458) at main.c:50 #90 0x42015574 in __libc_start_main () from /lib/tls/libc.so.6 I hope this helps, Zev