Running an incremental vacuum can result in free-list corruption in an obscure case. The case is hit if the incremental vacuum code attempts to extract the second of two empty free-list trunk pages (trunk pages with no references to free-list leaves), and the page extracted is not the last trunk page in the free-list.

Running integrity-check after this occurs produces output similar to:

*** in database main ***
Main freelist: invalid page number 258
Page 6 is never used
Page 7 is never used
Page 8 is never used
Page 9 is never used
Page 10 is never used
Page 11 is never used
Page 12 is never used
Page 13 is never used
...