** Description changed: [Impact] haproxy as shipped with bionic and cosmic doesn't work on arm64 architectures, crashing the moment it serves a request. [Test Case] * 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 * 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: sudo systemctl restart haproxy * The haproxy log will 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] Patch was applied upstream in 1.8.15 and is available in the same form in the latest 1.8.17 release. The patch is a bit low level, but seems to have been well understood. [Other Info] - It's bad that our DEP8 test didn't catch this, since all it does is start the service and briefly talk to it, but there is no actual proxying going on. + After writing the testing instructions for this bug, I decided they could be easily converted to a DEP8 test, which I did and included in this SRU. This new test, very simple but effective, shows that arm64 is working, and that the other architectures didn't break. [Original Description] This fault was reported via the haproxy mailing list https://www.mail- archive.com/hapr...@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 Bugs, which is subscribed to Ubuntu. 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 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs