On Jul 25, 2013, at 2:11 PM, Qian Hong wrote:
On Fri, Jul 26, 2013 at 2:52 AM, Ken Thomases ken@codeweavers.com wrote:
I think your Valgrind results are telling us that there's a bug in the game where it's using an uninitialized stack variable.
There's still a chance that it's something in Wine that's using the uninitialized variable and passing a garbage value to the game, causing it to crash. I'm not sure if Valgrind would attribute that to Wine for copying the uninitialized variable's value or to the game for using what Wine gave it. I _think_ Valgrind would blame Wine in that case. Since it's blaming the game, I lean toward the bug being in the game.
There may not be any solution other than reporting the issue to the game developer.
Hmm, thanks a lot for the great analysis :) I've just sent a message to someone in the game company, not sure if they care :)
I suppose another possibility is that Wine is returning a value to the game which is causing it to take a code path it never takes on Windows and it's only this code path which results in the game reading the uninitialized variable. In that case, there's still a game bug, but we may be able to work around it by changing Wine.
It's going to be really hard to figure out, though, without cooperation from the game developers.
-Ken