You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2005/11/03 04:45:23 UTC

[Db-derby Wiki] Update of "ProtocolDebuggingTips" by Army

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by Army:
http://wiki.apache.org/db-derby/ProtocolDebuggingTips

------------------------------------------------------------------------------
  === SYNTAXRM - Data Stream Sytax error ===
  Typically protocol errors are manifested by a SYNTAXRM command response being sent by server or client. The error will show the code point of the object causing the error.  The stack trace will usually display the context of the protocol flow and whether the failure was because a code point was missing, an invalid codepoint was sent etc.  So, for example in the stack trace for DERBY-614 we see that the server was parsing a CNTQRY and found that it was missing a required codepoint, x2114.  A first pass might be to look at the CNTQRY command in the DDM Manual to see what is required and appendix B to see what 2114 is.  One thing to consider is that often if there is an error in exchanging protocol where things get off by a byte or two the code point value specified with SYNTAXRM may have no meaning and may just be the next 2 out of order bytes in the stream.
  
+ === Client-side DisconnectException ===
+ In cases where the client receives data from the server that it (the client) either doesn't expect or else doesn't recognize, the result is usually a client-side Disconnect``Exception with a sometimes cryptic protocol error, such as "actual code point, -2 does not match expected code point, 8709", or perhaps even a more vague error saying "A communication error has been detected."
+ 
+ When debugging these kinds of server protocol failures, it is often a good idea to start by checking to see if the server sent any malformed or invalid data structures to the client.  For a description of two of the more common ways in which a data structure can be malformed (and thus can break protocol), see DssProtocolErrors.
+ 
  == Protocol Tracing ==
  
  There are three tracing options that can be set to assist with debugging protocol errors.