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

Sweep can't move OIT value over 2^32, when Next already greater than 2^32 (4'294'967'296) [CORE5869] #6128

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

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

Votes: 1

First sweep run:

Sweep is started by SYSDBA
Database "S:\\TEMP\\TX\.30\.FDB" 
OIT 4294965022, OAT 4294985533, OST 4294985533, Next 4294985533


Sweep is finished
Database "S:\\TEMP\\TX\.30\.FDB" 
OIT 18238, OAT 4294985533, OST 4294985533, Next 4294985534

Run sweep again

Sweep is started by SYSDBA
Database "S:\\TEMP\\TX\.30\.FDB" 
OIT 4294965022, OAT 4294985534, OST 4294985534, Next 4294985534


Sweep is finished
Database "S:\\TEMP\\TX\.30\.FDB" 
OIT 18239, OAT 4294985534, OST 4294985534, Next 4294985535

Note:
- OIT is less than 2^32 (4'294'965'022 < 4'294'967'296), while Next is greater than 2^32 (4'294'985'534 > 4'294'967'296)
- OIT is the same at both "Sweep is started" message , i.e. it was not moved by sweep
- "Sweep is finished" message contains wrong OIT value (truncated to 32-bit number)

Commits: 9de2c13 b1a34f1

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

It is not big problem to open fdb file and write into its header needed big values for Tx counters.
The real difficulty is to create multiple pages with type = TIP, with filling them and also to add references to them in RDB$PAGES (one *need* to create such pages otherwise bugcheck "cannot find tip page (165)" will raise).
This task looks impracticable, at least for nowadays.

@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.4 [ 10863 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: No test => Cannot be tested

Test Details: It is not big problem to open fdb file and write into its header needed big values for Tx counters.
The real difficulty is to create multiple pages with type = TIP, with filling them and also to add references to them in RDB$PAGES (one *need* to create such pages otherwise bugcheck "cannot find tip page (165)" will raise).
This task looks impracticable, at least for nowadays.

@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