VictoriaMetrics is not compling and not working on Raspberry Pi 4
~# uname -a
Linux localhost 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l GNU/Linux
~# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
~# go version
go version go1.13.1 linux/arm
Problem 1 (solved)
Can't build it on Raspberry Pi from source. "make clean libzstd.a" in github.com/valyala/gozstd is solving this problem. Crossbuild using "make victoria-metrics-arm" works fine
# github.com/VictoriaMetrics/VictoriaMetrics/vendor/github.com/valyala/gozstd
/usr/bin/ld: error: $WORK/b052/_cgo_.o uses VFP register arguments, ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(zstd_common.o) does not
/usr/bin/ld: failed to merge target specific data of file ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(zstd_common.o)
/usr/bin/ld: error: $WORK/b052/_cgo_.o uses VFP register arguments, ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(zstd_compress.o) does not
/usr/bin/ld: failed to merge target specific data of file ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(zstd_compress.o)
...
/usr/bin/ld: error: $WORK/b052/_cgo_.o uses VFP register arguments, ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(pool.o) does not
/usr/bin/ld: failed to merge target specific data of file ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(pool.o)
/usr/bin/ld: error: $WORK/b052/_cgo_.o uses VFP register arguments, ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(cover.o) does not
/usr/bin/ld: failed to merge target specific data of file ../../vendor/github.com/valyala/gozstd/libzstd_linux_arm.a(cover.o)
collect2: error: ld returned 1 exit status
Problem 2
root@localhost:~/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/victoria-metrics# ./victoria-metrics
2019-10-16T16:13:40.720+0000 info VictoriaMetrics/lib/logger/flag.go:11 build version:
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:12 command line flags
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "deleteAuthKey" = "secret"
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "graphiteListenAddr" = ""
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "http.disableResponseCompression" = "false"
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpAuth.password" = "secret"
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpAuth.username" = ""
2019-10-16T16:13:40.721+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpListenAddr" = ":8428"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "influxMeasurementFieldSeparator" = "_"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "influxSkipSingleField" = "false"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "loggerLevel" = "INFO"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxConcurrentInserts" = "16"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxInsertRequestSize" = "33554432"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxLabelsPerTimeseries" = "30"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "memory.allowedPercent" = "60"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "metricsAuthKey" = "secret"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "opentsdbHTTPListenAddr" = ""
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "opentsdbListenAddr" = ""
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "pprofAuthKey" = "secret"
2019-10-16T16:13:40.722+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "precisionBits" = "64"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "retentionPeriod" = "1"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.disableCache" = "false"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.logSlowQueryDuration" = "5s"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxConcurrentRequests" = "8"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxLookback" = "0s"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxPointsPerTimeseries" = "30000"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueryDuration" = "30s"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueryLen" = "16384"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueueDuration" = "10s"
2019-10-16T16:13:40.723+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxTagKeys" = "secret"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxTagValues" = "100000"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxUniqueTimeseries" = "300000"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "snapshotAuthKey" = "secret"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "storageDataPath" = "victoria-metrics-data"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tls" = "false"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tlsCertFile" = ""
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tlsKeyFile" = "secret"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "version" = "false"
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/app/victoria-metrics/main.go:24 starting VictoraMetrics at ":8428"...
2019-10-16T16:13:40.724+0000 info VictoriaMetrics/app/vmstorage/main.go:42 opening storage at "victoria-metrics-data" with retention period 1 months
2019-10-16T16:13:40.758+0000 info VictoriaMetrics/lib/memory/memory.go:33 limiting caches to -119513088 bytes, leaving -79675392 bytes to the OS according to -memory.allowedPercent=60
2019-10-16T16:13:40.758+0000 info VictoriaMetrics/lib/storage/storage.go:549 loading MetricName->TSID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/victoria-metrics/victoria-metrics-data/cache/metricName_tsid"...
panic: maxBytes must be greater than 0; got -39837696
goroutine 1 [running]:
github.com/VictoriaMetrics/VictoriaMetrics/vendor/github.com/VictoriaMetrics/fastcache.New(0xfda02000, 0x78)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/vendor/github.com/VictoriaMetrics/fastcache/fastcache.go:122 +0x138
github.com/VictoriaMetrics/VictoriaMetrics/vendor/github.com/VictoriaMetrics/fastcache.LoadFromFileOrNew(0x240a780, 0x78, 0xfda02000, 0x0)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/vendor/github.com/VictoriaMetrics/fastcache/file.go:95 +0x48
github.com/VictoriaMetrics/VictoriaMetrics/lib/workingsetcache.Load(0x240a780, 0x78, 0xfda02000, 0x30b8a000, 0x346, 0x51173d)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/workingsetcache/cache.go:53 +0x30
github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*Storage).mustLoadCache(0x2588000, 0x511c9e, 0x10, 0x51173d, 0xf, 0xfda02000, 0x6c)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/storage.go:551 +0x134
github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.OpenStorage(0x24fcbd0, 0x62, 0x1, 0x0, 0x89ed40, 0x1c)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/storage.go:116 +0x424
github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage.InitWithoutMetrics()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage/main.go:45 +0x154
github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage.Init()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage/main.go:31 +0x14
main.main()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/victoria-metrics/main.go:26 +0x94
I tried crossbuild using "make victoria-metrics-arm". It has some problem
Version
$ ./victoria-metrics-prod --version
-20191016-162823-heads-master-0-g61e956e
As for the problem 1, use make victoria-metrics-arm or make victoria-metrics-arm64 for cross-compiling builds for ARM or make victoria-metrics-pure for building directly on ARM.
Problem 2 should be fixed in 6ebf537153bd4dc855863b5f68f7c03f0b933bf1 . Could you try make victoria-metrics-arm from this commit?
Note that make victoria-metrics-arm builds 32-bit binary, which is limited to 2GB of RAM. Use make victoria-metrics-arm64 for building 64-bit binary without the limit on RAM.
make victoria-metrics-pure works for me, thanks
New problem in https://github.com/VictoriaMetrics/VictoriaMetrics/commit/6ebf537153bd4dc855863b5f68f7c03f0b933bf1 :
root@localhost:~/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin# ./victoria-metrics-pure
2019-10-16T22:04:16.243+0000 info VictoriaMetrics/lib/logger/flag.go:11 build version: victoria-metrics-20191016-220324-heads-master-0-g6ebf537
2019-10-16T22:04:16.243+0000 info VictoriaMetrics/lib/logger/flag.go:12 command line flags
2019-10-16T22:04:16.243+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "deleteAuthKey" = "secret"
2019-10-16T22:04:16.243+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "graphiteListenAddr" = ""
2019-10-16T22:04:16.243+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "http.disableResponseCompression" = "false"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpAuth.password" = "secret"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpAuth.username" = ""
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "httpListenAddr" = ":8428"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "influxMeasurementFieldSeparator" = "_"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "influxSkipSingleField" = "false"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "loggerLevel" = "INFO"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxConcurrentInserts" = "16"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxInsertRequestSize" = "33554432"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "maxLabelsPerTimeseries" = "30"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "memory.allowedPercent" = "60"
2019-10-16T22:04:16.244+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "metricsAuthKey" = "secret"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "opentsdbHTTPListenAddr" = ""
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "opentsdbListenAddr" = ""
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "pprofAuthKey" = "secret"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "precisionBits" = "64"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "retentionPeriod" = "1"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.disableCache" = "false"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.logSlowQueryDuration" = "5s"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxConcurrentRequests" = "8"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxLookback" = "0s"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxPointsPerTimeseries" = "30000"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueryDuration" = "30s"
2019-10-16T22:04:16.245+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueryLen" = "16384"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxQueueDuration" = "10s"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxTagKeys" = "secret"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxTagValues" = "100000"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "search.maxUniqueTimeseries" = "300000"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "snapshotAuthKey" = "secret"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "storageDataPath" = "victoria-metrics-data"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tls" = "false"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tlsCertFile" = ""
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "tlsKeyFile" = "secret"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/lib/logger/flag.go:20 flag "version" = "false"
2019-10-16T22:04:16.246+0000 info VictoriaMetrics/app/victoria-metrics/main.go:24 starting VictoraMetrics at ":8428"...
2019-10-16T22:04:16.247+0000 info VictoriaMetrics/app/vmstorage/main.go:42 opening storage at "victoria-metrics-data" with retention period 1 months
2019-10-16T22:04:16.281+0000 info VictoriaMetrics/lib/memory/memory.go:33 limiting caches to 1288490188 bytes, leaving 858993459 bytes to the OS according to -memory.allowedPercent=60
2019-10-16T22:04:16.282+0000 info VictoriaMetrics/lib/storage/storage.go:549 loading MetricName->TSID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricName_tsid"...
2019-10-16T22:04:16.295+0000 info VictoriaMetrics/lib/storage/storage.go:554 loaded MetricName->TSID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricName_tsid" in 12.682464ms; entriesCount: 0; sizeBytes: 0
2019-10-16T22:04:16.295+0000 info VictoriaMetrics/lib/storage/storage.go:549 loading MetricID->TSID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricID_tsid"...
2019-10-16T22:04:16.306+0000 info VictoriaMetrics/lib/storage/storage.go:554 loaded MetricID->TSID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricID_tsid" in 10.174747ms; entriesCount: 0; sizeBytes: 0
2019-10-16T22:04:16.306+0000 info VictoriaMetrics/lib/storage/storage.go:549 loading MetricID->MetricName cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricID_metricName"...
2019-10-16T22:04:16.317+0000 info VictoriaMetrics/lib/storage/storage.go:554 loaded MetricID->MetricName cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/metricID_metricName" in 11.009134ms; entriesCount: 0; sizeBytes: 0
2019-10-16T22:04:16.318+0000 info VictoriaMetrics/lib/storage/storage.go:549 loading Date->MetricID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/date_metricID"...
2019-10-16T22:04:16.328+0000 info VictoriaMetrics/lib/storage/storage.go:554 loaded Date->MetricID cache from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/date_metricID" in 10.229522ms; entriesCount: 0; sizeBytes: 0
2019-10-16T22:04:16.328+0000 info VictoriaMetrics/lib/storage/storage.go:483 loading curr_hour_metric_ids from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/curr_hour_metric_ids"...
2019-10-16T22:04:16.328+0000 info VictoriaMetrics/lib/storage/storage.go:486 nothing to load from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/curr_hour_metric_ids"
2019-10-16T22:04:16.328+0000 info VictoriaMetrics/lib/storage/storage.go:483 loading prev_hour_metric_ids from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/prev_hour_metric_ids"...
2019-10-16T22:04:16.328+0000 info VictoriaMetrics/lib/storage/storage.go:486 nothing to load from "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/cache/prev_hour_metric_ids"
2019-10-16T22:04:16.336+0000 info VictoriaMetrics/lib/mergeset/table.go:152 opening table "/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/bin/victoria-metrics-data/indexdb/15CE3FC9DD6FC437"...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x11ffc]
goroutine 1 [running]:
runtime/internal/atomic.goLoad64(0x1c76c14, 0x6cd88, 0x1ca4ad4)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:131 +0x1c
github.com/VictoriaMetrics/VictoriaMetrics/lib/mergeset.(*Table).UpdateMetrics(0x1c76b60, 0x1c88f80)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/mergeset/table.go:293 +0x24
github.com/VictoriaMetrics/VictoriaMetrics/lib/mergeset.OpenTable(0x1cf8cb0, 0x6a, 0x550350, 0x550354, 0x10, 0x6a, 0x1cf8cb0)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/mergeset/table.go:185 +0x418
github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.openIndexDB(0x1cf8cb0, 0x6a, 0x1d7a280, 0x1e682c0, 0x1cca0d4, 0x1cca0dc, 0x10, 0x1cf8cb0, 0x6a)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/index_db.go:142 +0x64
github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.openIndexDBTables(0x1d78300, 0x59, 0x1d7a280, 0x1e682c0, 0x1cca0d4, 0x1cca0dc, 0x0, 0x0, 0x0, 0x0)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/storage.go:1031 +0x5f4
github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.OpenStorage(0x1c8c4e0, 0x51, 0x1, 0x0, 0x8ff450, 0x2)
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/storage.go:134 +0x8f8
github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage.InitWithoutMetrics()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage/main.go:45 +0x1cc
github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage.Init()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/vmstorage/main.go:31 +0x14
main.main()
/root/go/src/github.com/VictoriaMetrics/VictoriaMetrics/app/victoria-metrics/main.go:26 +0xf8
I guess the problem is because of this
On ARM, x86-32, and 32-bit MIPS, it is the caller's responsibility to arrange for 64-bit alignment of 64-bit words accessed atomically. The first word in a variable or in an allocated struct, array, or slice can be relied upon to be 64-bit aligned.
Yes, the error is related to unaligned atomic access to uint64 field on 32-bit architecture. Unfortunately I don't know how to deal with this issue reliably. So I'm going to delete support for 32-bit architectures including ARM unless solution is found. ARM64 should remain.
ARM64 should remain
arm64 is not supported by raspbian linux. Maybe later I will try alternatives
@lomik we will investigate how to fix the error
@lomik we're going to get rpi and cover your case. ETA this week
@lomik , try building from 97ce4e03a57825a783a28e25fc88b9a9e9e09c3c . This commit should fix all the issues with atomic access to 64-bit counters on 32-bit architectures.
try building from 97ce4e0
It has successfully compiled and works. All tests pass too
Great! Then this change will be incorporated into the next release
The bugfix is available starting from release v1.28.1.
Closing the issue. Feel free re-opening it if additional questions arise.
Most helpful comment
It has successfully compiled and works. All tests pass too