Bug 1470289

Summary: httpd-2.4.26-1.fc24 no longer includes mod_http2 and there is no mod_http2 package available
Product: [Fedora] Fedora Reporter: Joel Nimety <jnimety>
Component: httpdAssignee: Luboš Uhliarik <luhliari>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: customercare, jkaluza, jorton, luhliari, ondrejj, pahan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-08 19:51:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Joel Nimety 2017-07-12 16:18:23 UTC
Description of problem:

httpd-2.4.26-1.fc24 no longer includes mod_http2 and there is no mod_http2 package available. This breaks existing deployments that reference mod_http2

Version-Release number of selected component (if applicable):

httpd-2.4.26-1.fc24

How reproducible:

upgrade httpd

Steps to Reproduce:
1. install previous version of httpd
2. reference mod_http2 in httpd config: `LoadModule http2_module modules/mod_http2.so`
3. start httpd
4. upgrade httpd to 2.4.36-1
5. httpd will not start: `httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.modules.d/00-http2.conf: Cannot load modules/mod_http2.so into server: /etc/httpd/modules/mod_http2.so: cannot open shared object file: No such file or directory`

Actual results:


Expected results:


Additional info:

Comment 1 Luboš Uhliarik 2017-07-13 10:22:47 UTC
Hi Joel, I built yesterday new mod_http2 package, can you install and test it?

Comment 2 Joel Nimety 2017-07-13 14:36:02 UTC
Luboš, I still don't see it available in updates or updates-testing. The bug I'm reporting is that mod_http2.so was removed from httpd without a replacement ready and available via standard repos. This breaks deployments that reference mod_http2.so.

Comment 3 Luboš Uhliarik 2017-07-13 15:07:40 UTC
Hi Joel,
I know, it has been done by mistake. I have already pushed new httpd and mod_http2 build to testing:

https://bodhi.fedoraproject.org/updates/FEDORA-2017-0b25a72f68
https://bodhi.fedoraproject.org/updates/FEDORA-2017-4871efb056

Comment 4 Luboš Uhliarik 2017-07-14 08:45:09 UTC
*** Bug 1470832 has been marked as a duplicate of this bug. ***

Comment 5 Jan ONDREJ 2017-07-14 10:09:20 UTC
OK, looks like it's possible to install mod_http2 from updates-testing, but looks like http2 is still not supported in this version and my configuration. Fedora updates should not remove functionality.

According to some docs, there is this message: Apache 2.4.27, HTTP/2 not supported in prefork. But looks like we have only apache 2.4.26, which should support it. Why it's not working?

Here is message from my logs:
[http2:warn] [pid 19655] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.

[root@server ~]# rpm -q httpd mod_http2
httpd-2.4.26-1.fc24.x86_64
mod_http2-1.10.7-1.fc24.x86_64

I have to switch to a different mpm, but this is not an easy step, because I use mod_php. :-(

Comment 6 Joe Orton 2017-07-14 11:41:21 UTC
This is unfortunately what upstream are recommending.

https://github.com/icing/mod_h2/issues/142

We are looking at moving the default MPM, and default PHP implementation to FPM, for Fedora 27.

Comment 7 Joel Nimety 2017-07-14 16:08:15 UTC
confirmed working for me.

Comment 8 Jan ONDREJ 2017-07-15 15:57:18 UTC
I set event mpm in 00-mpm.conf and currently mod_http2 works well.

I have no php-fpm installed on my system and I still use mod_php.
May be we should switch default mpm from prefork to event without harm.

I am not sure, how this works. Trying to disable mod_php, after that my php pages are not working, so it must be compatible with event mpm.

Any ideas, how this works and if this is a solution for other people too?

Comment 9 customercare 2017-07-17 09:35:21 UTC
the real question is:

Why did mod_http2 work flawless with prefork before it got rebuild into a new package ? or in other words, is that switch to mpm really necessary ?

Comment 10 Jan ONDREJ 2017-07-17 09:43:44 UTC
As I read, mod_http2 will not work with prefork on apache 2.6.27. We have only 2.6.26, which should work, but this is not a long time solution too.

Comment 11 customercare 2017-07-17 09:45:07 UTC
to answere that question partly, i have to add, that we run php via a cgiwrapper like fastcgi, which did not have the thread issues mod_php has. 

I really suggest to remove the depenence on MPM and make one to FAST-CGI use for PHP if run with http2 . 

Besides that, mod_php has so many security issues on a server, it should get removed at all.

Comment 12 Joe Orton 2017-07-17 09:47:03 UTC
Tracking switch to event MPM by default in bug 1471708.

Comment 13 customercare 2017-07-17 09:56:54 UTC
*** Bug 1471480 has been marked as a duplicate of this bug. ***

Comment 14 Joe Orton 2017-07-17 10:25:40 UTC
Please note that mod_http2 upstream has dropped support for the prefork MPM, so the new packages will not support without changing MPM.  You can change MPM by editing /etc/httpd/conf.modules.d/00-mpm.conf.

This has nothing to do with the split of the mod_http2 package from httpd, and mod_http2 behaves exactly the same as shipped in the httpd 2.4.27 release.

For Fedora 27 we plan to switch to the event MPM by default, which we're tracking at bug 1471708.

Comment 15 Jan ONDREJ 2017-07-17 11:35:07 UTC
(In reply to Joe Orton from comment #14)
> This has nothing to do with the split of the mod_http2 package from httpd,
> and mod_http2 behaves exactly the same as shipped in the httpd 2.4.27
> release.

Fedora should not break compatibility with updates in one release (currently in Fedora 24). This update killed my httpd, because mod_http2 was missing after update. After manual installation still http2 support was broken.

In Fedora 26/27 it's OK, but not in stable releases. I am not sure, if Fedora 26 has been stable in time of new httpd release.

Comment 16 Joe Orton 2017-07-17 12:13:42 UTC
(In reply to Jan ONDREJ from comment #15)
> Fedora should not break compatibility with updates in one release (currently
> in Fedora 24). This update killed my httpd, because mod_http2 was missing
> after update. After manual installation still http2 support was broken.

Yes, that was accidental, httpd got pushed before mod_http2 by mistake, that's what this bug is tracking and will be resolved when mod_http2 is pushed.  Please give karma here:

https://bodhi.fedoraproject.org/updates/FEDORA-2017-1c3f0d47c7

Comment 17 Jan ONDREJ 2017-07-17 12:23:24 UTC
(In reply to Joe Orton from comment #16)
> (In reply to Jan ONDREJ from comment #15)
> Yes, that was accidental, httpd got pushed before mod_http2 by mistake,
> that's what this bug is tracking and will be resolved when mod_http2 is
> pushed.  Please give karma here:

But how it's possible, that httpd has been upgraded without problems on my server, even if there was no mod_http2? For other users may be requirement
on mod_http2 is still missing which can break other servers too.

> https://bodhi.fedoraproject.org/updates/FEDORA-2017-1c3f0d47c7

Karma added. :-)

Comment 18 Fedora End Of Life 2017-07-26 00:26:30 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 19 Fedora End Of Life 2017-08-08 19:51:14 UTC
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.