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

Bugcheck 165 (cannot find tip page) [CORE5935] #2224

Closed
firebird-automations opened this issue Oct 4, 2018 · 10 comments
Closed

Bugcheck 165 (cannot find tip page) [CORE5935] #2224

firebird-automations opened this issue Oct 4, 2018 · 10 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

Attachments:
stack.txt

Commits: 2c8f7a9 d4d5a96

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

Bug can be reproduced only when FIRST of ISQL sessions is lacunhed with '-n' switch.
Second ISQL must be started *WITHOUT* this switch!

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Required part of stack trace with bugcheck

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Attachment: stack.txt [ 13307 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

To reproduce, run Firebird v3 in Classic or SuperClassic mode and open two terminals.

1) in terminal 1
isql
create database 'inet://core-5935.fdb' page_size 8192;
create table a (id int);
create index idx_a on a(id);

set term ^;

create procedure p_gen_tx(n int)
as
declare i int = 0;
begin
while (i < n) do
in autonomous transaction do
i = i + 1;
end
^

set term ;^
exit;

gfix -write async core-5935.fdb

2) in terminal 1:
isql inet://core-5935.fdb -n
delete from a;
commit;

select current_transaction, rdb$get_context('SYSTEM', 'ISOLATION_LEVEL') from rdb$database;

3) in terminal 2:
isql inet://core-5935.fdb -n
execute procedure p_gen_tx (33000);
commit;

insert into a values (current_transaction);
commit;
set statistics index idx_a;
commit;

select rdb$index_name, rdb$record_version from rdb$indices where rdb$relation_name = 'A';
select * from a where id > 0;
commit;

execute procedure p_gen_tx (33000);
commit;

4) in terminal 1:
commit;

5) in terminal 2:
select * from a where id > 0;

6) in terminal 1:
select * from a where id > 0;

here we get
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (cannot find tip page (165), file: tra.cpp line: 2348)

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 3.0.5 [ 10885 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Fix is backported to the v2.5.9

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Fix Version: 2.5.9 [ 10862 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: No test => Deferred

Test Details: Could not reproduce neither on 30.01.32609 (27-sep-2016) nor on 3.0.4.33053 (19-sep-2018).
Used two ISQL terminals, tried both on Windows XP (32 bit) and Win 8.1 (x64), FB worked in Classic mode.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: Deferred => Done successfully

Test Details: Could not reproduce neither on 30.01.32609 (27-sep-2016) nor on 3.0.4.33053 (19-sep-2018).
Used two ISQL terminals, tried both on Windows XP (32 bit) and Win 8.1 (x64), FB worked in Classic mode.

=>

Bug can be reproduced only when FIRST of ISQL sessions is lacunhed with '-n' switch.
Second ISQL must be started *WITHOUT* this switch!

Test Specifics: [Architecture (SS/CS) specific]

@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