Ticket #1208 (new defect)

Opened 2 years ago

syncml plugin hang in disconnect if abort but no error (ie no report of success is made to the framework)

Reported by: prahal Owned by: bellmich
Priority: normal Milestone: Plugin: SyncML 0.40
Component: Plugin: syncml-client Version: 0.39
Severity: normal Keywords:
Cc:

Description

The main sink of syncml-obex-client is not disconnecting properly if no error happens in the abort sequence (ie no report error is send ot the framework but no success either ).

[1265814404.027576]     >>>>>>>  _incoming_dispatch(0x821f158)
[1265814404.030884]             queue->pendingCount = 0, queue->pendingLimit = 5
[1265814404.031032]             Dispatching 0xbb41e70:3(OSYNC_MESSAGE_DISCONNECT), timeout=30, id=1099828542
[1265814404.031163]             >>>>>>>  _osync_client_message_handler(0xbb41e70, 0x8200560)
[1265814404.031291]                     plugin received command 3 (OSYNC_MESSAGE_DISCONNECT)
[1265814404.031427]                     >>>>>>>  _osync_client_handle_disconnect(0x8200560, 0xbb41e70, 0xb4f6b16c)
[1265814404.031560]                             Searching sink for contact
[1265814404.031684]                             >>>>>>>  osync_plugin_info_find_objtype(0x82d8be0, contact)
[1265814404.036223]                             <<<<<<<  osync_plugin_info_find_objtype: 0x82fb4c0
[1265814404.036384]                             >>>>>>>  osync_objtype_sink_disconnect(0x82fb4c0, 0x82d8be0, 0xb2666ea8)
[1265814404.036537]                                     >>>>>>>  osync_context_report_success(0xb2666ea8)
[1265814404.036684]                                             >>>>>>>  _osync_client_disconnect_callback(0xb2666218, (nil))
[1265814404.036835]                                                     Reply id 1099828542
[1265814404.037253]                                                     >>>>>>>  osync_queue_send_message_with_timeout(0x8220548, (nil), 0xb2638c18, 0, 0xb4f6afec)
[1265814404.042807]                                                             >>>>>>>  _osync_queue_remove_pending_reply(0x821f158, 0xb2638c18, 0)
[1265814404.042961]                                                                     Searching for pending message id=1099828542
[1265814404.043101]                                                                     Found pending message id=1099828542: 0xb263a038
[1265814404.043365]                                                             <<<<<<<  _osync_queue_remove_pending_reply
[1265814404.045705]                                                     <<<<<<<  osync_queue_send_message_with_timeout
[1265814404.046006]                                             <<<<<<<  _osync_client_disconnect_callback
[1265814404.046140]                                     <<<<<<<  osync_context_report_success
[1265814404.046275]                             <<<<<<<  osync_objtype_sink_disconnect
[1265814404.046414]                     <<<<<<<  _osync_client_handle_disconnect
[1265814404.046603]             <<<<<<<  _osync_client_message_handler
[1265814404.048235]             Dispatching 0xbb2f398:3(OSYNC_MESSAGE_DISCONNECT), timeout=30000, id=1650890568
[1265814404.048445]             >>>>>>>  _osync_client_message_handler(0xbb2f398, 0x8200560)
[1265814404.048599]                     plugin received command 3 (OSYNC_MESSAGE_DISCONNECT)
[1265814404.048747]                     >>>>>>>  _osync_client_handle_disconnect(0x8200560, 0xbb2f398, 0xb4f6b16c)
[1265814404.048893]                             Searching sink for (null)
[1265814404.050519]                             >>>>>>>  osync_objtype_sink_disconnect(0x82f7370, 0x82d8be0, 0xb26854c8)
[1265814404.050721]                                     >>>>>>>  disconnect(0xb26854c8)
[1265814404.050869]                                             disconnect: abort detected
[1265814404.051037]                                     <<<<<<<  disconnect
[1265814404.051180]                             <<<<<<<  osync_objtype_sink_disconnect
[1265814404.053569]                     <<<<<<<  _osync_client_handle_disconnect
[1265814404.053977]             <<<<<<<  _osync_client_message_handler
[1265814404.054153]     <<<<<<<  _incoming_dispatch: Done dispatching

This patch fixes at least the issue of abort with no error (abort with error should already be working). I do not know if the case where waitfordisconnect is on is handled (I do not yet understand the plugin fully).

Attachments

fix_hang_disconnectingmainsyncmlsink_andabortwithnoerror.diff Download (396 bytes) - added by prahal 2 years ago.
handle user abort with no error on syncml side.

Change History

Changed 2 years ago by prahal

handle user abort with no error on syncml side.

Note: See TracTickets for help on using tickets.