View Issue Details

IDProjectCategoryView StatusLast Update
0001921SOGo Native Outlook Compatibility (obsolete)public2012-08-15 19:02
Reporterludovic Assigned Towsourdeau 
PriorityurgentSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Target Version2.0.0 
Summary0001921: renaming a mail folder from Outlook crashes samba4
Description

2012-08-08 10:48:42.435 samba[2294] METHOD '+[MAPIStoreContext openContext:withURI:connectionInfo:andTDBIndexing:]' (226) -- uri: 'sogo2:sogo2@mail/folderzot_SP_12345/'
[SOGo: sogo_context_get_root_folder:301]
Aug 08 10:48:42 samba [2294]: <MAPIStoreMailFolder:0x2c3cdf0:(null)> -init
Ignored attempt to set handled property 65e10102
Ignored attempt to set handled property 65e00102
Ignored attempt to set handled property 30080040
Ignored attempt to set handled property 30070040
[SOGo: sogo_properties_set_properties:1318]
/usr/local/samba/sbin/samba: Uncaught exception MAPIStoreIOException, reason: renaming a mail folder via OpenChange is currently a bad idea
mapiproxy::mapiproxy_op_unbind
dcesrv_exchange_nsp_unbind
dcesrv_exchange_emsmdb_unbind
mapiproxy::mapiproxy_op_unbind
dcesrv_exchange_nsp_unbind
dcesrv_exchange_emsmdb_unbind
[Inferior 1 (process 2294) exited with code 01]
(gdb)

TagsNo tags attached.

Relationships

related to 0001922 closed Missing implementation for RopCopyFolder and RopMoveFolder 

Activities

ludovic

ludovic

2012-08-08 18:24

administrator   ~0004302

Here are two stack traces when renaming a mail folder (non-cached and cached Outlook 2003):

#0 -[MAPIStoreMailFolder addProperties:] (self=0xd43bc0, _cmd=0x7fffd05ab920, newProperties=0x1712000) at MAPIStoreMailFolder.m:125
0000001 0x00007fffd030f194 in -[MAPIStoreObject addPropertiesFromRow:] (self=0xd43bc0, _cmd=0x7fffdbaa2580, aRow=0x7fffffffd6d0) at MAPIStoreObject.m:281
0000002 0x00007fffdb89f1b2 in sogo_properties_set_properties (object=0x106d5d0, aRow=0x7fffffffd6d0) at MAPIStoreSOGo.m:1326
0000003 0x00007fffdc6d3daf in mapistore_backend_properties_set_properties (bctx=0x9e5120, object=0x106d5d0, aRow=0x7fffffffd6d0) at mapiproxy/libmapistore/mapistore_backend.c:739
0000004 0x00007fffdc6ceb4d in mapistore_properties_set_properties (mstore_ctx=0xf62540, context_id=6, object=0x106d5d0, aRow=0x7fffffffd6d0)
at mapiproxy/libmapistore/mapistore_interface.c:1699
0000005 0x00007fffdcc19779 in emsmdbp_object_set_properties (emsmdbp_ctx=0x1847d60, object=0x11010a0, rowp=0x7fffffffd6d0) at mapiproxy/servers/default/emsmdb/emsmdbp_object.c:2596
0000006 0x00007fffdcc1f031 in EcDoRpc_RopSetProperties (mem_ctx=0x1f23480, emsmdbp_ctx=0x1847d60, mapi_req=0x30eb230, mapi_repl=0x30930b0, handles=0x258e4b0, size=0x7fffffffd78c)
at mapiproxy/servers/default/emsmdb/oxcprpt.c:449
0000007 0x00007fffdcc0df38 in EcDoRpc_process_transaction (mem_ctx=0x1f23480, emsmdbp_ctx=0x1847d60, mapi_request=0x2518390)
at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:742
0000008 0x00007fffdcc10fd6 in dcesrv_EcDoRpcExt2 (dce_call=0x1f23480, mem_ctx=0x1f23480, r=0x276e890) at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:1743
0000009 0x00007fffdcc114b8 in dcesrv_exchange_emsmdb_dispatch (dce_call=0x1f23480, mem_ctx=0x1f23480, r=0x276e890, mapiproxy=0x7fffffffd950)
at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:1904
0000010 0x00007fffddc78f71 in mapiproxy_server_dispatch (dce_call=0x1f23480, mem_ctx=0x1f23480, r=0x276e890, mapiproxy=0x7fffffffd950)
at mapiproxy/libmapiproxy/dcesrv_mapiproxy_server.c:57
0000011 0x00007fffddeae8b7 in mapiproxy_op_dispatch (dce_call=0x1f23480, mem_ctx=0x1f23480, r=0x276e890) at mapiproxy/dcesrv_mapiproxy.c:497
0000012 0x00007fffe9d2a89b in dcesrv_request () from /usr/local/samba/lib/libdcerpc-server.so.0
0000013 0x00007fffe9d2ae06 in dcesrv_process_ncacn_packet () from /usr/local/samba/lib/libdcerpc-server.so.0
0000014 0x00007fffe9d2bdb4 in dcesrv_read_fragment_done () from /usr/local/samba/lib/libdcerpc-server.so.0
0000015 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000016 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000017 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000018 0x00007ffff42ad121 in dcerpc_read_ncacn_packet_done () from /usr/local/samba/lib/libdcerpc-binding.so.0
0000019 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000020 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000021 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000022 0x00007ffff1419eab in tstream_readv_pdu_ask_for_next_vector () from /usr/local/samba/lib/private/libsamba-sockets.so
0000023 0x00007ffff141a098 in tstream_readv_pdu_readv_done () from /usr/local/samba/lib/private/libsamba-sockets.so
0000024 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000025 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000026 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000027 0x00007ffff1419415 in tstream_readv_done () from /usr/local/samba/lib/private/libsamba-sockets.so
0000028 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000029 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000030 0x00007ffff647681b in tevent_req_trigger () from /usr/local/samba/lib/private/libtevent.so.0
0000031 0x00007ffff6475c30 in tevent_common_loop_immediate () from /usr/local/samba/lib/private/libtevent.so.0
0000032 0x00007ffff6479c58 in std_event_loop_once () from /usr/local/samba/lib/private/libtevent.so.0
0000033 0x00007ffff6474d85 in _tevent_loop_once () from /usr/local/samba/lib/private/libtevent.so.0
0000034 0x00007ffff6474faa in tevent_common_loop_wait () from /usr/local/samba/lib/private/libtevent.so.0
0000035 0x00007ffff6475075 in _tevent_loop_wait () from /usr/local/samba/lib/private/libtevent.so.0
0000036 0x000000000040b2ef in binary_smbd_main ()
0000037 0x000000000040b335 in main ()

