-
-
Notifications
You must be signed in to change notification settings - Fork 263
Description
This issue is somewhat similar to long time fixed #6700 (caused by wire compression; only the affected connection is dropped, the server doesn’t crash), but it only occurs under the following specific conditions (all must be met):
-
A new client (FB 5.0 or FB 4.0 line) connects to FB 3.0 server. (I can’t reproduce it when connecting a 3.0 client to a 3.0 server or a 5.0 client to a 5.0 server.).
-
Several active connections to different databases. (I can’t reproduce it with only one active client application.)
-
It probably occurs only when some databases are being dropped or created. (I can’t reproduce it during normal use of already existing databases.)
-
Wire compression must be activated via the database DPB parameter (
config='WireCompression=true'inDatabase.Params). I cannot reproduce it when wire compression was already enabled in the client-sidefirebird.conffile. (So, if there is a client-sidefirebird.conf, itsWireCompressionsetting must be eitherfalseor commented out in order to reproduce the error. If it is set totrue, the DPB parameter doesn’t change anything and the bug does not appear.)
Since it is difficult or impossible to achieve all these conditions in ISQL, I have prepared a specific Windows test case application (Delphi sources attached). All it does is repeatedly create and drop specified databases. Wire compression is actually activated just for a moment before the database is dropped, but that is sufficient to trigger the bug. Tested with 5.0.3.1683 32-bit fbclient.dll and 3.0.13.33818 64-bit server,
To reproduce the error:
- Unzip the attached files TestApp.zip.
- Run several instances (2 as a minimum, 3-4 recommended) of
TestApp.exe. - Fill in distinct database names (e.g.,
Test1.fdbin the first application instance,Test2.fdbin the second, etc.). Make sure the folder selected for databases (default:C:\Tmp) exists. Connections must use TCP/IP. - Click Run in all applications so that they execute in parallel.
- The errors "Error reading data from the connection" should appear shortly.