[cvs-jp-info 782] Re: CVSNT が落ちる

Back to archive index

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*****>




CVS-JP-info メーリングリストの案内
Back to archive index