V4MD: ERR_CONNECTION_BROKEN_RECEIVED_PACKET

Martin S. blackfin at elfenherz.de
Thu Nov 16 10:35:38 CST 2006


Ok, here is an error report regarding this and some other issues I've 
been detected:


1) ERR_CONNECTION_BROKEN_RECEIVED_PACKET:
#################################################

VServer: 2.4.3, running on localhost 2,5GHz  Windows XP machine=> Port 
15434, 5 Threads, Timeout 20, 50MB Cache
Clients: Director Application with V4MD 2.4.3 (Mac OSX Tiger & Windows 
XP SP2)

Database:
    Table "Herbs" => Field "Nums" (nullable, unsigned short with length 
3),  Field "Herb" (Indexed, Varchar 1400, also tried type Text, same result)
   
Code:

--------------
  V2 = new (xtra "Valentina")
  V2.InitClient()
  Vcon = new(xtra "VConnection", "localhost", "sa", "sa", 15434, 20)
  Vcon.open() 
  myDB = new(Xtra "VDatabase", #kClient, VCon)
  myDB.open("herbdb")    
  myDB.setCollationAttribute(#kStrength,#kPrimary)

  mycursor = myDB.sqlselect("SELECT Herb,Nums FROM Herbs ORDER BY Herb", 
#kClientside, #kReadOnly, #kRandom)
  VErrorSymbol = string(V2.lastErrorSymbol)
  VErrorString = V2.lastErrorString
  VErrorNumber = V2.lasterror
 
   put VErrorSymbol && VErrorString && VErrorNumber
----------------

  VErrorSymbol  is ERR_CONNECTION_BROKEN_RECEIVED_PACKET



2) Xtra does not report any Valentina Error when connecting with wrong 
username:
##############################################################

Same configuration as above.

Registered users in Master DB:
user "sa" => password "sa"
user "martin" => password "xxx"


Code:
----------------------
  V2 = new (xtra "Valentina")
  V2.InitClient()
 -- Now, connect with wrong login or password:
 Vcon = new(xtra "VConnection", "localhost", "mauurtin", "xxdfsefs", 
15434, 20)
  Vcon.open()
  myDB = new(Xtra "VDatabase", #kClient, VCon)
  myDB.open("herbdb")   
 
  VErrorSymbol = string(V2.lastErrorSymbol)
  put Verrorsymbol && V2.lasterror
---------------------------

=> Verrorsymbol  is ERR_OK and V2.lasterror is zero.

--Xtra does not report anything, but when you query the database after 
that "wrong connection", the cursor returned has no properties.
Example:

mycursor = myDB.sqlselect("SELECT * from Herbs", #kClientside, 
#kReadOnly, #kRandom)
VErrorSymbol = string(V2.lastErrorSymbol)
put Verrorsymbol && V2.lasterror

=> Verrorsymbol  is ERR_OK and V2.lasterror is zero. (No error ocurred...)


(Tthere's still no error reported by the Xtra, everything seems to be 
fine, but it's not...)

put mycursor.recordcount

=> Script Error: property not found "recordcount"

There is NO error reported on clientside that it was the wrong login or 
password .
Vserver DOES report in console window when Verbose Level is 3 and log to 
console is active:
ERROR 0x82503: Invalid user name or password, but it's not useful when i 
cannot catch it on client.

It's often the case, that a registered user's Name is e.g. "Martin", but 
the client user typed "martin" (lowercase).
I know I can handle it by, for example, storing all usernames in 
lowercase / uppercase in database and reformat the users input, but it's 
only a workaround.
Your Xtra should report anything when you open a database with wrong 
username / password.

I hope you can help me,

Martin


Ruslan Zasukhin schrieb:
> On 11/15/06 8:33 PM, "Martin S." <blackfin at elfenherz.de> wrote:
>
> Hi Martin,
>
>   
>> Hi,
>>
>> I permanently  get this error from your Valentina Xtra, when querying
>> our VServer with a clientside cursor that results in a "large" record
>> count (more than 1000 records):
>>
>> ERR_CONNECTION_BROKEN_RECEIVED_PACKET
>>
>> Both Xtra and Server are the newest versions (2.4.3)
>> It even happens when Client and Server are on the same machine and
>> connections go through the loopback (localhost)
>>
>> What does this error exactly mean and what could be reasons / solutions
>> for it?
>>     
>
> Sounds like a bug in Compression of Packages ...
>
> Can you estimate SIZE of this 1000 records?
> I ask because we have test packages up to 1MB I think.
>
>
> ----
> Also note, its not good idea to get so big client side cursors.
> For BIG selections better play then via Server side cursors.
>
> Assume you get 700 records cursor and it works.
> How fast it come to you? Ask just for interest
>
>
>   



More information about the Valentina mailing list