Regression with Blizzard patching software

Robert Shearman R.J.Shearman at warwick.ac.uk
Thu May 20 18:18:54 CDT 2004


Aneurin Price wrote
>
> I recently discovered that the software used by Blizzard to patch Diablo
> 2 and Warcraft 3 (and possibly the same version used with other games),
> has stopped working. It starts do do something, but before actually
> applying the patch it crashes out, with the final error message being:
>
> Unhandled exception: page fault on write access to 0x00000000 in 32-bit
> code (0x408ba2e0).
> In 32-bit mode.
> 0x408ba2e0 (DIALOG_CreateIndirect+0x300 [dialog.c:636] in USER32.DLL):
> movl    $0x0,0x0(%eax)
> 139             return TRUE;
> Wine-dbg>WineDbg terminated on pid a
>
> The whole of the scrollback buffer is filled with the usual messages
> about loading debug information. I could run it with script to see
> what's happening before that, but I don't think it's really necessary:
> Since this *used* to work, I've gone through some CVS regression testing
> and determined that it stopped working sometime between 2004-04-19
> 22:00:00 and 2004-04-19 22:03:00 CST, so I'm willing to bet that this is
> what changed: http://www.winehq.org/hypermail/wine-cvs/2004/04/0272.html
> Since I have no understanding of what's going on here I really coudn't
> suggest a fix, but I'm happy to provide any further information I can
> and thought this would be worth pointing out.
> Aneurin Price
>

I must compliment you on excellent debugging. It is rare that we get a debug
report as good as this, with a specific path that broke something!
I believe the correct fix is to change DEFDLG_InitDlgInfo (defdlg.c) to not
be static and then to call it instead of DIALOG_get_info on line 636 of
dialog.c
I don't have much time at the moment, so could someone check this is right
and if so submit a patch?
One thing that I don't understand is why the default dialog window proc
isn't getting called at all, unless the app is using an ugly hack for some
reason, like hooks. Perhaps more debugging is needed in DEFDLG_InitDlgInfo?

Rob





More information about the wine-devel mailing list