You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bug show itself in DEBUG build - assertion failed at cch.cpp\write_page() near line 5022 :
// write out page to main database file, and to any
// shadows, making a special case of the header page
BackupManager\* bm = dbb\-\>dbb\_backup\_manager;
const int backup\_state = bm\-\>getState\(\);
if \(bdb\-\>bdb\_page\.getPageNum\(\) \>= 0\)
\{
fb\_assert\(backup\_state \!= nbak\_state\_unknown\); <\-\-\-\-\-\-\- HERE
page\-\>pag\_pageno = bdb\-\>bdb\_page\.getPageNum\(\);
When exception happens in BackupManager::endBackup() method than destructor
BackupManager::StateWriteGuard::~StateWriteGuard() released the state lock *before*
backup state is set into nbak_state_unknown. In this small time window it is possible
that another thread fetched and modified some page.
summary: Write target for dirty page could be undefined if error happens when nbackup state is changed => Write target of dirty page could be undefined if error happens when nbackup state is changed
Submitted by: @hvlad
The bug show itself in DEBUG build - assertion failed at cch.cpp\write_page() near line 5022 :
When exception happens in BackupManager::endBackup() method than destructor
BackupManager::StateWriteGuard::~StateWriteGuard() released the state lock *before*
backup state is set into nbak_state_unknown. In this small time window it is possible
that another thread fetched and modified some page.
Commits: 44fad53 d00d66a
The text was updated successfully, but these errors were encountered: