memcached: arm32 images built on arm64 kernel fail during "make test"

Both arm32v7 (Debian’s armhf) and arm32v5 (Debian’s armel) fail the tests in the same way:

$ make test
./sizes
Slab Stats	64
Thread stats	-6496
Global stats	160
Settings	216
Item (no cas)	32
Item (cas)	40
Libevent thread	104
Connection	344
----------------------------------------
libevent thread cumulative	6408
Thread stats cumulative		6304
./testapp
1..52
ok 1 - cache_create
ok 2 - cache_constructor
ok 3 - cache_constructor_fail
ok 4 - cache_destructor
ok 5 - cache_reuse
ok 6 - cache_redzone
ok 7 - issue_161
ok 8 - strtol
ok 9 - strtoll
ok 10 - strtoul
ok 11 - strtoull
ok 12 - issue_44
ok 13 - vperror
ok 14 - issue_101
Signal handled: Terminated.
ok 15 - start_server
ok 16 - issue_92
ok 17 - issue_102
ok 18 - binary_noop
ok 19 - binary_quit
ok 20 - binary_quitq
ok 21 - binary_set
ok 22 - binary_setq
ok 23 - binary_add
ok 24 - binary_addq
ok 25 - binary_replace
ok 26 - binary_replaceq
ok 27 - binary_delete
ok 28 - binary_deleteq
testapp: testapp.c:725: safe_recv: Assertion `nr != 0' failed.
make: *** [test] Aborted (core dumped)
Makefile:1654: recipe for target 'test' failed

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 21 (15 by maintainers)

Commits related to this issue

Most upvoted comments

Good news: arm32v6 (Alpine) is fine now! (arm32v5 fails still, but I think it’s something specific to memcached’s tests)

This also appears to be working generally, so some of the things linked from this are likely resolved (I’ve tested the busybox-builder so far as well to great success, so I’ll likely be trimming down https://github.com/docker-library/oi-janky-groovy/blob/96a0ba8395e96688c3c0b51b5f2f7fc4db3e6c9a/multiarch/vars.groovy#L45-L55 since the builder those are on is pretty janky 😅) 🎉 🍰

Edit: https://github.com/docker-library/oi-janky-groovy/commit/5141c15b1ba4ced1617a6150f625e46d573d62f9 👍 🤘

excellent! Please run tests with your builds if possible 😃

this release should be cut this week. bugfixes only and whenever I’m nearly done with the queue.

OK, I think I tracked down the relevant issue in the main memcached repo:

https://github.com/memcached/memcached/issues/312

and it has something to do with memory alignment:

https://github.com/memcached/memcached/pull/317

@tianon is there a pointer to the Go 1.10 / arm64 / arm32 issue ? I’d like to point some folks at it specifically who have been working on that code.

We’re good!!! No more QEMU! 🥂

this should be fixed in our ‘next’ branch if you want to give it a try. will go out in the next release.