If no bitmap file with LSN <= range start LSN, first_file_start_lsn will be LSN_MAX, and files[0].start_lsn will be the lowest LSN of the actual files found (1633805 in 5.6 example). Given that the missing data is diagnosed later, and log_online_setup_bitmap_file_range() is not the correct place to report missing data errors (xb_page_bitmap_init() is), the fix is to remove this assert as overzealous.
This bug is shared with PS I_S query code, where a corresponding testcase needs to be written and the fix ported too.
The release builds diagnose the missing LSN data at the interval start at xb_page_ bitmap_ init(), after setup_bitmap_ file_range( ) completes:
log_online_
xtrabackup: warning: changed page data missing for LSNs between 9000 and 1633805
xtrabackup: using the full scan for incremental backup
But the debug build will attempt to assert that such situation is impossible:
ut_ad(bitmap_ files-> files[0] .start_ lsn == first_file_ start_lsn) ;
If no bitmap file with LSN <= range start LSN, first_file_ start_lsn will be LSN_MAX, and files[0].start_lsn will be the lowest LSN of the actual files found (1633805 in 5.6 example). Given that the missing data is diagnosed later, and log_online_ setup_bitmap_ file_range( ) is not the correct place to report missing data errors (xb_page_ bitmap_ init() is), the fix is to remove this assert as overzealous.
This bug is shared with PS I_S query code, where a corresponding testcase needs to be written and the fix ported too.