Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fatal error when rolling back transaction with NoFreelistSync #183

Closed
mappu opened this issue Oct 14, 2019 · 2 comments
Closed

fatal error when rolling back transaction with NoFreelistSync #183

mappu opened this issue Oct 14, 2019 · 2 comments
Labels

Comments

@mappu
Copy link

mappu commented Oct 14, 2019

Hi!

I have a user who repeatedly gets this kind of crash:

unexpected fault address 0x7bf31040
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0x7bf31040 pc=0x95e4b3]

goroutine 87 [running]:
runtime.throw(0xb6ac3a, 0x5)
	C:/Go/src/runtime/panic.go:616 +0x6b fp=0x11c69a98 sp=0x11c69a8c pc=0x42928b
runtime.sigpanic()
	C:/Go/src/runtime/signal_windows.go:170 +0x11d fp=0x11c69aac sp=0x11c69a98 pc=0x43ac3d
backupapp/vendor/go.etcd.io/bbolt.(*DB).meta(0x13783900, 0x1410a060)
	vendor/go.etcd.io/bbolt/db.go:901 +0x23 fp=0x11c69ac4 sp=0x11c69aac pc=0x95e4b3
backupapp/vendor/go.etcd.io/bbolt.(*DB).hasSyncedFreelist(0x13783900, 0xc96)
	vendor/go.etcd.io/bbolt/db.go:323 +0x21 fp=0x11c69ad0 sp=0x11c69ac4 pc=0x95c441
backupapp/vendor/go.etcd.io/bbolt.(*Tx).rollback(0x13cdd700)
	vendor/go.etcd.io/bbolt/tx.go:279 +0x69 fp=0x11c69ae8 sp=0x11c69ad0 pc=0x9676e9
backupapp/vendor/go.etcd.io/bbolt.(*Tx).Commit(0x13cdd700, 0x0, 0x0)
	vendor/go.etcd.io/bbolt/tx.go:161 +0x490 fp=0x11c69b7c sp=0x11c69ae8 pc=0x967270
backupapp/vendor/go.etcd.io/bbolt.(*DB).Update(0x13783900, 0x11c69bb0, 0x0, 0x0)
	vendor/go.etcd.io/bbolt/db.go:701 +0xc5 fp=0x11c69ba0 sp=0x11c69b7c pc=0x95dab5

Database is created fresh, in-memory, for this process only, using these bolt.Options:

  • Timeout: 3 * time.Second
  • NoFreelistSync: true
  • FreelistType: bolt.FreelistMapType

Using bbolt v1.3.3, Go 1.10, Windows i386 (for Server 2008 RTM)

At this commit, db.go:901 is looking at db.meta1.txid / db.meta0.txid to order metaA / metaB properly.

It seems like a similar kind of problem to #152 but that particular one should be fixed in v1.3.3 already.

@xiang90
Copy link
Contributor

xiang90 commented Oct 14, 2019

can you provide a script to reproduce this issue?

@ahrtr
Copy link
Member

ahrtr commented Jan 29, 2023

Fixed in #362.

FYI. The fix will be included in v1.3.7.

@ahrtr ahrtr closed this as completed Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants