Public bug reported: ## Environment
Ubuntu Focal (20.04) Installed packages: ```text apache2 2.4.41-4ubuntu3.23+esm6 apache2-bin 2.4.41-4ubuntu3.23+esm6 apache2-data 2.4.41-4ubuntu3.23+esm6 ``` The package is provided by the Ubuntu Focal ESM repository: ```text https://esm.ubuntu.com/infra/ubuntu ``` ## Problem When `proxy_http2` is enabled, Apache fails to start with: ```text apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/proxy_http2.load: Cannot load /usr/lib/apache2/modules/mod_proxy_http2.so into server: /usr/lib/apache2/modules/mod_proxy_http2.so: undefined symbol: ap_proxy_should_override ``` ## Reproduction / Investigation `mod_proxy_http2.so` has an unresolved reference to `ap_proxy_should_override`: ```text $ nm -D /usr/lib/apache2/modules/mod_proxy_http2.so | grep ap_proxy_should_override U ap_proxy_should_override ``` However, `mod_proxy.so` does not export this symbol: ```text $ nm -D /usr/lib/apache2/modules/mod_proxy.so | grep ap_proxy_should_override ``` (no output) The Apache executable does not export it either: ```text $ nm -D /usr/sbin/apache2 | grep ap_proxy_should_override ``` (no output) The only dynamic dependencies of `mod_proxy_http2.so` are: ```text $ readelf -d /usr/lib/apache2/modules/mod_proxy_http2.so | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libnghttp2.so.14] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] ``` Therefore there is no apparent provider for the required `ap_proxy_should_override` symbol. ## Package verification I downloaded a fresh copy of the exact installed package: ```text apache2-bin_2.4.41-4ubuntu3.23+esm6_amd64.deb ``` using: ```text apt-get download apache2-bin=2.4.41-4ubuntu3.23+esm6 ``` I extracted the package without installing it and repeated the symbol checks. The freshly downloaded package has the same behavior: ```text /tmp/apache-test/usr/lib/apache2/modules/mod_proxy.so does not export ap_proxy_should_override /tmp/apache-test/usr/lib/apache2/modules/mod_proxy_http2.so references ap_proxy_should_override ``` The installed and freshly downloaded files are byte-for-byte identical: ```text mod_proxy.so 4694ae26b63c0e57b8b6f2fff646b909 mod_proxy_http2.so 8341d81828b3460ac42e55ac3e603473 ``` `dpkg -V apache2-bin` also reports no modified files. This therefore does not appear to be local filesystem corruption or a locally modified Apache installation. The published `apache2-bin 2.4.41-4ubuntu3.23+esm6` package itself appears to contain an ABI- incompatible `mod_proxy.so` / `mod_proxy_http2.so` combination. ## Impact Any Apache configuration that enables `proxy_http2` cannot start with this package because the module fails to load. Disabling the module with: ```text a2dismod proxy_http2 ``` allows Apache to start, but HTTP/2 proxy functionality is then unavailable. Please investigate whether `apache2-bin 2.4.41-4ubuntu3.23+esm6` contains an incorrectly built or mismatched `mod_proxy_http2.so`, and whether a corrected ESM package should be published. ** Affects: apache2 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2163447 Title: apache2-bin 2.4.41-4ubuntu3.23+esm6 ships an incompatible mod_proxy_http2.so that references the undefined symbol ap_proxy_should_override. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/2163447/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
