こんにちは、小林です。 From: Fumiaki Kobayashi <fumiakik _at_ jaist.ac.jp> Subject: [linux-users:90060] Re: groff の Segmentation Fault について Date: Fri, 14 Dec 2001 16:44:03 +0900 Message-ID: <20011214164354T.fumiakik _at_ jaist.ac.jp> ishioka> ええと make のときに cc(gcc) に -g をつけてコンパイルしたり, ishioka> リンクしたりして下さい. ishioka> ishioka> つぎに ishioka> % gdb ./groff ishioka> し, ishioka> gdb> run -Tnippoon -mandocj hoge.1 ishioka> と実行し, ishioka> ishioka> 落ちる所を調べます. というのじゃだめなんでしょうか? 結果: ================================================================= >gdb groff (gdb) break main Breakpoint 1 at 0x8000f49: file groff.cc, line 104. (gdb) run Starting program: /home/freesoft/groff-1.10/groff/groff Breakpoint 1, main (argc=1, argv=0xbffff8e4) at groff.cc:104 104 program_name = argv[0]; (gdb) step 106 setbuf(stderr, stderr_buf); (gdb) step Program received signal SIGSEGV, Segmentation fault. 0x400855b1 in buf.2 () ================================================================= groff.cc: ================================================================= int main(int argc, char **argv) { program_name = argv[0]; <-------- 104 行目 static char stderr_buf[BUFSIZ]; setbuf(stderr, stderr_buf); assert(NCOMMANDS <= MAX_COMMANDS); string Pargs, Largs, Fargs; --snip-- ================================================================= よって、setbuf() 関数を実行中に SIGSEGV シグナルを受けているようです。 From: Takashi ISHIOKA <ishioka _at_ dad.eec.toshiba.co.jp> Subject: [linux-users:90062] Re: groff の Segmentation Fault について Date: Fri, 14 Dec 2001 16:57:28 +0900 Message-ID: <o6gy9k6fd3u.wl _at_ eecdkah.dad.eec.toshiba.co.jp> ishioka> % ldd `which groff` ishioka> libstdc++.so.2.9 => /usr/lib/libstdc++.so.2.9 (0x4001b000) ishioka> libm.so.6 => /lib/libm.so.6 (0x4005e000) ishioka> libc.so.6 => /lib/libc.so.6 (0x4007b000) ishioka> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) こちらの方でもやってみました。 >ldd ./groff libstdc++.so.26 => /usr/lib/libstdc++.so.26 (0x4000a000) libm.so.5 => /lib/libm.so.5 (0x4003b000) libc.so.5 => /lib/libc.so.5 (0x40044000) >nm /lib/libc.so.5 | grep setbuf 0003fc00 T _IO_default_setbuf 0003e3b0 T _IO_file_setbuf 00041560 T _IO_setbuffer 0004ad50 T setbuf 00041560 W setbuffer で、libc.so.5 に、setbuf() が定義されていることを確認できました。 すると、libc.so.5 が悪いのかと思ったのですが、 README.jp:(groff-1.10.tar.gz 付属) ==================================================================== ◎ インストール 以下の環境でmake出来ることを確認しています。 ☆ FreeBSD 2.1.0-RELEASE XFree86-3.1.2, gcc 2.6.3 ☆ GNU/Linux 0.93R6 (Kernel 1.3.43, libc-5.2.14) ←ここ XFree86-3.1.2, gcc 2.7.1, libg++-2.7.1 ☆ NEC EWS/4800/310 SVR4.2 Release9.1 Rev.B, X11R5, gcc 2.6.0 ==================================================================== libc-5 でもいいはずなんですよね…。 ちなみに、 %ls -l /lib/libc.so.5 lrwxrwxrwx 1 root root 14 Sep 1 1997 /lib/libc.so.5 -> libc.so.5.4.23* です。 何かアドバイスがあればお願いします。 北陸先端大 情報科学研究科 小林 史陽
Follow-Ups:
- [linux-users:90065] Re: groff のSegmentation Fault についてTakashi ISHIOKA
- [linux-users:90068] おまけ(was groffのSegmentation Faultについて)Fumiaki Kobayashi
- [linux-users:90058] groff のSegmentation FaultについてFumiaki Kobayashi
- [linux-users:90059] Re: groff のSegmentation Fault についてTakashi ISHIOKA
- [linux-users:90060] Re: groff のSegmentation Fault についてFumiaki Kobayashi
- [linux-users:90062] Re: groff のSegmentation Fault についてTakashi ISHIOKA
- Prev by Subject: [linux-users:90062] Re: groff のSegmentation Fault について
- Next by Subject: [linux-users:90064] Re: dumpバックアップについて
- Previous by thread: [linux-users:90062] Re: groff のSegmentation Fault について
- Next by thread: [linux-users:90065] Re: groff のSegmentation Fault について
- Indexes:[Main][Thread]