From: Tanaka Akira Date: 2004-12-17T00:00:00+09:00 Subject: [ruby-dev:25226] Zlib::Deflate.deflate dumps core 次のようにすると core を吐きます。 % catchsegv ./ruby -rzlib -ve ' src = Object.new class << src; self end.send(:define_method, :to_str) { callcc {|k| $k = k } "abc" } p Zlib::Deflate.deflate(src) $k.call ' ruby 1.9.0 (2004-12-16) [i686-linux] "x\234KLJ\006\000\002M\001'" *** Segmentation fault Register dump: EAX: 00000400 EBX: 40202288 ECX: 00000100 EDX: 08148ad8 ESI: 30305c30 EDI: 08148ad8 EBP: bfffe748 ESP: bfffe740 EIP: 400f0a1f EFLAGS: 00010206 CS: 0023 DS: 002b ES: 002b FS: 0000 GS: 0000 SS: 002b Trap: 0000000e Error: 00000004 OldMask: 00000000 ESP/signal: bfffe740 CR2: 30305c30 FPUCW: ffff037f FPUSW: ffff0020 TAG: ffffffff IPOFF: 0806959b CSSEL: 0023 DATAOFF: 0818832c DATASEL: 002b ST(0) 0000 0000000000000000 ST(1) 0000 0000000000000000 ST(2) 0000 0000000000000000 ST(3) 0000 0000000000000000 ST(4) 0000 0000000000000000 ST(5) 0000 0000000000000000 ST(6) 0000 0000000000000000 ST(7) 0000 0000000000000000 Backtrace: /lib/libc.so.6(memcpy+0x2f)[0x400f0a1f] /usr/lib/libz.so.1(deflate+0x3e5)[0x401f58e5] /home/akr/ruby/head-ruby/lib/ruby/1.9/i686-linux/zlib.so[0x401dfae3] /home/akr/ruby/head-ruby/lib/ruby/1.9/i686-linux/zlib.so[0x401e0703] /home/akr/ruby/head-ruby/ruby/eval.c:5418(call_cfunc)[0x806ac5a] /home/akr/ruby/head-ruby/ruby/eval.c:5559(rb_call0)[0x805ea12] /home/akr/ruby/head-ruby/ruby/eval.c:5782(rb_call)[0x805ecd8] /home/akr/ruby/head-ruby/ruby/ruby.h:635(rb_eval)[0x80597fa] /home/akr/ruby/head-ruby/ruby/ruby.h:664(rb_eval)[0x8059b2b] /home/akr/ruby/head-ruby/ruby/eval.c:1470(ruby_exec_internal)[0x8055dcd] ./ruby(ruby_exec+0x16)[0x8055de6] ./ruby(ruby_run+0x20)[0x8055e30] ??:0(main)[0x8053e35] /lib/libc.so.6(__libc_start_main+0xc6)[0x4008edc6] ../sysdeps/i386/elf/start.S:105(_start)[0x8053d61] Memory map: 08048000-080fc000 r-xp 00000000 03:01 3598430 /home/akr/ruby/head-ruby/ruby/ruby 080fc000-080ff000 rw-p 000b3000 03:01 3598430 /home/akr/ruby/head-ruby/ruby/ruby 080ff000-081a9000 rwxp 00000000 00:00 0 40000000-40016000 r-xp 00000000 03:01 165729 /lib/ld-2.3.2.so 40016000-40017000 rw-p 00015000 03:01 165729 /lib/ld-2.3.2.so 40017000-40018000 rw-p 00000000 00:00 0 40018000-4001b000 r-xp 00000000 03:01 166424 /lib/libSegFault.so 4001b000-4001c000 rw-p 00002000 03:01 166424 /lib/libSegFault.so 4001c000-4001d000 rw-p 00000000 00:00 0 40026000-40028000 r-xp 00000000 03:01 166367 /lib/libdl-2.3.2.so 40028000-40029000 rw-p 00002000 03:01 166367 /lib/libdl-2.3.2.so 40029000-4002e000 r-xp 00000000 03:01 166366 /lib/libcrypt-2.3.2.so 4002e000-4002f000 rw-p 00004000 03:01 166366 /lib/libcrypt-2.3.2.so 4002f000-40057000 rw-p 00000000 00:00 0 40057000-40078000 r-xp 00000000 03:01 166368 /lib/libm-2.3.2.so 40078000-40079000 rw-p 00020000 03:01 166368 /lib/libm-2.3.2.so 40079000-401a1000 r-xp 00000000 03:01 166365 /lib/libc-2.3.2.so 401a1000-401a9000 rw-p 00127000 03:01 166365 /lib/libc-2.3.2.so 401a9000-401dd000 rw-p 00000000 00:00 0 401dd000-401e6000 r-xp 00000000 03:01 231894 /home/akr/ruby/head-ruby/lib/ruby/1.9/i686-linux/zlib.so 401e6000-401e7000 rw-p 00008000 03:01 231894 /home/akr/ruby/head-ruby/lib/ruby/1.9/i686-linux/zlib.so 401f1000-40202000 r-xp 00000000 03:01 997563 /usr/lib/libz.so.1.2.2 40202000-40203000 rw-p 00010000 03:01 997563 /usr/lib/libz.so.1.2.2 bfffc000-c0000000 rwxp ffffd000 00:00 0 -- [田中 哲][たなか あきら][Tanaka Akira]