Mantis Bugtracker

Простой вид комментарии ] расширенный вид ] история ] печать ]
Номер Категория Серьезность Воспроизводимость Создан Изменен
0000155 [obex-data-server] OPP большая всегда 2009-01-29 07:27 2009-10-21 20:13
Инициатор Jo Видимость общая  
Ответственный skirsdeda
Приоритет обычный Решение решен  
Состояние закрыт   Версия продукта 0.4.2
Суть 0000155: ODS does not response the cancel request if the opponent is in a suspended state
Подробности Here is my problamatic situation.

I tried to send a file using OPP to other phone. When the request is reached to the remote phone, it went into a suspended mode waiting for a user's determination whether to accept the file. At this moment I cancelled the file transmission via "cancel" dbus call to ODS.

But at this moment the opponent phone seems that it does not send any response to the ODS. Therefore ODS can not perform the cancel procedure cause it does not get to the "ods_obex_writestream". ODS just waits for the non-answering response.

This situation happens when the remote target is a Samsung phone with its secure mode set on.

In short, my question is how to cancel the ongoing request even the opponent does not send a response, i.e., ODS does not get an "OBEX_EV_STREAMEMPTY" signal.

I attach a ODS log below indicating the cancel call timing.

Thanks in advance.
Дополнительные сведения ** Message: LOCK
** Message: event: 8
** Message: obex_writestream
** Message: writestream from File: 9
** Message: event: 8
** Message: obex_writestream
** Message: writestream from File: 9
** Message: event: 0

** (obex-data-server:923): WARNING **: PROGRESS: 8132
** Message: UNLOCK

>> Here ods_session_cancel is called <<

** Message: LOCK

>> But no progress <<
Tэги Нет прикрепленных тэгов.
Вложенные файлы

- Связи
дублирует 0000111закрытskirsdeda calling Method org.openobex.Session.Cancel() fails when org.openobex.Session.SendFile() is sending to Sony Ericsson mobiles 

-  Комментарии
(0000527)
skirsdeda (администратор)
2009-01-29 13:17

This is a known bug. The problem is that when remote device is in suspended state (asks user to accept/reject), it usually does not listen to incoming data. Therefore, even if ods sends ABORT command, remote device does not respond. The only way to fix this is by implementing a timeout system in ods. When Cancel is called, a timeout would start and if remote device does not respond in the specified time frame, ods would just drop connection and emit ErrorOccurred signal with Timeout error.
(0000528)
Jo (инициатор)
2009-01-30 01:48

Haha, exactly the same bug :) I confirmed.
(0000658)
skirsdeda (администратор)
2009-08-22 21:10

should be fixed in svn

- история
Дата изменения Пользователь Поле Изменение
2009-01-29 07:27 Jo Новый вопрос
2009-01-29 13:10 skirsdeda Связь добавлена дублирует 0000111
2009-01-29 13:17 skirsdeda Комментарий добавлен: 0000527
2009-01-30 01:48 Jo Комментарий добавлен: 0000528
2009-08-22 04:46 skirsdeda Состояние новый => назначен
2009-08-22 04:46 skirsdeda Ответственный => skirsdeda
2009-08-22 04:46 skirsdeda Целевая версия => 0.4.5
2009-08-22 21:10 skirsdeda Комментарий добавлен: 0000658
2009-08-22 21:10 skirsdeda Состояние назначен => отработан
2009-08-22 21:10 skirsdeda Решение открыт => решен
2009-08-22 21:43 skirsdeda Решен в версии => 0.4.5
2009-10-21 20:13 skirsdeda Состояние отработан => закрыт


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker