[Bug 18293] hald caught in infinite loop while scanning directory
bugzilla-daemon at bugzilla.ubuntu.com
bugzilla-daemon at bugzilla.ubuntu.com
Wed Oct 26 08:13:57 UTC 2005
Please do not reply to this email. You can add comments at
http://bugzilla.ubuntu.com/show_bug.cgi?id=18293
Ubuntu | hal
------- Additional Comments From torsten.scheck at gmx.de 2005-10-26 09:13 UTC -------
(In reply to comment #3)
[...]
> Yes, I do. However, it is normal for scandir() to deliver "." and "..". The
> point is that the hal code specifically filters these out:
>
> } else if (g_file_test (full_path, (G_FILE_TEST_IS_DIR))
> && strcmp (filename, ".") != 0
> && strcmp (filename, "..") != 0) {
> <call function recursively>
>
> so if you could why this breaks for you, that would rock.
Oops. I guess, I was a bit overhasty with my patch. When the cpu temperature
went up to 72°C while doing the dot-loop, I was just eager to stop hald wasting
my cpu cycles. The strange hald behaviour remained consistent over a reboot and
stopped only after I installed hald with my dot-patch.
Today, I reinstalled the original hal packages to debug into the code you
mentioned, but I can't reproduce the problem anymore. That's very unfortunate.
I'll keep on watching out for the problem, but until then, I suggest, that we
blame cosmic radition or a water vein and close the bug for now.
I'm very sorry for having wasted your time so far. I hope I'll find out, why the
code didn't work in my case to make Ubuntu even more rock solid than it is now.
Thank you very much for your immediate and competent support.
Below is an excerpt of the strace I did, when the problem occured. I attached
the complete strace to this bug.
-----------------8<-----------------8<-----------------
strace -o strace_hald_ub0510_recurse.txt -fF /etc/dbus-1/event.d/20hal start
[...]
10663 open("/proc/acpi/button/sleep",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 10
10663 fstat64(10, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
10663 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
10663 getdents64(10, /* 3 entries */, 1024) = 72
10663 getdents64(10, /* 0 entries */, 1024) = 0
10663 close(10) = 0
10663 gettimeofday({1129979959, 359344}, NULL) = 0
10663 gettimeofday({1129979959, 359388}, NULL) = 0
10663 open("/usr/share/hal/fdi/information",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 10
10663 fstat64(10, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
10663 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
10663 getdents64(10, /* 4 entries */, 4096) = 120
10663 getdents64(10, /* 0 entries */, 4096) = 0
10663 close(10) = 0
10663 stat64("/usr/share/hal/fdi/information/.", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
10663 stat64("/usr/share/hal/fdi/information/.", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
10663 open("/usr/share/hal/fdi/information/.",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 10
10663 fstat64(10, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
10663 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
10663 getdents64(10, /* 4 entries */, 4096) = 120
10663 getdents64(10, /* 0 entries */, 4096) = 0
10663 close(10) = 0
10663 stat64("/usr/share/hal/fdi/information/./.", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
10663 stat64("/usr/share/hal/fdi/information/./.", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
10663 open("/usr/share/hal/fdi/information/./.",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 10
10663 fstat64(10, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
10663 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
10663 getdents64(10, /* 4 entries */, 4096) = 120
10663 getdents64(10, /* 0 entries */, 4096) = 0
10663 close(10) = 0
10663 stat64("/usr/share/hal/fdi/information/././.", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
-----------------8<-----------------8<-----------------
--
Configure bugmail: http://bugzilla.ubuntu.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
More information about the desktop-bugs
mailing list