Hi,
I would like to use notification on multiple connections (sessions) to
multiple servers, but the RegisterNotification function has only a
parameter ulEventMask, but not the session to which I want run it, so it
chooses some semi-random session from the session pool and registers it
there. It actually only tries to register it, because it crashes to me
when I try with two servers:

Thread 17 (Thread 0xb12f9b70 (LWP 13787)):
#0  0x0064c424 in __kernel_vsyscall ()
#1  0x02d84a81 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x02d8634a in abort () at abort.c:92
#3  0x01805871 in tevent_abort (ev=0x889eba8, reason=0xb5b2f320 
"tevent_loop_once() nesting at librpc/rpc/dcerpc.c:1144") at tevent.c:340
#4  0x01805aba in tevent_abort_nesting (ev=0x889eba8, location=0x180d420 
"librpc/rpc/dcerpc.c:1144") at tevent.c:454
#5  0x01805b14 in _tevent_loop_once (ev=0x889eba8, location=0x180d420 
"librpc/rpc/dcerpc.c:1144") at tevent.c:469
#6  0x01263030 in dcerpc_request_recv (req=0xb5b2f458, mem_ctx=0x8816990, 
stub_data=0xb12f9034) at librpc/rpc/dcerpc.c:1144
#7  0x01263df2 in dcerpc_ndr_request_recv (req=0xb5b2f458) at 
librpc/rpc/dcerpc.c:1459
#8  0x01264181 in dcerpc_ndr_request (p=0x889efa8, object=0x0, table=0x552d100, 
opnum=4, mem_ctx=0x8816990, r=0xb12f9150) at librpc/rpc/dcerpc.c:1544
#9  0x054dd9b4 in dcerpc_EcRRegisterPushNotification (p=<value optimized out>, 
mem_ctx=<value optimized out>, r=<value optimized out>)
    at gen_ndr/ndr_exchange_c.c:1861
#10 0x05455d23 in emsmdb_register_notification (notifkey=<value optimized out>, 
ulEventMask=<value optimized out>) at libmapi/emsmdb.c:486
#11 0x0544b637 in RegisterNotification (ulEventMask=<value optimized out>) at 
libmapi/IMSProvider.c:399

Thread 9 (Thread 0xb26fbb70 (LWP 13772)):
#0  0x0064c424 in __kernel_vsyscall ()
#1  0x02e350b6 in epoll_wait () at ../sysdeps/unix/syscall-template.S:82
#2  0x018066c4 in epoll_event_loop (std_ev=0x8124f70, tvalp=0xb26fac04) at 
tevent_standard.c:264
#3  0x01806f29 in std_event_loop_once (ev=0x889eba8, location=0x180d420 
"librpc/rpc/dcerpc.c:1144") at tevent_standard.c:544
#4  0x01805b9d in _tevent_loop_once (ev=0x889eba8, location=0x180d420 
"librpc/rpc/dcerpc.c:1144") at tevent.c:490
#5  0x01263030 in dcerpc_request_recv (req=0x88a40d0, mem_ctx=0x8620430, 
stub_data=0xb26facd4) at librpc/rpc/dcerpc.c:1144
#6  0x01263df2 in dcerpc_ndr_request_recv (req=0x88a40d0) at 
librpc/rpc/dcerpc.c:1459
#7  0x01264181 in dcerpc_ndr_request (p=0x889efa8, object=0x0, table=0x552d100, 
opnum=2, mem_ctx=0x8620430, r=0xb26fae20) at librpc/rpc/dcerpc.c:1544
#8  0x054ddb94 in dcerpc_EcDoRpc (p=<value optimized out>, mem_ctx=<value 
optimized out>, r=<value optimized out>) at gen_ndr/ndr_exchange_c.c:1801
#9  0x0545630e in emsmdb_transaction (emsmdb_ctx=<value optimized out>, 
mem_ctx=<value optimized out>, req=<value optimized out>, 
    repl=<value optimized out>) at libmapi/emsmdb.c:337
#10 0x0544b34c in Release (obj=<value optimized out>) at libmapi/IUnknown.c:149
#11 0x0545016c in mapi_object_release (obj=<value optimized out>) at 
libmapi/mapi_object.c:99
#12 0x04e36391 in mapi_get_ren_additional_fids (obj_store=0xb5b2b660, 
folder_list=0xb26fafdc) at exchange-mapi-connection.c:2910
#13 0x04e3640c in set_default_folders (obj_store=0xb5b2b660, 
mapi_folders=0xb26fb0d0) at exchange-mapi-connection.c:2922
#14 0x04e36984 in exchange_mapi_connection_get_folders_list (conn=0xb5b2b620 
[ExchangeMapiConnection], mapi_folders=0xb26fb0d0)
    at exchange-mapi-connection.c:3041

I'm not sure whether Thread 9 is related, but these two are the only
which have something to do with openchange.

Please add a 'session' parameter to RegisterNotification function, and
maybe if it can be clever enough and does not crash when called twice on
the same connection, then it'll be great.

        Thanks and bye,
        Milan

P.S.: I cannot register to your Bug tracker (no link for it there), thus
I'm writing here

_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel

Reply via email to