firebird icon indicating copy to clipboard operation
firebird copied to clipboard

Fix possible BUGCHECK "cannot find tip page" during validation with -full or -mend option

Open ilya071294 opened this issue 2 years ago • 6 comments

If a primary record version has a transaction number which is greater than NT and seems corrupted, its state will be treated as tra_active to avoid an attempt to fetch a non-existing TIP page.

ilya071294 avatar Nov 20 '23 12:11 ilya071294

if it is Next on disk is wrong (less than actual value)

The actual value - do you mean it as the number of the last non-active transaction on the TIP?

ilya071294 avatar Nov 22 '23 14:11 ilya071294

if it is Next on disk is wrong (less than actual value)

The actual value - do you mean it as the number of the last non-active transaction on the TIP?

Yes, exactly.

hvlad avatar Nov 23 '23 13:11 hvlad

Yes, exactly.

If such corruption is detected, is it possible to fix it safely? Which page can we trust more - the header or the TIP?

ilya071294 avatar Nov 28 '23 12:11 ilya071294

If such corruption is detected, is it possible to fix it safely? Which page can we trust more - the header or the TIP?

If Next points to the last TIP page and if TIP chain is valid, then both header and last TIP could be trusted in the same degree, IMHO.

hvlad avatar Nov 30 '23 11:11 hvlad

Do we expect any more commits inside this PR? Or can it be merged now?

dyemanov avatar Jan 29 '24 15:01 dyemanov

Conflicts are solved. Please review.

ilya071294 avatar May 15 '24 11:05 ilya071294