Detrimon написал(а):
А в логе сапроутера точно больше ничего нет интересного? Обычно с этой ошибкой что-то еще лезет.. Попробуйте стартануть saprouter с подробной трассировкой.
saprouter -r ..... -G logfile -T tracefile -V3
и оба файла изучить подробнее. Думаю там что-нибудь всплывет.
Ну собственно сапроутер-то есть у каждого, каждый сам может проделать такой опыт. Там действительно ещё одна ошибка была:
*** ERROR => NiIRead: SiRecv failed for hdl 2 / sock 7
(SI_ECONN_BROKEN/0; I4; ST; 127.0.0.1:8123) [nixxi.cpp 4214]
Впрочем вот кусок моего файла трассировки
Code:
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=5000)
SiSelPNext: sock 7 selected (pos=2; revt=r--)
NiBufISelProcess: hdl 2 process r-
NiBufIAlloc: malloc NIBUF-IN, to 1460 bytes
NiHsLGetHostName: found address 127.0.0.1 in cache
NiIGetHostName: addr 127.0.0.1 = hostname 'localhost'
*** ERROR => NiIRead: SiRecv failed for hdl 2 / sock 7
(SI_ECONN_BROKEN/0; I4; ST; 127.0.0.1:8123) [nixxi.cpp 4214]
NiBufISetError: save rc -6 in buffer (hdl 2)
NiBufISetStatus: hdl 2 changed from OK to ERR
NiBufIAlloc: malloc NIBUF, to 360 bytes
NiBufICopyTo: save data in NIBUF len=360
NiBufISelUpdate: new MODE -- (r-) for hdl 2 in set0
SiSelPSet: set events of sock 7 to: ---
NiBufISelUpdate: new STAT r-- (---) for hdl 2 in set0
NiSelIListInsert: add hdl 2 [2] to buf-list (0) of set0
NiSelISelectInt: 1 handles selected (1 buffered)
DATA from S1/2 (localhost) received
NiBufReceive starting
NiBufICheckError: setting err-info for hdl 2 (rc=-6)
NiRSendError: error on native client S1/2 (rc=-95)
NiRCloseConn: closing S1/2
NiBufISelRemove: remove hdl 2 from set0
NiSelIListRemove: remove hdl 2 [2] from buf-list (1) of set0
SiSelPRemove: removed last sock 7 (pos=2)
NiSelIRemove: removed hdl 2
NiICloseHandle: shutdown and close hdl 2 / sock 7
NiBufIClose: clear extension for hdl 2
NiBufISelRemove: remove hdl 1 from set0
SiSelPRemove: removed last sock 6 (pos=1)
NiSelIRemove: removed hdl 1
NiICloseHandle: shutdown and close hdl 1 / sock 6
NiBufIClose: clear extension for hdl 1
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=5000)
Thu Sep 15 14:43:41 2011
NiSelISelectInt: 0 handles selected (0 buffered)
RTPENDLIST::timeoutPend: remove ID 1 from list CONNECTED
RTPENDLIST::timeoutPend(): total 0 connections pending
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=-1)
Thu Sep 15 14:43:45 2011
SiSelPNext: sock 4 selected (pos=0; revt=r--)
NiSelIListInsert: add hdl 0 [0] to sel-list (0) of set0
NiSelISelectInt: 1 handles selected (0 buffered)
CONNECT request received (hdl 0)
NiIAccept: hdl 0 accepted connection
NiICreateHandle: hdl 1 state NI_INITIAL
NiIInitSocket: set default settings for hdl 1 / sock 6 (I4; ST)
NiIBlockMode: set blockmode for hdl 1 FALSE
NiIAccept: state of hdl 1 NI_ACCEPTED
NiHsLGetHostName: found address 127.0.0.1 in cache
NiIGetHostName: addr 127.0.0.1 = hostname 'localhost'
NiIAccept: hdl 0 accepted hdl 1 from localhost:51345
NiIAccept: hdl 1 took local address 127.0.0.1:3299
NiBufIHdlInit: init for hdl 1
NiHsLGetHostName: found address 127.0.0.1 in cache
NiIGetHostName: addr 127.0.0.1 = hostname 'localhost'
NiBufISetHdlParam: set max queue for hdl 1 to 1
NiBufISetHdlParam: set max message length for hdl 1 to 10024
NiISetSockOpt: set option SOL_SOCKET-SO_KEEPALIVE of hdl 1 TRUE
NiBufISelSet: add hdl 1 to set0
NiBufISelUpdate: new MODE r- (--) for hdl 1 in set0
SiSelPSet: sock 6 added to set pos 1
NiSelIAddMsg: added hdl 1 to set0
SiSelPSet: set events of sock 6 to: rp-
NiRConnHandle: C1/-1 has hdl 1
RTPENDLIST::addPendingCon: Added C1/-1 to list CONNECTED, STAT CONNECTED/-
RTPENDLIST::addPendingCon: total 1 pending CONNECTED connections
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=5000)
SiSelPNext: sock 6 selected (pos=1; revt=r--)
NiBufISelProcess: hdl 1 process r-
NiIRead: hdl 1 received incomplete hdr (rcd=2,pnd=2,pac=1)
NiIRead: hdl 1 recv would block (errno=EAGAIN)
NiIRead: hdl 1 received incomplete hdr (rcd=2,pnd=2)
SiSelPSelect: start select (timeout=5000)
SiSelPNext: sock 6 selected (pos=1; revt=r--)
NiBufISelProcess: hdl 1 process r-
NiIRead: hdl 1 received fragmented hdr (rcd=2,pac=1,len=1982929955)
*** ERROR => NiBufIIn: message length 1982929955 exceeds max (10024;hdl 1;peer=127.0.0.1:51345) [nibuf.cp
p 3074]
NiBufISetError: save rc -20 in buffer (hdl 1)
NiBufISetStatus: hdl 1 changed from OK to ERR
NiBufIAlloc: malloc NIBUF, to 404 bytes
NiBufICopyTo: save data in NIBUF len=404
NiBufISelUpdate: new MODE -- (r-) for hdl 1 in set0
SiSelPSet: set events of sock 6 to: ---
NiBufISelUpdate: new STAT r-- (---) for hdl 1 in set0
NiSelIListInsert: add hdl 1 [1] to buf-list (0) of set0
NiSelISelectInt: 1 handles selected (1 buffered)
DATA from C1/-1 (localhost) received
NiBufReceive starting
NiBufICheckError: setting err-info for hdl 1 (rc=-20)
*** ERROR => NiBufReceive C1/-1 'localhost' failed (rc=-20) [nirout.cpp 2108]
NiBufISendErr: send ni-error rc -93 to hdl 1
NiIWrite: hdl 1 sent data (wrt=226,pac=1,MESG_IO)
NiRCloseConn: closing C1/-1
NiBufISelRemove: remove hdl 1 from set0
NiSelIListRemove: remove hdl 1 [1] from buf-list (1) of set0
SiSelPRemove: removed last sock 6 (pos=1)
NiSelIRemove: removed hdl 1
NiICloseHandle: shutdown and close hdl 1 / sock 6
NiBufIClose: clear extension for hdl 1
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=5000)
Thu Sep 15 14:43:50 2011
NiSelISelectInt: 0 handles selected (0 buffered)
RTPENDLIST::timeoutPend: remove ID 2 from list CONNECTED
RTPENDLIST::timeoutPend(): total 0 connections pending
******* NI-ROUTER LOOP ********
SiSelPSelect: start select (timeout=-1)
А в logfile ничего интересного:
Code:
Thu Sep 15 14:42:53 2011 INIT LOGFILE
Thu Sep 15 14:42:53 2011 READ ROUTTAB ./saprouttab o.k.
Thu Sep 15 14:43:36 2011 CONNECT FROM C1/- host 127.0.0.1/51340 (localhost)
Thu Sep 15 14:43:36 2011 CONNECT TO S1/2 host 127.0.0.1/8123 (localhost), *** NATIVE ROUTING ***
Thu Sep 15 14:43:36 2011 DISCONNECT S1/2 host 127.0.0.1/8123 (localhost), *** NATIVE ROUTING ***
Thu Sep 15 14:43:45 2011 CONNECT FROM C1/- host 127.0.0.1/51345 (localhost)
Thu Sep 15 14:43:45 2011 DISCONNECT C1/- host 127.0.0.1/51345 (localhost)