http://bugs.winehq.org/show_bug.cgi?id=19125
Summary: log file corruption on dual-core MacOS Product: Wine Version: 1.1.24 Platform: PC OS/Version: Mac OS X 10.5 Status: UNCONFIRMED Severity: normal Priority: P2 Component: wineserver AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net
Created an attachment (id=22088) --> (http://bugs.winehq.org/attachment.cgi?id=22088) excerpts of +reg traces
The attached log snippet reveals how 2 simultaneous threads (one for font, one for desktop entries) access the registry. This somehow causes buffer contention (maybe a static buffer is used somewhere, instead of a stack-allocated one?) and garbage is printed to the log.
trace:reg:NtEnumerateValueKey (0xe4,95,1,0x74d6bc,256) e 4096, minappaddr 0x10000, maxappaddr 0x7ffeffff, act.cpumask 3, numcpus 2, CPU type 586, allocgran. 65536, CPU level 6, CPU rev 5898 ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@trace:reg:NtCreateKey (0x0,L"Machine\Hardware\Description\System",<null>,0,f003f,0x32fc48)
This snippet might give a clue about where the bogus comes from, as "maxappaddr" normally does not occur in a registry trace. OTOH, it may be random buffer content.
Nothing was traced but WINEDEBUG=+reg in the attached log. It's been produced with "The Westerner" v1.3.
Maybe this buffer reuse is specific to MacOS. OTOH, maybe it's caused by the dual core Intel? I had never seen this before on a single core Ubuntu system.