Valgrind regression in "rpcrt4: Use abrtitrary pointer identifiers when marshalling pointers instead of using pointer values."?
This Valgrind error popped up for the first time today. To reproduce, make sure you have an up to date valgrind from svn, apply something like http://kegel.com/wine/valgrind/runtest.patch, and do e.g. $ cd dlls/rpcrt4/tests $ RUNTEST_USE_VALGRIND=1 make server.ok Reverting http://source.winehq.org/git/wine.git/?a=commit;h=4bde42aaa20df0492e45a965ce... makes it go away, though I can't for the life of me see how. Rob, can you have a look? Syscall param socketcall.send(msg) points to uninitialised byte(s) at 0x40007F2: (within /lib/ld-2.7.so) by 0x4CEA13A: rpcrt4_conn_write (rpc_binding.h:171) by 0x4CEA006: RPCRT4_SendWithAuth (rpc_message.c:533) by 0x4CEA784: RPCRT4_Send (rpc_message.c:675) by 0x4CED074: process_request_packet (rpc_server.c:313) by 0x4CED34E: RPCRT4_process_packet (rpc_server.c:345) by 0x4CED422: RPCRT4_worker_thread (rpc_server.c:362) by 0x475F8C0: worker_thread_proc (threadpool.c:113) by 0x475D2A1: ??? (thread.c:128) by 0x475D329: call_thread_func (thread.c:383) by 0x475D58D: start_thread (thread.c:443) by 0x41754FA: start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so) by 0x425FE5D: clone (in /lib/tls/i686/cmov/libc-2.7.so) Address 0x7f013870 is 24 bytes inside a block of size 49 alloc'd at 0x472C516: notify_alloc (heap.c:191) by 0x472C3DD: RtlAllocateHeap (heap.c:1231) by 0x4CE9E3C: RPCRT4_SendWithAuth (rpc_message.c:492) by 0x4CEA784: RPCRT4_Send (rpc_message.c:675) by 0x4CED074: process_request_packet (rpc_server.c:313) by 0x4CED34E: RPCRT4_process_packet (rpc_server.c:345) by 0x4CED422: RPCRT4_worker_thread (rpc_server.c:362) by 0x475F8C0: worker_thread_proc (threadpool.c:113) by 0x475D2A1: ??? (thread.c:128) by 0x475D329: call_thread_func (thread.c:383) by 0x475D58D: start_thread (thread.c:443) by 0x41754FA: start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so) by 0x425FE5D: clone (in /lib/tls/i686/cmov/libc-2.7.so) Uninitialised value was created by a stack allocation at 0x496FBFB: IServer_get_filename (server_s.c:4697)
2008/6/22 Dan Kegel <dank(a)kegel.com>:
Syscall param socketcall.send(msg) points to uninitialised byte(s) at 0x40007F2: (within /lib/ld-2.7.so) by 0x4CEA13A: rpcrt4_conn_write (rpc_binding.h:171) by 0x4CEA006: RPCRT4_SendWithAuth (rpc_message.c:533) by 0x4CEA784: RPCRT4_Send (rpc_message.c:675) by 0x4CED074: process_request_packet (rpc_server.c:313) by 0x4CED34E: RPCRT4_process_packet (rpc_server.c:345) by 0x4CED422: RPCRT4_worker_thread (rpc_server.c:362) by 0x475F8C0: worker_thread_proc (threadpool.c:113) by 0x475D2A1: ??? (thread.c:128) by 0x475D329: call_thread_func (thread.c:383) by 0x475D58D: start_thread (thread.c:443) by 0x41754FA: start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so) by 0x425FE5D: clone (in /lib/tls/i686/cmov/libc-2.7.so) Address 0x7f013870 is 24 bytes inside a block of size 49 alloc'd ... Uninitialised value was created by a stack allocation at 0x496FBFB: IServer_get_filename (server_s.c:4697)
I've sent a patch to fix this. Thanks for bringing this to my attention. -- Rob Shearman
participants (2)
-
Dan Kegel -
Rob Shearman