DieselMachine
2010-Nov-20 19:46 UTC
[Wine] Log entries from different threads are mixed with each other
Hi. I often see something like this happens with the log. Code: 0009:Call ntdll.RtlFreeHeap(00110000,00000000,0015b690) ret=7e0c9926 0009:trace:heap:RtlFreeHeap (0x110000,70000062,0x15b690): r002d:Call ntdl0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e0c9926 0009:trace:file:CreateFileW L"\\\\.\\Global\\oreans32" GENERIC_READ GENERIC_WRITE cr002d:trace:ole:NdrClientC0009:trace:file:RtlDosPathNameToNtPathName_U (L"002d:trace:ole:NDRCContextUnmarshall *0x54e860=0009:trace:file:RtlGetFullPathName_U (002d:trace:rpc:RpcBindingFree (0x11f104) = 0x11f130 0009:trace:heap:RtlAllocateHeap (0x110000,70000062,00000036): returning 0002d:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7ea4a246 My exploration has ended with this comment from /libs/wine/debug.c Code: /* allocate some tmp string space */ /* FIXME: this is not 100% thread-safe */ static char *get_temp_buffer( size_t size ) Is it the reason? And can it be fixed?
vitamin
2010-Nov-21 17:25 UTC
[Wine] Re: Log entries from different threads are mixed with each other
DieselMachine wrote:> Log entries from different threads are mixed with each other. And can it be fixed?No, it can't be fixed. You can get slightly better results when appending log into a file (not just a redirect). But it's still not 100% guaranteed.