cassava / repoctl

Make it easy to manage your local Arch Linux repository.
MIT License
128 stars 13 forks source link

fatal error: sweep increased allocation count #27

Closed daurnimator closed 6 years ago

daurnimator commented 7 years ago
$ repoctl status -a
On repo custom

runtime: nelems=16 nalloc=3 previous allocCount=2 nfreed=65535
fatal error: sweep increased allocation count

runtime stack:
runtime.throw(0x841684, 0x20)
    /usr/lib/go/src/runtime/panic.go:605 +0x95
runtime.(*mspan).sweep(0x7f2afaf089a0, 0x7f2af9dd2d00, 0x421800)
    /usr/lib/go/src/runtime/mgcsweep.go:298 +0x911
runtime.sweepone(0x0)
    /usr/lib/go/src/runtime/mgcsweep.go:113 +0x122
runtime.gosweepone.func1()
    /usr/lib/go/src/runtime/mgcsweep.go:137 +0x2b
runtime.systemstack(0x7f2af9dd2d88)
    /usr/lib/go/src/runtime/asm_amd64.s:360 +0xab
runtime.gosweepone(0x0)
    /usr/lib/go/src/runtime/mgcsweep.go:136 +0x4a
runtime.deductSweepCredit(0x8000, 0x0)
    /usr/lib/go/src/runtime/mgcsweep.go:407 +0x76
runtime.(*mcentral).cacheSpan(0xc7bbd0, 0x7f2afafb9858)
    /usr/lib/go/src/runtime/mcentral.go:43 +0x60
runtime.(*mcache).refill(0x7f2afafb4000, 0x7bf885, 0x7f2afafb9858)
    /usr/lib/go/src/runtime/mcache.go:123 +0xa4
runtime.(*mcache).nextFree.func1()
    /usr/lib/go/src/runtime/malloc.go:557 +0x32
runtime.systemstack(0xc420027300)
    /usr/lib/go/src/runtime/asm_amd64.s:344 +0x79
runtime.mstart()
    /usr/lib/go/src/runtime/proc.go:1125

goroutine 1 [running]:
runtime.systemstack_switch()
    /usr/lib/go/src/runtime/asm_amd64.s:298 fp=0xc420053058 sp=0xc420053050 pc=0x457360
runtime.(*mcache).nextFree(0x7f2afafb4000, 0x85, 0x38, 0x7fddc0, 0x7bf801)
    /usr/lib/go/src/runtime/malloc.go:556 +0xa9 fp=0xc4200530b0 sp=0xc420053058 pc=0x411ff9
runtime.mallocgc(0x8000, 0x7a53e0, 0x1, 0xc42008c140)
    /usr/lib/go/src/runtime/malloc.go:711 +0x6fa fp=0xc420053158 sp=0xc4200530b0 pc=0x4128ca
runtime.makeslice(0x7a53e0, 0x8000, 0x8000, 0x3a, 0x0, 0x0)
    /usr/lib/go/src/runtime/slice.go:54 +0x77 fp=0xc420053188 sp=0xc420053158 pc=0x442e17
