Workstation K 10.3 x86_64 Шаги воспроизведения: 1. Подключить телефон по bluetooth к ноутбуку 2. Выполнить передачу с телефона на ноутбук Реальный результат: Файл передается успешно. В сервисе bluetooth выводится ошибка: scr/profile.c:ext_io_disconnected() Unable to get io data for Object Push:getpeername: Transport endpoint is not connected (107) Ожидаемый результат: Успешная передача файла. Ошибки отсутствуют
Ошибка также воспроизводится на ноутбуке Honor MagicBook X 16 Pro
(In reply to Монастырский Илья from comment #1) > Ошибка также воспроизводится на ноутбуке Honor MagicBook X 16 Pro У меня нет такого ноутбука и p10 поэтому не очень понимаю, почему багу перевесили на меня.
@zerg, кто будет исправлять в таком случае?
На Сизифе воспроизводится?
Версия пакета: bluez-5.75-alt1 Стенд: Workstation K 10.3 x86_64 (Обновлён до Sisyphus) Ошибка воспроизводится Ошибка также воспроизводится на всех тестовых ноутбуках
(In reply to Монастырский Илья from comment #0) > Workstation K 10.3 x86_64 > > Шаги воспроизведения: > 1. Подключить телефон по bluetooth к ноутбуку > 2. Выполнить передачу с телефона на ноутбук > > Реальный результат: > Файл передается успешно. В сервисе bluetooth выводится ошибка: > scr/profile.c:ext_io_disconnected() Unable to get io data for Object > Push:getpeername: Transport endpoint is not connected (107) > > Ожидаемый результат: > Успешная передача файла. Ошибки отсутствуют Если посмотреть код bluez в этом месте то это поведение там уже почти как 5 лет: commit 39b9e120eb6e85f18e67679b4c3fe2823ba4c92d Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Date: Tue Jul 7 13:31:44 2015 +0300 core/profiles: Fix not handling disconnections properly If a profiles disconnects while in connecting state but ext_connect has already been called the state is never updated since ext_io_disconnected always calls btd_service_disconnecting_complete. diff --git a/src/profile.c b/src/profile.c index 4e68afc2a..4b7302630 100644 --- a/src/profile.c +++ b/src/profile.c @@ -797,8 +797,13 @@ static gboolean ext_io_disconnected(GIOChannel *io, GIOCondition cond, DBG("%s disconnected from %s", ext->name, addr); drop: - if (conn->service) - btd_service_disconnecting_complete(conn->service, 0); + if (conn->service) { + if (btd_service_get_state(conn->service) == + BTD_SERVICE_STATE_CONNECTING) + btd_service_connecting_complete(conn->service, -EIO); + else + btd_service_disconnecting_complete(conn->service, 0); + } ext->conns = g_slist_remove(ext->conns, conn); ext_io_destroy(conn); Я проверил это поведение на своей конфигурации (gnome 46 + bluez-5.75-alt1 и ядро 6.6.30) в логах такое же сообщение, но на работу по передаче файлов в gnome это никак не влияет: mei 24 12:38:49 lks.home dbus-daemon[1876]: [session uid=500 pid=1876] Activating via systemd: service name='org.bluez.obex' unit='dbus-org.bluez.obex.service' requested by ':1.95' (uid=500 pid=2893 comm="/usr/bin/gnome-control-center") mei 24 12:38:49 lks.home systemd[1858]: Starting obex.service - Bluetooth OBEX service... mei 24 12:38:49 lks.home obexd[3059]: OBEX daemon 5.75 mei 24 12:38:49 lks.home dbus-daemon[1876]: [session uid=500 pid=1876] Successfully activated service 'org.bluez.obex' mei 24 12:38:49 lks.home systemd[1858]: Started obex.service - Bluetooth OBEX service. ... mei 24 12:41:33 lks.home obexd[3059]: CONNECT(0x0), <unknown>(0xff) mei 24 12:41:33 lks.home obexd[3059]: CONNECT(0x0), <unknown>(0x0) mei 24 12:41:33 lks.home obexd[3059]: PUT(0x2), <unknown>(0xff) mei 24 12:41:33 lks.home obexd[3059]: PUT(0x2), Continue(0x10) mei 24 12:41:43 lks.home obexd[3059]: DISCONNECT(0x1), <unknown>(0xff) mei 24 12:41:43 lks.home obexd[3059]: DISCONNECT(0x1), Success(0x20) mei 24 12:41:43 lks.home obexd[3059]: disconnected: Transport got disconnected mei 24 12:41:43 lks.home bluetoothd[3038]: src/profile.c:ext_io_disconnected() Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107) Т.е. я скорее склонен считать, что это баг в kde обвязке над bluez.
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #6) > (In reply to Монастырский Илья from comment #0) > > Workstation K 10.3 x86_64 > > > > Шаги воспроизведения: > > 1. Подключить телефон по bluetooth к ноутбуку > > 2. Выполнить передачу с телефона на ноутбук > > > > Реальный результат: > > Файл передается успешно. В сервисе bluetooth выводится ошибка: > > scr/profile.c:ext_io_disconnected() Unable to get io data for Object > > Push:getpeername: Transport endpoint is not connected (107) > > > > Ожидаемый результат: > > Успешная передача файла. Ошибки отсутствуют > > Если посмотреть код bluez в этом месте то это поведение там уже почти как 5 > лет: > > commit 39b9e120eb6e85f18e67679b4c3fe2823ba4c92d > Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > Date: Tue Jul 7 13:31:44 2015 +0300 > > core/profiles: Fix not handling disconnections properly > > If a profiles disconnects while in connecting state but ext_connect has > already been called the state is never updated since ext_io_disconnected > always calls btd_service_disconnecting_complete. > > diff --git a/src/profile.c b/src/profile.c > index 4e68afc2a..4b7302630 100644 > --- a/src/profile.c > +++ b/src/profile.c > @@ -797,8 +797,13 @@ static gboolean ext_io_disconnected(GIOChannel *io, > GIOCondition cond, > > DBG("%s disconnected from %s", ext->name, addr); > drop: > - if (conn->service) > - btd_service_disconnecting_complete(conn->service, 0); > + if (conn->service) { > + if (btd_service_get_state(conn->service) == > + BTD_SERVICE_STATE_CONNECTING) > + btd_service_connecting_complete(conn->service, -EIO); > + else > + btd_service_disconnecting_complete(conn->service, 0); > + } > > ext->conns = g_slist_remove(ext->conns, conn); > ext_io_destroy(conn); > > Я проверил это поведение на своей конфигурации (gnome 46 + bluez-5.75-alt1 и > ядро 6.6.30) в логах такое же сообщение, но на работу по передаче файлов в > gnome это никак не влияет: > > mei 24 12:38:49 lks.home dbus-daemon[1876]: [session uid=500 pid=1876] > Activating via systemd: service name='org.bluez.obex' > unit='dbus-org.bluez.obex.service' requested by ':1.95' (uid=500 pid=2893 > comm="/usr/bin/gnome-control-center") > mei 24 12:38:49 lks.home systemd[1858]: Starting obex.service - Bluetooth > OBEX service... > mei 24 12:38:49 lks.home obexd[3059]: OBEX daemon 5.75 > mei 24 12:38:49 lks.home dbus-daemon[1876]: [session uid=500 pid=1876] > Successfully activated service 'org.bluez.obex' > mei 24 12:38:49 lks.home systemd[1858]: Started obex.service - Bluetooth > OBEX service. > ... > mei 24 12:41:33 lks.home obexd[3059]: CONNECT(0x0), <unknown>(0xff) > mei 24 12:41:33 lks.home obexd[3059]: CONNECT(0x0), <unknown>(0x0) > mei 24 12:41:33 lks.home obexd[3059]: PUT(0x2), <unknown>(0xff) > mei 24 12:41:33 lks.home obexd[3059]: PUT(0x2), Continue(0x10) > mei 24 12:41:43 lks.home obexd[3059]: DISCONNECT(0x1), <unknown>(0xff) > mei 24 12:41:43 lks.home obexd[3059]: DISCONNECT(0x1), Success(0x20) > mei 24 12:41:43 lks.home obexd[3059]: disconnected: Transport got > disconnected > mei 24 12:41:43 lks.home bluetoothd[3038]: > src/profile.c:ext_io_disconnected() Unable to get io data for Object Push: > getpeername: Transport endpoint is not connected (107) > > Т.е. я скорее склонен считать, что это баг в kde обвязке над bluez. не почти а уже как 9 лет )
(Ответ для Монастырский Илья на комментарий #0) > Реальный результат: > Файл передается успешно. Значит, всё ок.
(Ответ для Монастырский Илья на комментарий #0) > В сервисе bluetooth выводится ошибка: > scr/profile.c:ext_io_disconnected() Unable to get io data for Object Ошибка или предупреждение?
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #6) > Т.е. я скорее склонен считать, что это баг в kde обвязке над bluez.
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #6) > (gnome 46 + bluez-5.75-alt1 и ядро 6.6.30) > в логах такое же сообщение, но на работу по передаче файлов в > gnome это никак не влияет: > Т.е. я скорее склонен считать, что это баг в kde обвязке над bluez. Нет. В KDE тоже всё ок.