You are right. The complete start of the output is: ``` Pagesize: 512 Available pages: 1..184320 ERROR: page 5 used multiple times: ERROR: previous: overflow 1 from cell 1 of page 14 ERROR: current: root corrupt node [t9fef1aed_2Dfc51_2D4f99_2D925f_2D675dd2a8c7bf], 99 rows ERROR: page 7 used multiple times: ERROR: previous: overflow 1 from cell 2 of page 14 ERROR: current: root corrupt node [t418cb1c8_2D5bd5_2D4f9c_2Da063_2D2a3bcdd8deb3], 50 rows ERROR: page 9 used multiple times: ERROR: previous: overflow 1 from cell 3 of page 14 ERROR: current: root corrupt node [t9a59e751_2D18eb_2D41e3_2Da2ca_2D55cf3c6fa1b8], 48 rows ERROR: page 79 used multiple times: ERROR: previous: leaf of table [d1dfc7c0_2Dac38_2D4899_2Db1b0_2Dd0780554c9b7], child 0 of page 3142, 6 rows ERROR: current: root leaf of table [t063dd2e7_2D97fa_2D4eb1_2D92bb_2D44d4230b4227], 6 rows ERROR: page 62 used multiple times: ERROR: previous: root leaf of table [t7c30a8b1_2D7b74_2D442e_2Dadc9_2Dd037ae25d1e4], 6 rows ERROR: current: leaf of table [aad9a5bc_2D8e1e_2D4ec7_2Dbaf5_2D839e35e75613], child 0 of page 1004, 6 rows ERROR: page 122 used multiple times: ERROR: previous: leaf of table [d1dfc7c0_2Dac38_2D4899_2Db1b0_2Dd0780554c9b7], child 1 of page 3142, 9 rows ERROR: current: root leaf of table [d6aeb767_2D5334_2D4c8a_2D96f3_2D028dddd3ca85], 9 rows ERROR: page 128 used multiple times: ERROR: previous: leaf of table [sqlite_schema], child 1 of page 146247, 9 rows ERROR: current: root leaf of table [t244f7970_2Dfcdc_2D4926_2D9e33_2D5538eff75ec0], 9 rows ERROR: page 641 used multiple times: ERROR: previous: overflow 1 from cell 0 of page 128 ERROR: current: overflow 1 from cell 0 of page 128 ERROR: page 604 used multiple times: ERROR: previous: overflow 1 from cell 1 of page 128 ERROR: current: overflow 1 from cell 1 of page 128 ERROR: page 667 used multiple times: ERROR: previous: overflow 1 from cell 2 of page 128 ERROR: current: overflow 1 from cell 2 of page 128 ``` and then it fails a few lines later with: ``` 58: root leaf of table [adf68a99_2D066f_2D4611_2D928b_2D2ad729a26ee3], 7 rows 59: leaf of table [], child 0 of page -1, 10 rows 60: root leaf of table [cd54870a_2Dd584_2D49bd_2Da1b3_2D421d4003a71f], 9 rows 61: leaf of table [], child 0 of page -1, 6 rows 62: leaf of table [aad9a5bc_2D8e1e_2D4ec7_2Dbaf5_2D839e35e75613], child 0 of page 1004, 6 rows 63: leaf of table [], child 0 of page -1, 6 rows 64: leaf of table [aad9a5bc_2D8e1e_2D4ec7_2Dbaf5_2D839e35e75613], child 1 of page 1004, 9 rows 65: root leaf of table [t1352f6ef_2Df84e_2D4f52_2D9da7_2D076d1e471481], 11 rows 66: leaf of table [], child 0 of page -1, 8 rows 67: root leaf of table [ef0769bf_2Db2e3_2D43be_2D830d_2Da41ba7a4aa7c], 14 rows 68: leaf of table [], child 0 of page -1, 11 rows 69: root leaf of table [t32322c96_2D58ba_2D46f8_2Dab16_2D6575d90679a8], 11 rows 70: leaf of table [], child 0 of page -1, 9 rows 71: root leaf of table [t830d0904_2D2e2b_2D4782_2Dab02_2D2696e1354f16], 11 rows ERROR: page 58 used multiple times: ERROR: previous: root leaf of table [adf68a99_2D066f_2D4611_2D928b_2D2ad729a26ee3], 7 rows ERROR: current: leaf of table [], child 0 of page 2432, 7 rows double free or corruption (!prev) ``` And the temporary patch I used to get the program run without any "double free" is: ``` Index: tool/showdb.c ================================================================== --- tool/showdb.c +++ tool/showdb.c @@ -792,11 +792,10 @@ } if( zPageUse[pgno]!=0 ){ printf("ERROR: page %d used multiple times:\n", pgno); printf("ERROR: previous: %s\n", zPageUse[pgno]); printf("ERROR: current: %s\n", zMsg); - sqlite3_free(zPageUse[pgno]); } zPageUse[pgno] = zMsg; } ```