(gdb) bt
#0 -[MAPIStoreMailFolder addProperties:] (self=0x18e36e0, _cmd=0x7fffd05ab920, newProperties=0x2d27e70) at MAPIStoreMailFolder.m:125
0000001 0x00007fffd030f194 in -[MAPIStoreObject addPropertiesFromRow:] (self=0x18e36e0, _cmd=0x7fffdbaa2580, aRow=0x7fffffffd670) at MAPIStoreObject.m:281
0000002 0x00007fffdb89f1b2 in sogo_properties_set_properties (object=0x1e03040, aRow=0x7fffffffd670) at MAPIStoreSOGo.m:1326
0000003 0x00007fffdc6d3daf in mapistore_backend_properties_set_properties (bctx=0xb01e30, object=0x1e03040, aRow=0x7fffffffd670) at mapiproxy/libmapistore/mapistore_backend.c:739
0000004 0x00007fffdc6ceb4d in mapistore_properties_set_properties (mstore_ctx=0x29336d0, context_id=2, object=0x1e03040, aRow=0x7fffffffd670)
at mapiproxy/libmapistore/mapistore_interface.c:1699
0000005 0x00007fffdcc19779 in emsmdbp_object_set_properties (emsmdbp_ctx=0xd4f060, object=0x15935e0, rowp=0x7fffffffd670) at mapiproxy/servers/default/emsmdb/emsmdbp_object.c:2596
0000006 0x00007fffdcc2adfd in EcDoRpc_RopSyncImportHierarchyChange (mem_ctx=0x2a09a40, emsmdbp_ctx=0xd4f060, mapi_req=0x3543be0, mapi_repl=0x3573df0, handles=0x29188c0,
size=0x7fffffffd78c) at mapiproxy/servers/default/emsmdb/oxcfxics.c:1931
0000007 0x00007fffdcc0f410 in EcDoRpc_process_transaction (mem_ctx=0x2a09a40, emsmdbp_ctx=0xd4f060, mapi_request=0x1cbbf90)
at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:1128
0000008 0x00007fffdcc10fd6 in dcesrv_EcDoRpcExt2 (dce_call=0x2a09a40, mem_ctx=0x2a09a40, r=0xd26f50) at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:1743
0000009 0x00007fffdcc114b8 in dcesrv_exchange_emsmdb_dispatch (dce_call=0x2a09a40, mem_ctx=0x2a09a40, r=0xd26f50, mapiproxy=0x7fffffffd950)
at mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.c:1904
0000010 0x00007fffddc78f71 in mapiproxy_server_dispatch (dce_call=0x2a09a40, mem_ctx=0x2a09a40, r=0xd26f50, mapiproxy=0x7fffffffd950)
at mapiproxy/libmapiproxy/dcesrv_mapiproxy_server.c:57
0000011 0x00007fffddeae8b7 in mapiproxy_op_dispatch (dce_call=0x2a09a40, mem_ctx=0x2a09a40, r=0xd26f50) at mapiproxy/dcesrv_mapiproxy.c:497
0000012 0x00007fffe9d2a89b in dcesrv_request () from /usr/local/samba/lib/libdcerpc-server.so.0
0000013 0x00007fffe9d2ae06 in dcesrv_process_ncacn_packet () from /usr/local/samba/lib/libdcerpc-server.so.0
0000014 0x00007fffe9d2bdb4 in dcesrv_read_fragment_done () from /usr/local/samba/lib/libdcerpc-server.so.0
0000015 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000016 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000017 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000018 0x00007ffff42ad121 in dcerpc_read_ncacn_packet_done () from /usr/local/samba/lib/libdcerpc-binding.so.0
0000019 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000020 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000021 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000022 0x00007ffff1419eab in tstream_readv_pdu_ask_for_next_vector () from /usr/local/samba/lib/private/libsamba-sockets.so
0000023 0x00007ffff141a098 in tstream_readv_pdu_readv_done () from /usr/local/samba/lib/private/libsamba-sockets.so
0000024 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000025 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000026 0x00007ffff6476724 in _tevent_req_done () from /usr/local/samba/lib/private/libtevent.so.0
0000027 0x00007ffff1419415 in tstream_readv_done () from /usr/local/samba/lib/private/libsamba-sockets.so
0000028 0x00007ffff64766cb in _tevent_req_notify_callback () from /usr/local/samba/lib/private/libtevent.so.0
0000029 0x00007ffff64766fd in tevent_req_finish () from /usr/local/samba/lib/private/libtevent.so.0
0000030 0x00007ffff647681b in tevent_req_trigger () from /usr/local/samba/lib/private/libtevent.so.0
0000031 0x00007ffff6475c30 in tevent_common_loop_immediate () from /usr/local/samba/lib/private/libtevent.so.0
0000032 0x00007ffff6479c58 in std_event_loop_once () from /usr/local/samba/lib/private/libtevent.so.0
0000033 0x00007ffff6474d85 in _tevent_loop_once () from /usr/local/samba/lib/private/libtevent.so.0
0000034 0x00007ffff6474faa in tevent_common_loop_wait () from /usr/local/samba/lib/private/libtevent.so.0
0000035 0x00007ffff6475075 in _tevent_loop_wait () from /usr/local/samba/lib/private/libtevent.so.0
0000036 0x000000000040b2ef in binary_smbd_main ()
0000037 0x000000000040b335 in main ()
(gdb)

The idea here would be to update indexing.tdb when we see a folder name change for IMAP folders. The "parent ID" might also change if we move for example "foo/bar/zot" ("zot") to zut/ (so we have "zut/zot").

In this case, we also have to update openchange.ldb.

oooo1

oooo1

2012-08-08 22:28

reporter   ~0004306

I reproduced this issue too.

wsourdeau

wsourdeau

2012-08-15 19:02

viewer   ~0004334

Fixed and implemented properly.

Issue History

Date Modified Username Field Change
2012-08-08 14:53 ludovic New Issue
2012-08-08 14:53 ludovic Target Version => 2.0
2012-08-08 14:53 ludovic Summary renaming a mail folder from Outlook crashes samba4 => renaming a mail folder from Outlook crashes samba4
2012-08-08 18:24 ludovic Note Added: 0004302
2012-08-08 22:28 oooo1 Note Added: 0004306
2012-08-09 19:34 ludovic Relationship added related to 0001922
2012-08-15 19:02 wsourdeau Note Added: 0004334
2012-08-15 19:02 wsourdeau Status new => resolved
2012-08-15 19:02 wsourdeau Resolution open => fixed
2012-08-15 19:02 wsourdeau Assigned To => wsourdeau