[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cvs-ml 371] RE: Permission denied.



Permissioon deniedがでているということと、
再現性があるみたいということで、
あと少しで原因にたどりつけるような気がします。

From: 清武 伸之  <kiyotake@motion.ne.jp>
Subject: [cvs-ml 355] Re: Permission denied.
Date: Tue, 25 Jan 2000 11:11:08 +0900

  | 試してみました。しかし、今回も「Permission denied.」エラーが発生して
  | しまいました。
  | 色々アドバイスを頂いておりながら、申し訳ありません。
  | 
  | 少々不便なのですが、このままFreeBSDで行こうと思います。
  | #Linuxの担当者に、早くカーネルのバージョンアップをさせねば。

もしデバッガをつかえるなら、このような手順でデバッグできます。
いちおうServer側でPermission deniedとなると仮定してます。
#さらにカーネルのバグじゃないと仮定してます :-)

(1) Server側でcvs pserverに環境変数CVS_SERVER_SLEEPを設定する。
    inetdにSIGHUPを送る。

    % su
    ...
    # vi /etc/inetd.conf
<<<
cvspserver stream tcp nowait root /bin/sh sh /etc/cvspserver
>>>
    # vi /etc/cvspserver
<<<
#!/bin/sh
env CVS_SERVER_SLEEP=30 /usr/local/bin/cvs \
    --allow-root=/path/to/repository pserver
>>>
   # ps ax | grep inetd
   # kill -HUP 《inetdのPID》
   # cd /src/cvs-1.10.x/src

(2) ClientはServerにつなぎにゆく。
   % cvs checkout module
   ...

(3) cvs pserverをデバッガにかける。カレントディレクトリはcvsのソース。
   # ps ax | grep cvs
   # gdb cvs
   (gdb) attach 《cvs pserverのPID》
   (gdb) break strerror
   (gdb) continue
   たぶんbreak pointにひっかかるはず。
   (gdb) info stack
   (gdb) up
   (gdb) list
   (gdb) continue
   (gdb) quit

ここまでくれば原因はきっとわかるでしょう。

--
KOIE Hidetaka 鯉江英隆 <hide@koie.org>