+++ This bug was initially created as a clone of Bug #297785 +++ KDE version 4.10.0 bluedevil version: 1.3 bluez version: 4.101 Steps to reproduce: (1) Enable bluetooth in KDE and pair with a bluetooth device with file transfer capability (2) Send a file using KDE bluetooth stack What happened? Progress bar stuck at 0% and never finish. Remove device does not get prompted for any incoming file transfer. Tested with a Nokia 5800 phone. I tried: $ bluedevil-sendfile -f txt -u /org/bluez/27872/hci0/dev_00_24_7D_65_55_C5 $ bluedevil-sendfile -f txt -k bluetooth://00:24:7D:65:55:C5 with no success, it stalls for 5 or so seconds and then tells me that it finished, but it didn't: bluedevilsendfile(3071) SendFileWizard::SendFileWizard: DeviceUbi: "bluetooth://00:24:7D:65:55:C5" bluedevilsendfile(3071) SendFileWizard::SendFileWizard: Files bluedevilsendfile(3071) SendFileWizard::SendFileWizard: ("txt") bluedevilsendfile(3071) SendFileWizard::setDevice: BlueDevil::Device(0x97d300) bluedevilsendfile(3071) SendFileWizard::setFiles: ("txt") bluedevilsendfile(3071) SendFilesJob::SendFilesJob: Adding size : 0 bluedevilsendfile(3071) KSharedUiServerProxy::KSharedUiServerProxy: kuiserver registered bluedevilsendfile(3071) SendFilesJob::doStart: bluedevilsendfile(3071) SendFilesJob::sendFileResult: Error: bluedevilsendfile(3071) SendFilesJob::sendFileResult: "org.freedesktop.DBus.Error.NoReply" bluedevilsendfile(3071) SendFilesJob::sendFileResult: "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." /var/log/messages says this after the delay: dbus[619]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.291" (uid=0 pid=2440 comm="/usr/sbin/bluetoothd -n ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.311" (uid=500 pid=3046 comm="/usr/lib64/obex/obex-client ") dbus[619]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.291" (uid=0 pid=2440 comm="/usr/sbin/bluetoothd -n ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.311" (uid=500 pid=3046 comm="/usr/lib64/obex/obex-client ") Gnome works: bluetooth-sendto --device=00:24:7D:65:55:C5 txt $ rpm -q `rpmqpack |grep -E 'kde|blue|obex'|sort` bluedevil-1.3-2.1.2.x86_64 bluedevil-lang-1.3-2.1.2.noarch bluez-4.101-7.2.1.x86_64 bluez-devel-4.101-7.2.1.x86_64 bluez-hcidump-2.5-2.1.1.x86_64 bundle-lang-kde-cs-12.3-3.4.3.noarch flash-player-kde4-11.2.202.273-2.8.1.x86_64 gnome-bluetooth-3.6.1-3.1.2.x86_64 kdeartwork4-wallpapers-4.10.0-1.1.1.noarch kdeartwork4-wallpapers-weather-4.10.0-1.1.1.noarch kdebase4-artwork-4.10.0-1.1.1.noarch kdebase4-libkonq-4.10.0-1.1.1.x86_64 kdebase4-openSUSE-12.3-10.8.7.x86_64 kdebase4-runtime-4.10.0-1.1.2.x86_64 kdebase4-runtime-branding-openSUSE-12.3-10.8.7.x86_64 kdebase4-session-4.10.0-1.1.1.noarch kdebase4-wallpapers-4.10.0-1.2.1.noarch kdebase4-workspace-4.10.0-1.8.1.x86_64 kdebase4-workspace-branding-openSUSE-12.3-10.8.7.x86_64 kdebase4-workspace-ksysguardd-4.10.0-1.8.1.x86_64 kdebase4-workspace-liboxygenstyle-4.10.0-1.8.1.x86_64 kdebase4-workspace-plasma-calendar-4.10.0-1.8.1.x86_64 kde-gtk-config-2.1.1-4.1.1.x86_64 kdelibs3-3.5.10-67.3.1.x86_64 kdelibs3-default-style-3.5.10-67.3.1.x86_64 kdelibs4-4.10.0-1.2.1.x86_64 kdelibs4-branding-openSUSE-12.3-6.7.5.noarch kdelibs4-core-4.10.0-1.2.1.x86_64 kdenlive-0.9.4-2.8.x86_64 kdepimlibs4-4.10.0-1.2.1.x86_64 kdepim4-runtime-4.10.0-1.1.1.x86_64 kde-susetranslations-12.1-16.1.1.noarch kde4-filesystem-4.10.0-1.1.1.x86_64 kde4-kgreeter-plugins-4.10.0-1.8.1.x86_64 kde4-l10n-cs-4.10.0-1.1.1.noarch kde4-l10n-en_GB-data-4.10.0-1.1.1.noarch kde4-l10n-en_GB-doc-4.10.0-1.1.1.noarch libbluedevil1-1.9.2-4.1.1.x86_64 libbluetooth3-4.101-7.2.1.x86_64 libgnome-bluetooth11-3.6.1-3.1.2.x86_64 libkdecore4-4.10.0-1.2.1.x86_64 libkdepimlibs4-4.10.0-1.2.1.x86_64 libkde4-4.10.0-1.2.1.x86_64 liblockdev1-1.0.3_git201003141408-22.1.1.x86_64 liblockdev1-32bit-1.0.3_git201003141408-22.1.1.x86_64 libopenobex1-1.5-16.1.1.x86_64 libproxy1-config-kde4-0.4.11-2.1.1.x86_64 lockdev-1.0.3_git201003141408-22.1.1.x86_64 mozilla-kde4-integration-0.6.4-36.1.x86_64 NetworkManager-kde4-libs-0.9.0.7-1.1.1.x86_64 NetworkManager-openvpn-kde4-0.9.0.7-1.1.1.x86_64 NetworkManager-pptp-kde4-0.9.0.7-1.1.1.x86_64 obexd-0.45-6.1.2.x86_64 obex-data-server-0.4.6-8.1.1.x86_64 obexd-client-0.45-6.1.2.x86_64 obexftp-0.23-16.1.1.x86_64 openobex-apps-1.5-16.1.1.x86_64 polkit-kde-agent-1-0.99.0-15.1.1.x86_64 polkit-kde-kcmmodules-1-0.98.1+git20110929-5.1.1.x86_64 pulseaudio-module-bluetooth-3.0-1.1.1.x86_64 python-kdebase4-4.10.0-1.8.1.x86_64 python-kde4-4.10.0-1.2.1.x86_64 tomahawk-kde-0.6.0-2.2.2.x86_64
Hmm, the dbus call is wrong: method call sender=:1.200 -> dest=org.openobex.client serial=26 path=/; interface=org.openobex.Client; member=SendFiles array [ dict entry( string "Destination" variant string "" ) ] array [ string "/home/xslaby/txt" ] object path "/BlueDevil_sendAgent" as opposed to gnome's: method call sender=:1.203 -> dest=:1.185 serial=11 path=/; interface=org.openobex.Client; member=SendFiles array [ dict entry( string "Destination" variant string "00:24:7D:65:55:C5" ) ] array [ string "/home/xslaby/txt" ] object path "/org/bluez/agent/sendto"
Will try to fix before this weekend release.
I have been trying to reproduce this with no luck so far, is this 100% reproducible for you? Are you able to apply some patches so we can get more debug info?
(In reply to comment #3) > I have been trying to reproduce this with no luck so far, is this 100% > reproducible for you? Yeah. > Are you able to apply some patches so we can get more debug info? Sure.
Pushed some changes to bluedevil master, can you try again?
Setting it as needsinfo
Still no cookies with libbluedevil 1.9.3 and bluedvil 1.3.1: method call sender=:1.97 -> dest=org.openobex.client serial=26 path=/; interface=org.openobex.Client; member=SendFiles array [ dict entry( string "Destination" variant string "00:24:7D:65:55:C5" ) ] array [ string "txt" ] object path "/BlueDevil_sendAgent" gnome's sendto: method call sender=:1.95 -> dest=:1.76 serial=11 path=/; interface=org.openobex.Client; member=SendFiles array [ dict entry( string "Destination" variant string "00:24:7D:65:55:C5" ) ] array [ string "/home/xslaby/txt" ] object path "/org/bluez/agent/sendto" Note that you should pass an absolute path to openobex from bluedevil. But even if I try /home/xslaby/txt, the file is not delivered: $ bluedevil-sendfile -f /home/xslaby/txt -k bluetooth://00:24:7D:65:55:C5 bluedevilsendfile(13127) SendFileWizard::SendFileWizard: DeviceUbi: "bluetooth://00:24:7D:65:55:C5" bluedevilsendfile(13127) SendFileWizard::SendFileWizard: Files bluedevilsendfile(13127) SendFileWizard::SendFileWizard: ("/home/xslaby/txt") bluedevilsendfile(13127) SendFileWizard::SendFileWizard: DeviceUbi: "bluetooth://00:24:7D:65:55:C5" bluedevilsendfile(13127) SendFileWizard::SendFileWizard: Files bluedevilsendfile(13127) SendFileWizard::SendFileWizard: ("/home/xslaby/txt") bluedevilsendfile(13127) SendFileWizard::setDevice: "bluetooth://00:24:7D:65:55:C5" bluedevilsendfile(13127) SendFileWizard::setFiles: ("/home/xslaby/txt") bluedevilsendfile(13127) SendFilesJob::SendFilesJob: Adding size : 5 bluedevilsendfile(13127) KSharedUiServerProxy::KSharedUiServerProxy: kuiserver registered bluedevilsendfile(13127) SendFilesJob::doStart: bluedevilsendfile(13127) SendFilesJob::sendFileResult: Error: bluedevilsendfile(13127) SendFilesJob::sendFileResult: "org.freedesktop.DBus.Error.NoReply" bluedevilsendfile(13127) SendFilesJob::sendFileResult: "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."
I played with that a bit more. Sometimes, it works for a couple of times after I restart bluetoothd. Bluetooth might get into a bad state somehow or something...
(In reply to comment #8) > I played with that a bit more. Sometimes, it works for a couple of times > after I restart bluetoothd. Bluetooth might get into a bad state somehow or > something... I dag into that a bit more. It works until this is emitted by bluetoothd: src/agent.c:agent_confirm_mode_change() Calling Agent.ConfirmModeChange: name=:1.14, path=/blueDevil_agent, mode=discoverable This happens when I try to send a file after some idle time. When this occurs, the file is not sent and bluedevil times out. Perhaps you do not service that signal while sending a file?
Created attachment 78917 [details] patch Perhaps this one :)?
(In reply to comment #10) > Perhaps this one :)? It's correct, but nobody tested that path obviously. It still doesn't work. Maybe a single process is used for both this confirmation and send-file events?
You are completely right ! <facepalm> None of the developers ever had to use bluedevil-confirmmodechange :/ Going to push your patch and make a release asap. Does your patch fix this issue? > (In reply to comment #10) > > Perhaps this one :)? > > It's correct, but nobody tested that path obviously. It still doesn't work. > > Maybe a single process is used for both this confirmation and send-file > events?
Oh, and sorry for the late deply :/
Git commit c59a99f425075277a4836b2ec8b0a410c67b69d6 by Àlex Fiestas. Committed on 20/01/2014 at 02:20. Pushed by afiestas into branch '1.3'. Call the correct binary M +1 -1 src/daemon/kded/bluezagent.cpp http://commits.kde.org/bluedevil/c59a99f425075277a4836b2ec8b0a410c67b69d6
So, this should be fixed in 1.3.3.