undefined symbol: FAMNoExists
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lighttpd |
Fix Released
|
Unknown
|
|||
lighttpd (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
lighttpd fails to execute (and the service fails to start) when it is installed in a system which contains libfam0 installed.
This happens because libfam0 does not define specific symbols required by lighttpd.
The issue is solved by replacing libfam0 by libgamin0, which defines the required symbols. This is what the proposed fix changes.
In this sense, the lighttpd package is broken and backporting the fix would save users from analyzing the issue and applying the workaround, which exists (installing libgamin0 fixes the issue).
[Test Plan]
Run the following script in a clean Ubuntu install
```
#!/bin/sh
set -ex
test_dep_
apt purge -y libfam0 libgamin0 lighttpd
apt install -y $1
apt install -y lighttpd
if ! /usr/sbin/lighttpd -v; then
echo "Err: possible libfam-libgamin conflict regression"
exit 1
fi
}
apt update
test_dep_regression libfam0
test_dep_regression libgamin0
```
You should see that lighttpd fails to start. The issue will be reproduced and "Err: possible libfam-libgamin conflict regression" will be printed.
```
+ /usr/sbin/lighttpd -v
/usr/sbin/lighttpd: Symbol `FamErrlist' has different size in shared object, consider re-linking
/usr/sbin/lighttpd: symbol lookup error: /usr/sbin/lighttpd: undefined symbol: FAMNoExists
+ echo Err: possible libfam-libgamin conflict regression
Err: possible libfam-libgamin conflict regression
+ exit 1
```
Then, apply the proposed fixes and re-run the script.
You should see that lighttpd prints the version and the issue is fixed.
[Where problems could occur]
libgamin and libfam are conflicting packages which clearly differ from one another (this bug is enough proof). Replacing them on some system could introduce (and reveal) new regressions for their reverse dependencies.
Note that a test case for the described issue was included with the proposed fixes and the SRUs should be gated when running the test suites if any issues occour with this package.
[Other Info]
While the proposed fix for focal and bionic contain a new regression autopkgtest entry, this was not included in impish nor proposed to debian because the dependency on fam was removed in Debian (and the related delta should be removed from Ubuntu in the next merge). See https:/
[Original bug report]
lighttpd won't start.
Steps to reproduce:
$ sudo /usr/sbin/lighttpd
or
$ sudo systemctl start lighttpd
Expected outcome:
daemon starts.
Seen instead:
/usr/sbin/lighttpd: symbol lookup error: /usr/sbin/lighttpd: undefined symbol: FAMNoExists
or
Job for lighttpd.service failed. See "systemctl status lighttpd.service" and "journalctl -xe" for details.
$ systemctl status lighttpd.service -l
May 09 17:53:32 deunan systemd[1]: Starting Lighttpd Daemon...
May 09 17:53:32 deunan lighttpd[8229]: /usr/sbin/lighttpd: symbol lookup error: /usr/sbin/lighttpd: undefined symbol: FAMNoExists
Other info:
`ldd /usr/sbin/lighttpd` does not report any missing shared libraries.
ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: lighttpd 1.4.35-4ubuntu1
ProcVersionSign
Uname: Linux 3.19.0-16-generic i686
NonfreeKernelMo
ApportVersion: 2.17.2-0ubuntu1
Architecture: i386
Date: Sat May 9 17:51:52 2015
InstallationDate: Installed on 2013-06-08 (700 days ago)
InstallationMedia: Xubuntu 13.04 "Raring Ringtail" - Release i386 (20130423.1)
ProcEnviron:
LANGUAGE=en_CA:en
TERM=screen
PATH=(custom, no user)
LANG=en_CA.UTF-8
SHELL=/bin/bash
SourcePackage: lighttpd
UpgradeStatus: Upgraded to vivid on 2015-04-25 (14 days ago)
mtime.conffile.
mtime.conffile.
Related branches
- Sergio Durigan Junior (community): Approve
- Canonical Server Core Reviewers: Pending requested
-
Diff: 74 lines (+32/-1)4 files modifieddebian/changelog (+9/-0)
debian/control (+2/-1)
debian/tests/control (+2/-0)
debian/tests/libfam-libgamin-conflict-regression (+19/-0)
- Sergio Durigan Junior (community): Approve
- Canonical Server Core Reviewers: Pending requested
-
Diff: 88 lines (+35/-2)4 files modifieddebian/changelog (+9/-0)
debian/control (+4/-2)
debian/tests/control (+3/-0)
debian/tests/libfam-libgamin-conflict-regression (+19/-0)
Changed in lighttpd (Ubuntu): | |
importance: | Undecided → Medium |
Changed in lighttpd: | |
status: | Unknown → Fix Released |
Changed in lighttpd (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in lighttpd (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in lighttpd (Ubuntu Xenial): | |
status: | New → Triaged |
Changed in lighttpd (Ubuntu): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in lighttpd (Ubuntu): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in lighttpd (Ubuntu Xenial): | |
status: | Triaged → Won't Fix |
description: | updated |
Changed in lighttpd (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in lighttpd (Ubuntu Focal): | |
status: | Confirmed → In Progress |
Status changed to 'Confirmed' because the bug affects multiple users.