br0xen / boltbrowser

A CLI Browser for BoltDB Files
GNU General Public License v3.0
631 stars 91 forks source link

Large bolt database cant delete bucket #32

Closed tomaswallentinus closed 5 years ago

tomaswallentinus commented 5 years ago

Hi.

I have a database with a bucket of 816 large pairs but when i try to delete it boltbrowser shuts down with the resulting error:

panic: page 3278 already freed

goroutine 1 [running]: github.com/boltdb/bolt.(freelist).free(0xc0000ea090, 0xb999, 0x7f5b16891000) /home/admin/bolt/src/github.com/boltdb/bolt/freelist.go:121 +0x2a6 github.com/boltdb/bolt.(Bucket).free.func1(0x7f5b16891000, 0x0, 0x2) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:684 +0x51 github.com/boltdb/bolt.(Bucket)._forEachPageNode(0xc00004c340, 0xcce, 0x2, 0xc00006d9e0) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:506 +0x87 github.com/boltdb/bolt.(Bucket)._forEachPageNode(0xc00004c340, 0x5f, 0x1, 0xc00006d9e0) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:513 +0xe6 github.com/boltdb/bolt.(Bucket)._forEachPageNode(0xc00004c340, 0x15b, 0x0, 0xc00006d9e0) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:513 +0xe6 github.com/boltdb/bolt.(Bucket).forEachPageNode(0xc00004c340, 0xc00006d9e0) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:499 +0x72 github.com/boltdb/bolt.(Bucket).free(0xc00004c340) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:682 +0x67 github.com/boltdb/bolt.(Bucket).DeleteBucket(0xc0000102b8, 0xc00006dbb0, 0x12, 0x20, 0x12, 0x20) /home/admin/bolt/src/github.com/boltdb/bolt/bucket.go:255 +0x27e github.com/boltdb/bolt.(Tx).DeleteBucket(...) /home/admin/bolt/src/github.com/boltdb/bolt/tx.go:121 main.deleteKey.func1(0xc0000102a0, 0x540a68, 0xc0000102a0) /home/admin/bolt/src/github.com/br0xen/boltbrowser/bolt_model.go:375 +0x444 github.com/boltdb/bolt.(DB).Update(0xc0000ec000, 0xc00006dc60, 0x0, 0x0) /home/admin/bolt/src/github.com/boltdb/bolt/db.go:598 +0x90 main.deleteKey(0xc005882050, 0x1, 0x1, 0x1, 0xc00587e2d0) /home/admin/bolt/src/github.com/br0xen/boltbrowser/bolt_model.go:370 +0xd5 main.(BrowserScreen).handleDeleteKeyEvent(0xc00585e000, 0x7900000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0) /home/admin/bolt/src/github.com/br0xen/boltbrowser/screen_browser.go:263 +0x1d2 main.(BrowserScreen).handleKeyEvent(0xc00585e000, 0x7900000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0) /home/admin/bolt/src/github.com/br0xen/boltbrowser/screen_browser.go:84 +0x119 main.mainLoop(0xc00013e080, 0x3000100080001, 0xc000030001) /home/admin/bolt/src/github.com/br0xen/boltbrowser/mainloop.go:25 +0x22d main.main() /home/admin/bolt/src/github.com/br0xen/boltbrowser/main.go:133 +0x30e

br0xen commented 5 years ago

Oh my, ok. Well, I guess I've never worked with a DB that was large enough to run into something like that. I'll try to find time to look into it, but it honestly looks like it's an issue with boltdb, since that's where the error is thrown...

tomaswallentinus commented 5 years ago

Okey :) I see the error is already reported to the boltdb-page. So you can ignore it :)

br0xen commented 5 years ago

Oh well, I'm not sure if it's actually a boltdb issue or a boltbrowser issue... They may just send you back to me. :) Sorry I've been extra busy with work lately so just haven't had a chance to dig into it.

On Thu, Aug 1, 2019 at 5:53 PM tomaswallentinus notifications@github.com wrote:

Okey :) I can file it on the boltdb-page instead. Thank you.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/br0xen/boltbrowser/issues/32?email_source=notifications&email_token=AAJW3QFPVYGWNGIR7C6BZVLQCNSQLA5CNFSM4IHJBJ7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3MDL7Y#issuecomment-517486079, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJW3QDPZMDVJNSRL4N5PY3QCNSQLANCNFSM4IHJBJ7A .