https://bugs.winehq.org/show_bug.cgi?id=53456
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW
--- Comment #3 from François Gouget fgouget@codeweavers.com --- I believe I identified a new variant. First the original issue seems to always happen in the dbg,attach,process,event,detach test. So a more complete trace is:
debugger.c:610: running dbg,attach,process,event,detach... debugger.c:621: waiting for child exit... debugger.c:198: child: crashing... debugger.c:659: waiting for the debugger... debugger.c:155: Test failed: unable to open 'C:\Users\winetest\AppData\Local\Temp\wt681E.tmp' debugger.c:155: Test failed: failed to open: C:\Users\winetest\AppData\Local\Temp\wt681E.tmp debugger.c:676: Test failed: the child and debugged pids don't match: 8052 != 8236
The new variant happens in the same test but corresponds to a case where the blackbox file is... almost empty?
debugger.c:631: running dbg,attach,process,event,detach... debugger.c:642: waiting for child exit... debugger.c:205: child: crashing... debugger.c:680: waiting for the debugger... debugger.c:168: Test failed: wrong size for 'C:\Users\winetest\AppData\Local\Temp\wt5B67.tmp': read=0 debugger.c:173: debugger traces:>>>
<<< Done. debugger.c:697: Test failed: the child and debugged pids don't match: 3388 != 3508
So the first ReadFile() call in load_blackbox() returns 0 but the second one returns a single byte (0x06) for the debugger traces. This corresponds to the expected blackbox.argc value. Race condition?
Also the pid mismatch failure message looks like the blackbox file contained a 8236 pid. However when load_blackbox() fails, in either case, the content of the blackbox structure is uninitialized. Maybe it would be clearer to do a memset(0).
There are 3 known instances of this variant so far: * 2023-02-21 on w1064v1507 32-bit * 2023-03-13 on w10pro64-hi 64-bit * 2023-03-21 on w10pro64-pt-BR 64-bit