Fedora 11 httpd: alloc_listener: failed to get a socket for (null)
If you use Fedora 11 in a virtualized environment, you may have seen this error recently if you’ve updated to apr-1.3.8-1:
[root@f11 ~]# /etc/init.d/httpd start
Starting httpd: [Fri Aug 14 17:05:24 2009] [crit] (22)Invalid argument: alloc_listener: failed to get a socket for (null)
Syntax error on line 134 of /etc/httpd/conf/httpd.conf:
Listen setup failed
[FAILED]
The issue is related to three kernel calls that are used in apr-1.3.8-1: accept4(), dup3() and epoll_create1(). Without these calls, apache is unable to start.
Update on August 17, 2009: the Fedora team has pushed apr-1.3.8-2 into the stable repositories for Fedora 11, which eliminates the need for the temporary fix shown below.
Deprecated solution: There is a bug open with the Fedora team, and there is a temporary fix available:
yum --enablerepo=updates-testing update apr