[Bug 1804069] Re: haproxy fails on arm64 due to alignment error
Andreas Hasenack
andreas at canonical.com
Thu Jan 24 19:26:42 UTC 2019
** Description changed:
[Impact]
- * An explanation of the effects of the bug on users and
+ * An explanation of the effects of the bug on users and
- * justification for backporting the fix to the stable release.
+ * justification for backporting the fix to the stable release.
- * In addition, it is helpful, but not required, to include an
- explanation of how the upload fixes this bug.
+ * In addition, it is helpful, but not required, to include an
+ explanation of how the upload fixes this bug.
[Test Case]
- * detailed instructions how to reproduce the bug
+ * install haproxy and apache in an up-to-date ubuntu release you are testing, in an arm64 system:
+ sudo apt update && sudo apt dist-upgrade -y && sudo apt install haproxy apache2 -y
- * these should allow someone who is not familiar with the affected
- package to reproduce the bug and verify that the updated package fixes
- the problem.
+ * Create /etc/haproxy/haproxy.cfg with the following contents:
+ global
+ chroot /var/lib/haproxy
+ user haproxy
+ group haproxy
+ daemon
+ maxconn 4096
+
+ defaults
+ log global
+ option dontlognull
+ option redispatch
+ retries 3
+ timeout client 50s
+ timeout connect 10s
+ timeout http-request 5s
+ timeout server 50s
+ maxconn 4096
+
+ frontend test-front
+ bind *:8080
+ mode http
+ default_backend test-back
+
+ backend test-back
+ mode http
+ stick store-request src
+ stick-table type ip size 256k expire 30m
+ server test-1 localhost:80
+
+
+ * in one terminal, keep tailing the (still nonexistent) haproxy log file:
+ tail -F /var/log/haproxy.log
+
+ * in another terminal, restart haproxy and tail its logs:
+ sudo systemctl restart haproxy
+ tail -f /var/log/haproxy.log
+
+ * in another terminal, start haproxy:
+ sudo systemctl restart haproxy
+
+ * The haproxy log fill become live, and already show errors:
+ Jan 24 19:22:23 cosmic-haproxy-1804069 haproxy[2286]: [WARNING] 023/191958 (2286) : Exiting Master process...
+ Jan 24 19:22:23 cosmic-haproxy-1804069 haproxy[2286]: [ALERT] 023/191958 (2286) : Current worker 2287 exited with code 143
+ Jan 24 19:22:23 cosmic-haproxy-1804069 haproxy[2286]: [WARNING] 023/191958 (2286) : All workers exited. Exiting... (143)
+
+ * Run wget to try to fetch the apache frontpage, via haproxy, limited to one attempt. It will fail:
+ $ wget -t1 http://localhost:8080
+ --2019-01-24 19:23:51-- http://localhost:8080/
+ Resolving localhost (localhost)... 127.0.0.1
+ Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
+ HTTP request sent, awaiting response... No data received.
+ Giving up.
+ $ echo $?
+ 4
+
+ * the haproxy logs will show errors:
+ Jan 24 19:24:36 cosmic-haproxy-1804069 haproxy[6411]: [ALERT] 023/192351 (6411) : Current worker 6412 exited with code 135
+ Jan 24 19:24:36 cosmic-haproxy-1804069 haproxy[6411]: [ALERT] 023/192351 (6411) : exit-on-failure: killing every workers with SIGTERM
+ Jan 24 19:24:36 cosmic-haproxy-1804069 haproxy[6411]: [WARNING] 023/192351 (6411) : All workers exited. Exiting... (135)
+
+ * Update the haproxy package and try the wget one more time. This time it will work, and the haproxy logs will stay silent:
+ wget -t1 http://localhost:8080
+ --2019-01-24 19:26:14-- http://localhost:8080/
+ Resolving localhost (localhost)... 127.0.0.1
+ Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
+ HTTP request sent, awaiting response... 200 OK
+ Length: 10918 (11K) [text/html]
+ Saving to: ‘index.html’
+
+ index.html
+ 100%[================================================================================================================================>]
+ 10.66K --.-KB/s in 0s
+
+ 2019-01-24 19:26:14 (75.3 MB/s) - ‘index.html’ saved [10918/10918]
+
[Regression Potential]
- * discussion of how regressions are most likely to manifest as a result
+ * discussion of how regressions are most likely to manifest as a result
of this change.
- * It is assumed that any SRU candidate patch is well-tested before
- upload and has a low overall risk of regression, but it's important
- to make the effort to think about what ''could'' happen in the
- event of a regression.
+ * It is assumed that any SRU candidate patch is well-tested before
+ upload and has a low overall risk of regression, but it's important
+ to make the effort to think about what ''could'' happen in the
+ event of a regression.
- * This both shows the SRU team that the risks have been considered,
- and provides guidance to testers in regression-testing the SRU.
+ * This both shows the SRU team that the risks have been considered,
+ and provides guidance to testers in regression-testing the SRU.
[Other Info]
-
- * Anything else you think is useful to include
- * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
- * and address these questions in advance
+ * Anything else you think is useful to include
+ * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
+ * and address these questions in advance
[Original Description]
This fault was reported via the haproxy mailing list https://www.mail-
archive.com/haproxy at formilux.org/msg31749.html
And then patched in the haproxy code here
https://github.com/haproxy/haproxy/commit/52dabbc4fad338233c7f0c96f977a43f8f81452a
Without this patch haproxy is not functional on aarch64/arm64.
Experimental deployments of openstack-ansible on arm64 fail because of
this bug, and without a fix applied to the ubuntu bionic packages we
cannot proceed further as the openstack CI only installs the upstream
ubuntu distribution packages.
--
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1804069
Title:
haproxy fails on arm64 due to alignment error
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1804069/+subscriptions
More information about the Ubuntu-server-bugs
mailing list