github.com/cassava/repoctl/vendor/github.com/remyoudompheng/go-liblzma.NewReader(0xc3f240, 0xc420088028, 0x836337, 0x3, 0x0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/remyoudompheng/go-liblzma/reader.go:32 +0x81 fp=0xc4200531e0 sp=0xc420053188 pc=0x5cd591
github.com/cassava/repoctl/vendor/github.com/goulash/archive.NewDecompressor(0xc420116240, 0x3a, 0x7f2afafbb868, 0xc420116280, 0xc4200533e8)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/archive/archive.go:84 +0x18e fp=0xc420053330 sp=0xc4200531e0 pc=0x5ce36e
github.com/cassava/repoctl/vendor/github.com/goulash/archive.ReadFileFromArchive(0xc420116240, 0x3a, 0x8373db, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/archive/archive.go:27 +0x75 fp=0xc420053390 sp=0xc420053330 pc=0x5cdd95
github.com/cassava/repoctl/vendor/github.com/goulash/pacman.Read(0xc420116240, 0x3a, 0xc420116201, 0x3a, 0xc420053470)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/pacman/read-pkg.go:22 +0x54 fp=0xc420053410 sp=0xc420053390 pc=0x5d3784
github.com/cassava/repoctl/vendor/github.com/goulash/pacman.ReadDir.func1(0xc420116240, 0x3a, 0xc465e0, 0xc4202b6340, 0x0, 0x0, 0x0, 0x0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/pacman/read-fs.go:34 +0x1c0 fp=0xc4200534a8 sp=0xc420053410 pc=0x5d5c80
path/filepath.walk(0xc420116240, 0x3a, 0xc465e0, 0xc4202b6340, 0xc420248b40, 0x0, 0x0)
    /usr/lib/go/src/path/filepath/path.go:356 +0x81 fp=0xc420053580 sp=0xc4200534a8 pc=0x567991
path/filepath.walk(0xc4200142d0, 0x18, 0xc465e0, 0xc4202b9110, 0xc420248b40, 0x0, 0x30)
    /usr/lib/go/src/path/filepath/path.go:381 +0x3a0 fp=0xc420053658 sp=0xc420053580 pc=0x567cb0
path/filepath.Walk(0xc4200142d0, 0x18, 0xc420248b40, 0x18, 0x412c08)
    /usr/lib/go/src/path/filepath/path.go:403 +0x11d fp=0xc4200536b8 sp=0xc420053658 pc=0x567f4d
github.com/cassava/repoctl/vendor/github.com/goulash/pacman.ReadDir(0xc420096060, 0xc4200142d0, 0x18, 0x7, 0xc4202cc728, 0x0, 0x0, 0x30)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/pacman/read-fs.go:22 +0x123 fp=0xc420053710 sp=0xc4200536b8 pc=0x5d2db3
github.com/cassava/repoctl/vendor/github.com/goulash/pacman/meta.Read(0xc420096060, 0xc4200142d0, 0x18, 0xc420014330, 0x26, 0xc4201700c0, 0x0, 0x0, 0xc420053a40, 0x75a5ba)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/goulash/pacman/meta/read.go:83 +0x100 fp=0xc4200539a0 sp=0xc420053710 pc=0x72ecc0
github.com/cassava/repoctl.(*Repo).ReadMeta(0xc420180000, 0xc420096060, 0x0, 0x0, 0x0, 0x1, 0x1e, 0x0, 0x0, 0x7f2afaf03858)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/read.go:61 +0xf4 fp=0xc420053a50 sp=0xc4200539a0 pc=0x742064
main.glob..func12(0xc39b40, 0xc420044910, 0x0, 0x1, 0x0, 0x0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/cmd/repoctl/status.go:46 +0x292 fp=0xc420053ce8 sp=0xc420053a50 pc=0x75ee02
github.com/cassava/repoctl/vendor/github.com/spf13/cobra.(*Command).execute(0xc39b40, 0xc4200448f0, 0x1, 0x1, 0xc39b40, 0xc4200448f0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/spf13/cobra/command.go:632 +0x3e8 fp=0xc420053d90 sp=0xc420053ce8 pc=0x584ed8
github.com/cassava/repoctl/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc38e80, 0x8426df, 0x22, 0x2c)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/spf13/cobra/command.go:722 +0x2fe fp=0xc420053ec0 sp=0xc420053d90 pc=0x58567e
github.com/cassava/repoctl/vendor/github.com/spf13/cobra.(*Command).Execute(0xc38e80, 0x0, 0x0)
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/vendor/github.com/spf13/cobra/command.go:681 +0x2b fp=0xc420053ef0 sp=0xc420053ec0 pc=0x58535b
main.main()
    /home/daurnimator/.cache/aursync/repoctl/src/src/github.com/cassava/repoctl/cmd/repoctl/main.go:106 +0xdd fp=0xc420053f80 sp=0xc420053ef0 pc=0x75c8fd
runtime.main()
    /usr/lib/go/src/runtime/proc.go:185 +0x20d fp=0xc420053fe0 sp=0xc420053f80 pc=0x42da2d
runtime.goexit()
    /usr/lib/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420053fe8 sp=0xc420053fe0 pc=0x459f71
cassava commented 7 years ago

Thanks for the issue. I'll see if I can reproduce it.

cassava commented 7 years ago

Hi @daurnimator, I can't currently reproduce this. Are you getting this regularly? Could you try with the latest repoctl version?

grensjo commented 6 years ago

I regularly experience this issue with the latest release (v0.16). It seems to be non-deterministic, but it happens often enough that I can reproduce by running a command such as repoctl list or repoctl status 5 times quickly in a row.

However, the issue seems to be gone when using repoctl-git. Perhaps it is time to make a new release?

cassava commented 6 years ago

Thanks for the update. You are probably right, I'll see what I can do. :-D

cassava commented 6 years ago

Hey @grensjo, I just uploaded the 0.17 release here on Github and on AUR. Let me know if you run into any problems. Thanks!

grensjo commented 6 years ago

Thanks, will do! It seems like you forgot to update the .SRCINFO file though (it is still listed as 0.16 in AUR).

cassava commented 6 years ago

Thanks, forget that every time!

cassava commented 6 years ago

Please re-open if the problem occurs again. Closing for now.