It happened again.

The last note in my previous comment was wrong; there _is_ an appfinder 
instance running:
$ ps -Tg 4030
  PID  SPID TTY          TIME CMD
 4030  4030 ?        00:00:00 xfce4-appfinder
 4030  4031 ?        00:00:00 gdbus
 4030  4032 ?        00:00:00 xfce4-appfinder

Like before, DBus has another PID (4029) for the owner of
"org.xfce.Appfinder", which is probably the case because of
daemonization.

Attached to it with gdb.

(gdb) info threads
  Id   Target Id         Frame 
  3    Thread 0x7faf4897d700 (LWP 4031) "gdbus" 0x00007faf5c8c83cd in poll ()
   from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7faf43fff700 (LWP 4032) "xfce4-appfinder" 0x00007faf5cbb182c in 
__lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
* 1    Thread 0x7faf5f0189c0 (LWP 4030) "xfce4-appfinder" 0x00007faf5cbb182c in 
__lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0

Two "normal" threads, and one gdbus thread. The two first threads are
waiting on a lock (or a condition?). The gdbus thread, which is
currently polling for an event, would have to be the one to awaken at
least one of these threads. That's reasonable -- no reason to do stuff
until an event comes in.

I set a breakpoint on the next instruction in poll (after the syscall
returns). It appears it doesn't recieve any events; starting another
appfinder instance doesn't cause any breaks in the gdb-attached process.
Hm. Looks like I may have to learn some DBus. :)

Installed d-feet, tried to look at the org.xfce.Appfinder bus. It shows
nothing for a while, then pops up an error message saying
"org.xfce.Appfinder : Timeout was reached". I guess that rules out any
problem in the "client" code (well, maybe it could be made more robust
by trying to check for this condition first, but it shouldn't be
needed).

At this point, I wasn't sure what to do next, so I figured I'd kill the
running appfinder daemon and see what happens.

Well, the next start was fine. It daemonized successfully, too. And all
following starts worked fine as well. So at least the problem isn't
persistent in the dbus-daemon. It could still be a dbus problem, of
course, but it seems unlikely. So, what causes the appfinder service to
stop responding? I still have no idea.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1048805

Title:
  xfrun4 launches very slowly

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xfce4-appfinder/+bug/1048805/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to