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

Online validation during DML activity in other connection leads to message "Error while trying to read from file" and "page in use during flush (210), file: cch.cpp line: 2672" [CORE4855] #5151

Closed
firebird-automations opened this issue Jul 2, 2015 · 5 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @pavel-zotov

Attachments:
firebird.log.zip

On empty database with default settings (FW = ON, page_size = 4K) do:

Window-1:

isqi localhost/3333:e30
SQL> recreate table test(s varchar(1000) unique using index test_s_unq); commit;
SQL> insert into test select rpad('',1000, uuid_to_char(gen_uuid())) from rdb$types,rdb$types;
-- here this connection will do lot of work, so we can switch to another window --

Window-2:

fbsvcmgr.exe localhost/3333:service_mgr user SYSDBA password masterkey action_validate dbname e30

First execution of OV can finish with expected message:

09:29:30.75 Validation started

09:29:30.93 Relation 128 (TEST)
09:29:40.93 Acquire relation lock failed
09:29:40.93 Relation 128 (TEST) : 1 ERRORS found

09:29:44.32 Validation finished

Second call of OV lead to appearing in the Window-1 following:

Statement failed, SQLSTATE = 08001
I/O error during "ReadFile" operation for file "C:\FBTESTING\qa\fbt-repo\tmp\E30.fdb"
-Error while trying to read from file
-Invalid descriptor.

firebird.log will contain after this:

. . .
BALAHA Thu Jul 02 09:29:44 2015
Database: C:\FBTESTING\qa\fbt-repo\tmp\E30.fdb
lock time-out on wait transaction
internal Firebird consistency check (page in use during flush (210), file: cch.cpp line: 2672)

BALAHA Thu Jul 02 09:29:44 2015
Database: e30
Validation aborted
lock time-out on wait transaction
internal Firebird consistency check (page in use during flush (210), file: cch.cpp line: 2672)

BALAHA Thu Jul 02 09:29:44 2015
I/O error during "ReadFile" operation for file "C:\FBTESTING\qa\fbt-repo\tmp\E30.fdb"
Error while trying to read from file
Invalid descriptor.

BALAHA Thu Jul 02 09:29:44 2015
Database: C:\FBTESTING\qa\fbt-repo\tmp\E30.fdb
I/O error during "ReadFile" operation for file "C:\FBTESTING\qa\fbt-repo\tmp\E30.fdb"
Error while trying to read from file
Invalid descriptor.

Issuing 'QUIT' statement in the Window-1 leads to load CPU up to ~80%, w/o ability to interrupt ISQL or to stop FB service (it needs to be forcely killed using PE or similar tool).

Running OV 3rd time (after restart FB) will show lot of warninggs in firebird.log, like these:

Warning: Pointer page 211 {sequence 0} bits {0x00 } are not consistent with data page N {sequence M} state {0x01 full} in table TEST (128)
Warning: Index 1 has inconsistent left sibling pointer, page N level M at offset K in table TEST (128)
Warning: Index 1 misses node on page M level N at offset K in table TEST (128)

(see attached file).

Commits: 0333c9c FirebirdSQL/fbt-repository@5c3b31e

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

Attachment: firebird.log.zip [ 12770 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 3.0 RC 1 [ 10584 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: No test => Done successfully

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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