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

panic: page 7 already freed #862

Open
wsnoble opened this issue Jan 25, 2017 · 17 comments
Open

panic: page 7 already freed #862

wsnoble opened this issue Jan 25, 2017 · 17 comments

Comments

@wsnoble
Copy link

wsnoble commented Jan 25, 2017

I tried pushing a large directory structure with this command:

drive push -quiet 2012-fdr-psm

It yielded the error

panic: page 7 already freed

goroutine 1076622 [running]:
panic(0x8a7240, 0xc4f7e5ba20)
/net/noble/vol1/home/noble/software/go/src/runtime/panic.go:500 +0x1a1
github.com/boltdb/bolt.(*freelist).free(0xc4f8e98b70, 0xba, 0x7ff145029000)
/net/noble/vol1/home/noble/work/src/github.com/boltdb/bolt/freelist.go:121 +0x2c0
...

I am running

bash-4.1$ drive version
drive version: 0.3.9.1
Commit Hash: <CURRENT_COMMIT>
Go Version: <GO_VERSION>
OS: <OS_INFO>
BuildTime:

My OS is CentOS Release 6.8 with linux kernel 2.6.32.

Full output log is attached.
drive.txt

@odeke-em
Copy link
Owner

Hello again @wsnoble, thank you for reporting this issue.

This does look similar to the boltdb issues that have been popping up.
Might your Go version by any chance be < go1.7?

@wsnoble
Copy link
Author

wsnoble commented Jan 27, 2017 via email

@erdoking
Copy link

erdoking commented Jan 31, 2017

same here.
This problem seem to start after "drive delete" operations ...
i used it into lxc-container (Proxmox) - Debian jessie (all updates).

drive push start working again after container restart and stop working after some delete operations ...

edit: crashed again after 10 minutes ... doesn't work for me!

drive version
drive version: 0.3.9.1
Commit Hash: <CURRENT_COMMIT>
Go Version: <GO_VERSION>
OS: <OS_INFO>
BuildTime: 
# aptitude show drive
Paket: drive                                    
Neu: ja
Zustand: Installiert
Automatisch installiert: nein
Version: 0.3.9.1-1
Priorität: extra
Bereich: net
Verwalter: John Jenkins <[email protected]>
Architektur: amd64
Unkomprimierte Größe: 15,3 M
Beschreibung: Google Drive tool written in Go language
 Command line tool for managing data on Google drive.

/usr/lib/go-1.7/src/runtime/panic.go:500
This directory doesn't exist!!

# drive push
...
Addition count 35 src: 60.06GB
Proceed with the changes? [Y/n]:y
 41943552 / 64490062991 [>------------------------------------------------------------------------------------------------------------------------------------------------------------------------]   0.07% 1h7m40spanic: page 8 already freed

goroutine 45 [running]:
panic(0x55f028335da0, 0xc4204907b0)
        /usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
