-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Description
Describe the bug
Running make test on a build with --enable-proxy fails in t/proxyunits.t on i386 Debian.
To Reproduce
See docker-library/memcached#101, but it's a pretty vanilla ./configure --enable-proxy ... && make && make test in a 32bit Debian (12) environment.
$ docker run -it --rm --pull=always --platform linux/386 debian:bookworm-slim
bookworm-slim: Pulling from library/debian
bdeb081d427d: Already exists
Digest: sha256:1209d8fd77def86ceb6663deef7956481cc6c14a25e1e64daec12c0ceffcc19d
Status: Downloaded newer image for debian:bookworm-slim
root@f7a29a944b57:/# apt update -qq
All packages are up to date.
root@f7a29a944b57:/# apt install -yqq wget make gcc libevent-dev perl
The following additional packages will be installed:
... (output removed for brevity)
root@f7a29a944b57:/# cd /tmp/
root@f7a29a944b57:/tmp# wget https://www.memcached.org/files/memcached-1.6.38.tar.gz
--2025-03-24 23:07:31-- https://www.memcached.org/files/memcached-1.6.38.tar.gz
Resolving www.memcached.org (www.memcached.org)... 107.170.231.145
Connecting to www.memcached.org (www.memcached.org)|107.170.231.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1282099 (1.2M) [application/octet-stream]
Saving to: 'memcached-1.6.38.tar.gz'
memcached-1.6.38.tar.gz 100%[=================================================================================================>] 1.22M --.-KB/s in 0.1s
2025-03-24 23:07:31 (10.3 MB/s) - 'memcached-1.6.38.tar.gz' saved [1282099/1282099]
root@f7a29a944b57:/tmp# tar -xf memcached-1.6.38.tar.gz
root@f7a29a944b57:/tmp# cd memcached-1.6.38
root@f7a29a944b57:/tmp/memcached-1.6.38# ./configure --enable-proxy
checking build system type... x86_64-pc-linux-gnux32
checking host system type... x86_64-pc-linux-gnux32
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for icc in use... no
checking for clang in use... no
checking for gcc options needed to detect all undeclared functions... none needed
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking whether __SUNPRO_C is declared... no
checking for gcc option to accept ISO C99... none needed
checking for sasl/sasl.h... no
checking for gcov... /usr/bin/gcov
checking for main in -lgcov... yes
checking size of void *... 4
checking for library containing clock_gettime... none required
checking for library containing socket... none required
checking for library containing gethostbyname... none required
checking for libevent directory... (system)
checking for pkg-config... no
checking for library containing gethugepagesizes... no
checking for _Bool... yes
checking for stdbool.h that conforms to C99... yes
checking for inttypes.h... (cached) yes
checking for sys/auxv.h... yes
checking for sasl_callback_ft... no
checking for print macros for integers (C99 section 7.8.1)... yes
checking for an ANSI C-conforming const... yes
checking for socklen_t... yes
checking whether byte ordering is bigendian... no
checking for htonll... no
checking for library containing pthread_create... none required
checking for mlockall... yes
checking for getpagesizes... no
checking for sysconf... yes
checking for memcntl... no
checking for clock_gettime... yes
checking for preadv... yes
checking for pread... yes
checking for eventfd... yes
checking for pthread_setname_np... yes
checking for accept4... yes
checking for getopt_long... yes
checking for alignment... none
checking for GCC atomics... yes
checking for GCC 64bit atomics... yes
checking for setppriv... no
checking for pledge... no
checking for cap_enter... no
checking for sandbox_init... no
checking for xml2rfc... no
checking for xsltproc... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing depfiles commands
root@f7a29a944b57:/tmp/memcached-1.6.38# make -j "$(nproc)"
make all-recursive
... (output removed for brevity again)
root@f7a29a944b57:/tmp/memcached-1.6.38# make test PARALLEL="$(nproc)"
... (more output removed)
t/slabs_reassign.t .......... ok
t/whitespace.t .............. skipped: Skipping test because this does not appear to be a memcached git working directory
t/strtol-testing.t .......... ok
t/stats.t ................... ok
t/proxyrctxtimeout.t ........ ok
t/udp.t ..................... ok
===( 182333;27 174/? 6/? 7/? 237/? 7/? 25/? 6/11 0/4 ... )===# Looks like you failed 1 test of 283.
t/proxyunits.t .............. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/283 subtests
(less 1 skipped subtest: 281 okay)
t/watcher_connid.t .......... ok
t/unixsocket.t .............. ok
===( 182379;28 174/? 6/? 7/? 7/? 25/? 6/11 0/4 2/43 )========ERROR: Failed to execute mcp_config_pools: stat name too long: ********************************************************************************************************************************1
# Load a couple chunked items
# Data that should expire while stopped.
# killed, waiting
Gracefully stopping
# reconnected
t/proxylimits.t ............. ok
t/touch.t ................... ok
... (more output removed)
Test Summary Report
-------------------
t/proxyunits.t (Wstat: 256 (exited 1) Tests: 283 Failed: 1)
Failed test: 27
Non-zero exit status: 1
Files=112, Tests=182505, 44 wallclock secs (12.46 usr 0.96 sys + 34.54 cusr 6.08 csys = 54.04 CPU)
Result: FAIL
make: *** [Makefile:3168: test] Error 1(hopefully I didn't remove too much output for that to be useful)
System Information
- OS/Distro: Debian
- Version of OS/distro: 12 / Bookworm
- Version of memcached: 1.6.38
- Hardware detail: i386 (on an amd64 machine inside a Docker container)
Detail (please include!)
I don't think any of these are super relevant here, but I'm happy to provide more detail / do more testing if that's helpful. 😄
I did find some related builds on https://build.memcached.org/, but unfortunately none of the potentially related ones appear to be passing --enable-proxy ("vm-debian10-32" nor "arm-32").
Metadata
Metadata
Assignees
Labels
No labels