dgraph-io / ristretto

A high performance memory-bound Go cache

Home Page:https://dgraph.io/blog/post/introducing-ristretto-high-perf-go-cache/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

decentral1se opened this issue · comments

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

ssbc/go-ssb#183