Issue Details (XML | Word | Printable)

Key: CORE-5935
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Bugcheck 165 (cannot find tip page)

Created: 04/Oct/18 08:25 PM   Updated: 09/Dec/18 11:36 AM
Component/s: Engine
Affects Version/s: 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4
Fix Version/s: 2.5.9, 3.0.5

File Attachments: 1. Text File stack.txt (4 kB)

Environment: Classic, SuperClassic

QA Status: 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.


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 04/Oct/18 08:26 PM
Required part of stack trace with bugcheck

Vlad Khorsun added a comment - 04/Oct/18 08:44 PM
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)

Vlad Khorsun added a comment - 08/Oct/18 11:01 AM
Fix is backported to the v2.5.9