Hi Rob! Could you have a look at these fresh warnings in rpcrt4/tests/server? Thanks...
http://kegel.com/wine/valgrind/logs-2008-07-01/vg-rpcrt4_server-diff.txt
+ Syscall param socketcall.send(msg) points to uninitialised byte(s) + at (within /lib/ld-2.7.so) + by rpcrt4_conn_write (rpc_binding.h:168) + by RPCRT4_SendWithAuth (rpc_message.c:533) + by RPCRT4_Send (rpc_message.c:675) + by I_RpcSend (rpc_message.c:1225) + by I_RpcSendReceive (rpc_message.c:1328) + by NdrSendReceive (ndr_clientserver.c:214) + by square_unencu (server_c.c:2467) + by union_tests (server.c:889) + by run_tests (server.c:1241) + by client (server.c:1260) + by func_server (server.c:1357) + by run_test (test.h:449) + by main (test.h:498) + Address 0x7f01350c is 28 bytes inside a block of size 36 alloc'd + at notify_alloc (heap.c:191) + by RtlAllocateHeap (heap.c:1231) + by RPCRT4_SendWithAuth (rpc_message.c:492) + by RPCRT4_Send (rpc_message.c:675) + by I_RpcSend (rpc_message.c:1225) + by I_RpcSendReceive (rpc_message.c:1328) + by NdrSendReceive (ndr_clientserver.c:214) + by square_unencu (server_c.c:2467) + by union_tests (server.c:889) + by run_tests (server.c:1241) + by client (server.c:1260) + by func_server (server.c:1357) + by run_test (test.h:449) + by main (test.h:498) + Uninitialised value was created by a stack allocation + at square_unencu (server_c.c:2424) ... + Syscall param write(buf) points to uninitialised byte(s) + at (within /lib/ld-2.7.so) + by WriteFile (file.c:559) + by rpcrt4_conn_np_write (rpc_transport.c:404) + by rpcrt4_conn_write (rpc_binding.h:168) + by RPCRT4_SendWithAuth (rpc_message.c:533) + by RPCRT4_Send (rpc_message.c:675) + by I_RpcSend (rpc_message.c:1225) + by I_RpcSendReceive (rpc_message.c:1328) + by NdrSendReceive (ndr_clientserver.c:214) + by square_unencu (server_c.c:2467) + by union_tests (server.c:889) + by run_tests (server.c:1241) + by client (server.c:1275) + by func_server (server.c:1357) + by run_test (test.h:449) + by main (test.h:498) + Address 0x7f013524 is 28 bytes inside a block of size 36 alloc'd + at notify_alloc (heap.c:191) + by RtlAllocateHeap (heap.c:1231) + by RPCRT4_SendWithAuth (rpc_message.c:492) + by RPCRT4_Send (rpc_message.c:675) + by I_RpcSend (rpc_message.c:1225) + by I_RpcSendReceive (rpc_message.c:1328) + by NdrSendReceive (ndr_clientserver.c:214) + by square_unencu (server_c.c:2467) + by union_tests (server.c:889) + by run_tests (server.c:1241) + by client (server.c:1275) + by func_server (server.c:1357) + by run_test (test.h:449) + by main (test.h:498) + Uninitialised value was created by a stack allocation + at square_unencu (server_c.c:2424) ... + 24 bytes in 2 blocks are definitely lost + at malloc (vg_replace_malloc.c:207) + by MIDL_user_allocate (server.c:53) + by s_get_s123 (server.c:538) + by IServer_get_s123 (server_s.c:4545) + by process_request_packet (rpc_server.c:290) + by RPCRT4_process_packet (rpc_server.c:345) + by RPCRT4_worker_thread (rpc_server.c:362) + by worker_thread_proc (threadpool.c:113) + by ??? (thread.c:128) + by call_thread_func (thread.c:383) + by start_thread (thread.c:443) + by start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so) + by clone (in /lib/tls/i686/cmov/libc-2.7.so)
2008/7/2 Dan Kegel dank@kegel.com:
Hi Rob! Could you have a look at these fresh warnings in rpcrt4/tests/server? Thanks...
Hi Dan,
The following warning is caused by the generated code for non-encapsulated unions not setting _StubMsg.MaxCount before calling the relevant phase function. However, looking in detail at this bug brings up a few other issues with the code which need to be fixed.
http://kegel.com/wine/valgrind/logs-2008-07-01/vg-rpcrt4_server-diff.txt
- Syscall param socketcall.send(msg) points to uninitialised byte(s)
...
- by NdrSendReceive (ndr_clientserver.c:214)
- by square_unencu (server_c.c:2467)
- by union_tests (server.c:889)
- by run_tests (server.c:1241)
- by client (server.c:1260)
- by func_server (server.c:1357)
- by run_test (test.h:449)
- by main (test.h:498)
- Address 0x7f01350c is 28 bytes inside a block of size 36 alloc'd
- at notify_alloc (heap.c:191)
...
- by NdrSendReceive (ndr_clientserver.c:214)
- by square_unencu (server_c.c:2467)
- by union_tests (server.c:889)
- by run_tests (server.c:1241)
- by client (server.c:1260)
- by func_server (server.c:1357)
- by run_test (test.h:449)
- by main (test.h:498)
- Uninitialised value was created by a stack allocation
- at square_unencu (server_c.c:2424)
...
- Syscall param write(buf) points to uninitialised byte(s)
- at (within /lib/ld-2.7.so)
- by WriteFile (file.c:559)
...
- by NdrSendReceive (ndr_clientserver.c:214)
- by square_unencu (server_c.c:2467)
- by union_tests (server.c:889)
- by run_tests (server.c:1241)
- by client (server.c:1275)
- by func_server (server.c:1357)
- by run_test (test.h:449)
- by main (test.h:498)
- Address 0x7f013524 is 28 bytes inside a block of size 36 alloc'd
- at notify_alloc (heap.c:191)
...
- by NdrSendReceive (ndr_clientserver.c:214)
- by square_unencu (server_c.c:2467)
- by union_tests (server.c:889)
- by run_tests (server.c:1241)
- by client (server.c:1275)
- by func_server (server.c:1357)
- by run_test (test.h:449)
- by main (test.h:498)
- Uninitialised value was created by a stack allocation
- at square_unencu (server_c.c:2424)
...
The following warning is caused simply by a missing call to _StubMsg.pfnFree in the generated code:
- 24 bytes in 2 blocks are definitely lost
- at malloc (vg_replace_malloc.c:207)
- by MIDL_user_allocate (server.c:53)
- by s_get_s123 (server.c:538)
- by IServer_get_s123 (server_s.c:4545)
- by process_request_packet (rpc_server.c:290)
- by RPCRT4_process_packet (rpc_server.c:345)
- by RPCRT4_worker_thread (rpc_server.c:362)
- by worker_thread_proc (threadpool.c:113)
- by ??? (thread.c:128)
- by call_thread_func (thread.c:383)
- by start_thread (thread.c:443)
- by start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so)
- by clone (in /lib/tls/i686/cmov/libc-2.7.so)