dgraph-io / ristretto

A high performance memory-bound Go cache
https://dgraph.io/blog/post/introducing-ristretto-high-perf-go-cache/
Apache License 2.0
5.64k stars 374 forks source link

[BUG]: "mremap size mismatch" on arm 32bit #314

Closed decentral1se closed 3 months ago

decentral1se commented 2 years ago

What version of Ristretto are you using?

v0.1.1

What version of Go are you using?

Go 1.18

Have you tried reproducing the issue with the latest release?

Yes

What is the hardware spec (RAM, CPU, OS)?

<= 2 GB RAM, <= 2 core CPU, Raspbian ARM 32bit (Orange Pi Zero)

What steps will reproduce the bug?

git clone https://github.com/ssbc/go-ssb
cd go-ssb
go build -tags lite -v ./cmd/go-sbot
./go-sbot # let it run... ctrl-c kill it...
./go-sbot # start it again...

Expected behavior and actual result.

The program runs again just fine. Instead, it bails out with this gnarly ristretto related error below.

Any tips / pointers / additional info to help debugging would be most welcome!

go-sbot: failed to instantiate ssb server: while opening memtables error: while opening fid: 1 error: while updating skiplist error: mremap size mismatch: requested: 20 got: 134217728
go-sbot: failed to instantiate ssb server: During db.vlog.open error: Open existing file: "/home/pihole/.ssb-go/sublogs/shared-badger/000001.vlog" error: while opening file: /home/pihole/.ssb-go/sublogs/shared-badger/000001.vlog error: cannot allocate memory
while mmapping /home/pihole/.ssb-go/sublogs/shared-badger/000001.vlog with size: 2147483646
github.com/dgraph-io/ristretto/z.OpenMmapFileUsing
    /home/pihole/go/pkg/mod/github.com/dgraph-io/ristretto@v0.1.1/z/file.go:59
github.com/dgraph-io/ristretto/z.OpenMmapFile
    /home/pihole/go/pkg/mod/github.com/dgraph-io/ristretto@v0.1.1/z/file.go:86
github.com/dgraph-io/badger/v3.(*logFile).open
    /home/pihole/go/pkg/mod/github.com/dgraph-io/badger/v3@v3.2103.3/memtable.go:556
github.com/dgraph-io/badger/v3.(*valueLog).open
    /home/pihole/go/pkg/mod/github.com/dgraph-io/badger/v3@v3.2103.3/value.go:585
github.com/dgraph-io/badger/v3.Open
    /home/pihole/go/pkg/mod/github.com/dgraph-io/badger/v3@v3.2103.3/db.go:368
github.com/ssbc/go-ssb/repo.OpenBadgerDB
    /home/pihole/ssb/repo/multilogs.go:39
github.com/ssbc/go-ssb/sbot.New
    /home/pihole/ssb/sbot/new.go:294
main.runSbot
    /home/pihole/ssb/cmd/go-sbot/main.go:353
main.main
    /home/pihole/ssb/cmd/go-sbot/main.go:528
runtime.main
    /usr/local/go/src/runtime/proc.go:250
runtime.goexit
    /usr/local/go/src/runtime/asm_arm.s:831

It's unclear to me if ristretto supports arm 32bit from a search around?

Additional information

https://github.com/ssbc/go-ssb/issues/183

github-actions[bot] commented 3 months ago

This issue has been stale for 60 days and will be closed automatically in 7 days. Comment to keep it open.