NAKAMURA, Takeshi
1yen****@sh*****
2006年 10月 26日 (木) 11:04:34 JST
仲村です On Tue, 24 Oct 2006 13:13:16 +0900, 栗原 浩 <kurib****@us*****> wrote: > どのように"落ちる"のか、落ちた時のメッセージ等があれば > 教えてください。 > ファイル名やフォルダ名が重要なことがあるので、 > 差し支えなければ、そのあたりも。 FreeBSD で、core を吐かせて gdb で bt して見たところ、 at import.cpp:771 if (vers->srcfile->branch == NULL || strcmp (vers->srcfile->branch, vbranch) != 0) で、 vers->srcfile->branch = "1.1.1" vbranch = (null) となっていました。 vbranch が何故 NULL なのは追えていません。 また、コマンドラインで cvsnt import と叩いてみると -n というオプションがあり FreeBSD で -n を使ってインポートしたところやっぱり落ちてしまいました。(EUC_JP) どうも、この行は conflicts を数えているだけなので、対処療法としては if ((vers->srcfile->branch == NULL || vbranch == NULL) || strcmp (vers->srcfile->branch, vbranch) != 0) ぐらいで良いかもしれませんが、vbranch に NULL が渡ることが正しいのか 分かりません。(後ろで使ってるかもしれないし) どなたか分かる方、見ていただけませんでしょうか? (gdb) bt #0 0x2850ea22 in strcmp () from /lib/libc.so.5 <--- NULL を渡されたので落ちた #1 0x0808b9c2 in update_rcs_file (message=0x816a011 "1.1.1", vfile=0x8164020 "xxx.sh", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:771 #2 0x0808b79c in process_import_file (message=0x812fbc0 "どうだ?\n", vfile=0x8164020 "xxx.sh", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:703 #3 0x0808b285 in import_descend (message=0x812fbc0 "どうだ?\n", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:555 #4 0x0808d5a0 in import_descend_dir (message=0x816a011 "1.1.1", dir=0x81650a0 "prog", vtag=0x816a011 "1.1.1", targc=135700497, targv=0x816a011) at import.cpp:1675 #5 0x0808b507 in import_descend (message=0x812fbc0 "どうだ?\n", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:620 #6 0x0808d5a0 in import_descend_dir (message=0x816a011 "1.1.1", dir=0x812ff70 "GRP2", vtag=0x816a011 "1.1.1", targc=135700497, targv=0x816a011) at import.cpp:1675 #7 0x0808b507 in import_descend (message=0x812fbc0 "どうだ?\n", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:620 #8 0x0808ab74 in import (argc=1, argv=0x813f314) at import.cpp:373 #9 0x08098366 in main (argc=6, argv=0x813f300) at main.cpp:1541 (gdb) up #1 0x0808b9c2 in update_rcs_file (message=0x816a011 "1.1.1", vfile=0x8164020 "bku2_b_i01_fsck_01.sh", vtag=0x0, targc=0, targv=0x813f318) at import.cpp:771 771 if (vers->srcfile->branch == NULL || strcmp (vers->srcfile->branch, vbranch) != 0) (gdb) print vbranch $1 = 0x0 (gdb) print vers->srcfile->branch $2 = 0x816a011 "1.1.1" (core を吐かせる方法は FreeBSD-uses-jp の ML で教えていただきました) ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+ 関西沖縄の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部 仲村 武 <1yen****@sh*****>