github.com/boltdb/bolt.(*freelist).free(0xc420374c90, 0xdd3, 0x7f8a8f413000)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/freelist.go:121 +0x2c0
github.com/boltdb/bolt.(*node).spill(0xc420056a80, 0xc42045ba80, 0xc42045ba80)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/node.go:363 +0x1dc
github.com/boltdb/bolt.(*node).spill(0xc420056a10, 0xc420374db0, 0xc4201f7720)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/node.go:350 +0xb7
github.com/boltdb/bolt.(*Bucket).spill(0xc4201bccc0, 0xc420374c00, 0xc4201f7990)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/bucket.go:570 +0x43b
github.com/boltdb/bolt.(*Bucket).spill(0xc4202fe018, 0x55f034c20c36, 0x55f02885c540)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/bucket.go:537 +0x93b
github.com/boltdb/bolt.(*Tx).Commit(0xc4202fe000, 0x0, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/tx.go:163 +0x125
github.com/boltdb/bolt.(*DB).Update(0xc420498000, 0xc4201f7bf8, 0x0, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/boltdb/bolt/db.go:605 +0x10d
github.com/odeke-em/drive/config.(*Context).SerializeIndex(0xc420054ec0, 0xc42006ef00, 0x0, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/config/config.go:279 +0x1a8
github.com/odeke-em/drive/src.(*Commands).remoteMod(0xc420055040, 0xc420367380, 0x0, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/src/push.go:404 +0x4b3
github.com/odeke-em/drive/src.(*Commands).remoteAdd(0xc420055040, 0xc420367380, 0x0, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/src/push.go:414 +0x35
github.com/odeke-em/drive/src.(*Commands).(github.com/odeke-em/drive/src.remoteAdd)-fm(0xc420367380, 0x1, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:1085 +0x34
github.com/odeke-em/drive/src.(*changeJobSt).changeJober.func1(0xc4204e6ec0, 0x55f027ea8f85, 0x55f028331220, 0xc420566f00)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:120 +0xb1
github.com/odeke-em/drive/src.jobSt.Do(0x6, 0xc4203d9520, 0x55f02809011f, 0x55f028331220, 0xc420566f00, 0x0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:100 +0x27
github.com/odeke-em/drive/src.(*jobSt).Do(0xc4203d67e0, 0x0, 0x0, 0x0, 0x0)
        <autogenerated>:6 +0x5b
github.com/odeke-em/semalim.Run.func4.1(0xc4203c74b0, 0xc420566e40, 0xc4203c74c0, 0xc4203c74d0, 0x55f028843780, 0xc4203d67e0)
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/semalim/semalim.go:71 +0x56
created by github.com/odeke-em/semalim.Run.func4
        /build/drive-tyASL_/drive-0.3.9.1/src/github.com/odeke-em/semalim/semalim.go:76 +0x141

@ptman
Copy link

ptman commented Jan 31, 2017

same problem as well

drive version: 0.3.9.1
Commit Hash: 'a3f2f281cc3536bfc116a34eb8e00bdd75b416e7'
Go Version: go1.7.4
OS: linux/amd64
BuildTime: 2017-01-31 10:31:06.171148765 +0200 EET

@odeke-em
Copy link
Owner

Thanks y'all for the patience. I think it's high time that we ping the boltdb folks.

@odeke-em
Copy link
Owner

odeke-em commented Feb 3, 2017

Hey folks, please get and test out the latest boltdb as per boltdb/bolt#654
You can do so by running

$ go get -u -v github.com/odeke-em/drive/drive-gen && drive-gen

and let me know if the problem persists and I'll report back to the boltdb issue.

@ptman
Copy link

ptman commented Feb 3, 2017

Still suffering the same problem

@odeke-em
Copy link
Owner

odeke-em commented Feb 3, 2017

@ptman what is the git commit that you have in $GOPATH/src/github.com/boltdb/bolt?

@ptman
Copy link

ptman commented Feb 3, 2017

git describe --always
e9cf4fa

@odeke-em
Copy link
Owner

odeke-em commented Feb 3, 2017

Thank you @ptman for the confirmation, I've tagged you in the boltdb discussion.

@ptman
Copy link

ptman commented Feb 3, 2017

I have a somewhat large number of files. Or at least I don't usually wait around for drive to figure out which files it wants to sync.

@odeke-em
Copy link
Owner

odeke-em commented Feb 3, 2017

Can you isolate a single test directory e.g

$ mkdir -p test-drive-862
$ for ((i=0; i < 10; i++)) do date > test-drive-862/$i.txt;done
$ drive push --depth -1 test-drive-862

and then we can use that for testing

@odeke-em
Copy link
Owner

odeke-em commented Feb 3, 2017

And to repeat the tests, you can run delete on test-drive-862 e.g

$ # Test Run #3
$ drive delete test-drive-862

and then we can repeat the tests

@ptman
Copy link

ptman commented Feb 3, 2017

exporting seems to trigger it more reliably

@mkruisselbrink
Copy link

Getting many of these and similar ("panic: assertion failed: write: circular dependency occurred") errors myself too when trying to push even small folders...

@blaskovic
Copy link

I have exactly the same issue.. Can I somehow help you with fixing that? I can provide any information, just let me know, what you need.

@bixiou
Copy link

bixiou commented Oct 7, 2017

Any progress on this issue?
Here is my log:
`Modification count 18 src: 329.12KB dest: 329.00KB
Addition count 112 src: 126.57MB
Deletion count 288 dest: 1.41GB
Proceed with the changes? [Y/n]:
1514055190 / 1646963625 [========================================================================================>-------] 91.93% 3spanic: page 1952 already freed

goroutine 3301 [running]:
panic(0x556d7d8a0320, 0xc420392800)
/usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
github.com/boltdb/bolt.(*freelist).free(0xc4202bb4d0, 0x16de7, 0x7f232d79e000)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/freelist.go:121 +0x2c0
github.com/boltdb/bolt.(*node).spill(0xc420796af0, 0xc4204208a0, 0xc4204208a0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/node.go:363 +0x1dc
github.com/boltdb/bolt.(*node).spill(0xc420796a80, 0xc420420860, 0xc420420860)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/node.go:350 +0xb7
github.com/boltdb/bolt.(*node).spill(0xc420796a10, 0xc4202bb620, 0xc420569750)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/node.go:350 +0xb7
github.com/boltdb/bolt.(*Bucket).spill(0xc4205dfa00, 0xc4202bb500, 0xc4205699c0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/bucket.go:570 +0x43b
github.com/boltdb/bolt.(*Bucket).spill(0xc420312b78, 0x556d12754a60, 0x556d7ddc79e0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/bucket.go:537 +0x93b
github.com/boltdb/bolt.(*Tx).Commit(0xc420312b60, 0x0, 0x0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/tx.go:163 +0x125
github.com/boltdb/bolt.(*DB).Update(0xc420202780, 0xc420569c28, 0x0, 0x0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/boltdb/bolt/db.go:605 +0x10d
github.com/odeke-em/drive/config.(*Context).SerializeIndex(0xc420074e80, 0xc4207e76e0, 0x0, 0x0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/drive/config/config.go:279 +0x1a8
github.com/odeke-em/drive/src.(*Commands).remoteMod(0xc420074f40, 0xc420332880, 0x3a22657400000002, 0x556d7ddc88c0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/drive/src/push.go:404 +0x4b3
github.com/odeke-em/drive/src.(*Commands).(github.com/odeke-em/drive/src.remoteMod)-fm(0xc420332880, 0x556d7d9adb30, 0xc420498400)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:1081 +0x34
github.com/odeke-em/drive/src.(*changeJobSt).changeJober.func1(0xc420a86ec0, 0x556d7d413135, 0x556d7d89b7e0, 0xc420717e60)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:120 +0xb1
github.com/odeke-em/drive/src.jobSt.Do(0x121, 0xc420390620, 0x556d7d5fa3bf, 0x556d7d89b7e0, 0xc420717e60, 0x0)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/drive/src/misc.go:100 +0x27
github.com/odeke-em/drive/src.(*jobSt).Do(0xc4203d2120, 0x30636b3561536876, 0x566a4d6c31435239, 0x6b554d6c4e566379, 0x20202020200a2c22)
:6 +0x5b
github.com/odeke-em/semalim.Run.func4.1(0xc42041d420, 0xc420717da0, 0xc42041d430, 0xc42041d440, 0x556d7ddad820, 0xc4203d2120)
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/semalim/semalim.go:71 +0x56
created by github.com/odeke-em/semalim.Run.func4
/build/drive-Qo5puD/drive-0.3.9.1/src/github.com/odeke-em/semalim/semalim.go:76 +0x141
`

I tried rm .gd/drivedb, and after I have another issue: googleapi: Error 403: User rate limit exceeded, userRateLimitExceeded

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants