Print

Print


Hi,

  the behavior of m->ReadRaw is supposed, in case of error, to build a 
message with the error information inside, to be passed to the higher 
level for proper processing.
  So, the only error expected from ReadRaw should be the impossibility 
to create a Message object to be enqueued, which seems not the case.

  May i have the piece of logfile explaining the error that the lower 
levels encountered? This would help me in finding the problem.

Fabrizio

Peter Elmer wrote:
>   Hi Fabrizio,
> 
>   It looks like this was never dealt with. Is there a useful way to check
> the return code and recover?
> 
>                                    Pete
> 
> On Wed, Dec 15, 2004 at 03:10:35PM -0500, Gregory J. Sharp wrote:
> 
>>The latest version of xrootd (20041214) is causing us some headaches. 
>>We are getting repeated disconnections twixt client and server. This 
>>may be our fault, but I don't think so. Anyway, in the process it 
>>revealed a serious problem that is not our fault.
>>
>>In XrdClientPhyConnection.cc the  method BuildMessage has the call (at 
>>approx. line 402)
>>
>>	m->ReadRaw(this);
>>
>>ReadRaw returns an error code (throwing an exception might have been 
>>better) if there was a socket error of some sort. This error is not 
>>checked for and so it loops in(de)finitely, printing  error messages in 
>>the logs, but not actually dying or trying to reconnect, or anything 
>>user friendly.
>>
>>I will get back to you about the problem of the disconnects if I figure 
>>out why they are happening.
>>
>>(Does anybody read Henry Spencer's "The 10 Commandments of C 
>>Programming" anymore? Yea! Verily!!)
>>
> 
> 
> 
> 
> -------------------------------------------------------------------------
> Peter Elmer     E-mail: [log in to unmask]      Phone: +41 (22) 767-4644
> Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
> -------------------------------------------------------------------------