Bug 221742
| Summary: | fcntl64 on BAD File descriptors - 1024 times while starting haldaemon!! | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Parag Warudkar <parag.lkml> | ||||
| Component: | hal | Assignee: | David Zeuthen <davidz> | ||||
| Status: | CLOSED UPSTREAM | QA Contact: | |||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 6 | CC: | mclasen | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | i386 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2008-03-26 22:49:30 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Parag Warudkar
2007-01-07 03:41:42 UTC
I don't think it's a HAL bug - As I stated earlier hald when started independently does not exhibit this problem. I have checked the HAL sources (FC6 SRPM) and there are no calls to getrlimit or fcntl64 anywhere in there. (Problem only happens when hald is started as service.) Scratch my last comment - I just repeated strace on hald this time with -f and
it shows the fcntl64 calls. So yes, although I couldn't locate where in the
source, it seems to be hal problem.
Now something equally interesting - hald does execve *10* times with a wrong
path for hald-runner before succeeding!! Shouldn't it do something like try the
most likely path first and failing that should use something like access() to
loate hald-runner. Admittedly a distro shouldn't need to change hald-runner path
and that way it can just be one execve.
[pid 4733] execve("/usr/lib/qt-3.3/bin/hald-runner", ["hald-runner"], [/* 2
vars */]) = -1 ENOENT (No such file or directory)
[pid 4733] execve("/usr/kerberos/sbin/hald-runner", ["hald-runner"], [/* 2 vars
*/]) = -1 ENOENT (No such file or directory)
[pid 4733] execve("/usr/kerberos/bin/hald-runner", ["hald-runner"], [/* 2 vars
*/]) = -1 ENOENT (No such file or directory)
[pid 4733] execve("/usr/local/sbin/hald-runner", ["hald-runner"], [/* 2 vars
*/]) = -1 ENOENT (No such file or directory)
[pid 4733] execve("/usr/local/bin/hald-runner", ["hald-runner"], [/* 2 vars
*/]) = -1 ENOENT (No such file or directory)
[pid 4733] execve("/sbin/hald-runner", ["hald-runner"], [/* 2 vars */]) = -1
ENOENT (No such file or directory)
[pid 4733] execve("/bin/hald-runner", ["hald-runner"], [/* 2 vars */]) = -1
ENOENT (No such file or directory)
[pid 4733] execve("/usr/sbin/hald-runner", ["hald-runner"], [/* 2 vars */]) =
-1 ENOENT (No such file or directory)
[pid 4733] execve("/usr/bin/hald-runner", ["hald-runner"], [/* 2 vars */]) = -1
ENOENT (No such file or directory)
Are at least the 1024 fcntl64s on EBADF going to be fixed? I am sure that is bad enough to need a fix? Given that hald-runner is installed in /usr/libexec, the following patch should get rid of the path searching; it also gets rid of the nonworking attempt to set the PATH for g_spawn_async Created attachment 213141 [details]
path.patch
The fcntl64 issue is acutally a glib bug and is tracked here: http://bugzilla.gnome.org/show_bug.cgi?id=469231 Closing - since the main glib bug was fixed in upstream. |