Comment 6 for bug 524437

Revision history for this message
Chris Hall (chris-kchall) wrote :

I'm running Slackware 13.1 with XFCE 4.6.1 as the desk top environment on a Samsung N140 netbook. My issue was that the Blueman icon had disappeared from the panel in XFCE and I had no idea when or how this happened. It should be noted that blueman was running fine for several weeks prior to failing and that includes multiple on/off cycles.

My initial investigation revealed that running blueman-manager from a terminal gave the following error:

bash-4.1$ blueman-manager

Loading configuration plugins

_________

<module> (/usr/lib/python2.6/site-packages/blueman/main/Config.py:20)

Skipping plugin Gconf

No module named gconf

Using file config backend

_________

on_bluez_name_owner_changed (/usr/bin/blueman-manager:104)

org.bluez owner changed to :1.2

Using file config backend

ERROR:dbus.proxies:Introspect error on org.blueman.Applet:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Process /usr/bin/blueman-applet exited with status 1

Traceback (most recent call last):

  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 586, in msg_reply_handler

    reply_handler(*message.get_args_list(**get_args_opts))

  File "/usr/bin/blueman-manager", line 132, in on_bluez_name_owner_changed

    if not self.Applet.GetBluetoothStatus():

  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 68, in __call__

    return self._proxy_method(*args, **keywords)

  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 140, in __call__

    **keywords)

  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 630, in call_blocking

    message, timeout)

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Process /usr/bin/blueman-applet exited with status 1

and running the blueman-applet gave this:

bash-4.1$ blueman-applet

Loading configuration plugins

_________

<module> (/usr/lib/python2.6/site-packages/blueman/main/Config.py:20)

Skipping plugin Gconf

No module named gconf

Using file config backend

Traceback (most recent call last):

  File "/usr/bin/blueman-applet", line 364, in <module>

    BluemanApplet()

  File "/usr/bin/blueman-applet", line 297, in __init__

    check_single_instance("blueman-applet")

  File "/usr/lib/python2.6/site-packages/blueman/Functions.py", line 270, in check_single_instance

    pid = int(f.readline())

ValueError: invalid literal for int() with base 10: ''

Blueman ran fine on other users accounts so it seemed to be something peculiar to my account.

Anyhow to cut a long story short I eventually discovered that blueman creates a file in /tmp called “blueman-applet-uid” so in my case the file named “blueman-applet-1000”, this file was zero size whereas for other users “blueman-applet-0 and blueman-applet-1001” were 6 or 7 bytes in length. Could this be the issue?.....well as it happens yes. Simply deleting this zero length file and logging in again the blueman springs into life for user 1000. This issue is repeatable by simply deleting the files contents prior to starting blueman-applet. I'm not sure if the “blueman-applet-uid” file is in /tmp in all distributions so you may need to perform a file search to find it.

To be fair to blueman devs I believe the zero length file mentioned above was a result of a hard system lock, the result of a bad wifi driver, but in my opinion blueman should be able to handle this situation.
Hopefully this information will help users seeing similar issues and the devs to make blueman more robust.