Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with establishing connect using client 3.0.2.32708 to server 4.0.0.572 [CORE5508] #5777

Closed
firebird-automations opened this issue Mar 24, 2017 · 5 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @pavel-zotov

Steps:

0) create empty database using WI-T4.0.0.572 (using port = 3400)

1) attempt to use client 3.0.2.32643 (06-dec-2016) ==> SUCCESSFUL:

C:\\MIX\\firebird\\QA\\fbt\-repo\>C:\\MIX\\firebird\\fb30Cs\\isql   localhost/3400:C:\\MIX\\firebird\\QA\\fbt\-repo\\tmp\\e40\.fdb  \-z
ISQL Version: WI\-V3\.0\.2\.32643 Firebird 3\.0
Server version:
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable/tcp \(csprog\)/P14
WI\-V3\.0\.2\.32643 Firebird 3\.0/tcp \(csprog\)/P14
Database: localhost/3400:C:\\MIX\\firebird\\QA\\fbt\-repo\\tmp\\e40\.fdb, User: SYSDBA
SQL\> set list on; select \* from mon$attachments where mon$attachment\_id=current\_connection;

MON$ATTACHMENT\_ID               18
MON$SERVER\_PID                  2556
MON$STATE                       1
MON$ATTACHMENT\_NAME             C:\\MIX\\FIREBIRD\\QA\\FBT\-REPO\\TMP\\E40\.FDB
MON$USER                        SYSDBA
MON$ROLE                        NONE
MON$REMOTE\_PROTOCOL             TCPv4
MON$REMOTE\_ADDRESS              127\.0\.0\.1/1310
MON$REMOTE\_PID                  2792
MON$CHARACTER\_SET\_ID            0
MON$TIMESTAMP                   2017\-03\-24 09:15:19\.2810
MON$GARBAGE\_COLLECTION          1
MON$REMOTE\_PROCESS              C:\\MIX\\firebird\\fb30Cs\\isql\.exe
MON$STAT\_ID                     14
MON$CLIENT\_VERSION              WI\-V3\.0\.2\.32643 Firebird 3\.0
MON$REMOTE\_VERSION              P14
MON$REMOTE\_HOST                 csprog
MON$REMOTE\_OS\_USER              zotov
MON$AUTH\_METHOD                 Legacy\_Auth
MON$SYSTEM\_FLAG                 0
MON$IDLE\_TIMEOUT                0
MON$IDLE\_TIMER                  <null\>
MON$STATEMENT\_TIMEOUT           0

===

2a) attempt to use client 3.0.2.32708 (its folder: "C:\MIX\firebird\fb30\")

C:\\MIX\\firebird\\QA\\fbt\-repo\>C:\\MIX\\firebird\\fb30\\isql   localhost/3400:C:\\MIX\\firebird\\QA\\fbt\-repo\\tmp\\e40\.fdb  \-z

ISQL Version: WI\-V3\.0\.2\.32708 Firebird 3\.0
Server version:
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable/tcp \(csprog\)/P15
WI\-V3\.0\.2\.32708 Firebird 3\.0/tcp \(csprog\)/P15

--- hangs here infinitely ---

2b) the same but using PIPE mechanism to pass SQL commands iinside ISQL:

C:\\MIX\\firebird\\QA\\fbt\-repo\> echo set list on; select \* from mon$attachments where mon$attachment\_id=current\_connection; \| C:\\MIX\\firebird\\fb30\\isql localhost/3400:C:\\MIX\\firebird\\QA\\fbt\-repo\\tmp\\e40\.fdb \-z

ISQL Version: WI\-V3\.0\.2\.32708 Firebird 3\.0
Server version:
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable
WI\-T4\.0\.0\.572 Firebird 4\.0 Unstable/tcp \(csprog\)/P15
WI\-V3\.0\.2\.32708 Firebird 3\.0/tcp \(csprog\)/P15
Statement failed, SQLSTATE = 08006
Error reading data from the connection\.
Statement failed, SQLSTATE = 08006
Error writing data to the connection\.
Statement failed, SQLSTATE = 08006
Error writing data to the connection\.

===

firebird.log in the folder "C:\MIX\firebird\fb30\" (i.e. folder of CLIENT, no server) will contain:

CSPROG Fri Mar 24 09:29:42 2017
REMOTE INTERFACE/gds__detach: Unsuccesful detach from database.
Uncommitted work may have been lost.
Error writing data to the connection.

PS.
Server is OK, no restarts. Command:

wmic process where "name='firebird.exe'" get ProcessId,ExecutablePath | findstr /i C:\MIX\firebird\fb40\

-- returns always the same PID of working FB40 instance ("C:\MIX\firebird\fb40\" = folder of server 4.0.0.572 which listens port 3400).

Commits: edcac34 9f7e241

====== Test Details ======

Unfortunatley, one can not to use client library from different FB versions in fbtest framework...

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

The problem is related with remote protocol versions.

Initially, protocol 15 was introduced in v4 as part of CORE5472.
Later into v4 was committed feature CORE5488 (session\statement timeout) which also requires support by protocol.
This time there was no need to increment protocol version.

The problem appears when CORE5472 was backported into v3 as it introduced protocol 15 at v3.
But CORE5488 was not backported into v3 (and it shouldn't).

Therefore we got two not compatible implementations of protocol 15 in v3 and v4.
Fortunately, it is easy to fix in v4, moving CORE5488 support into new protocol 16.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Cannot be tested

Test Details: Unfortunatley, one can not to use client library from different FB versions in fbtest framework...

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants