I've just finished regression testing WINE using the instructions at http://winehq.com/site/docs/wine-devel/x1375
One of my favourite applications, the open-source and freeware KeyNote, available at http://www.tranglos.com/free/keynote.html , experienced a regression between WINE 20050211 and 20050310. I've been too lazy to regression test it for a long time, preferring simply to use an older version of wine, but in honour of WINE's pending non-alpha release I went ahead and tested it.
Keynote used to run perfectly under WINE <=20050211, but after 20050310, it doesn't launch: it spits out the error message "Exception EAccessViolation in module kernel32.dll at 0004FF5D. Access violation at address 404DFF5D in module 'kernel32.dll'. Read of address 00000000." and quits. This regression still exists in the latest version of WINE.
I found WINE's ability to run the application was broken between 20050222 10:50:10 CDT and 20050222 10:50:15 CDT. Watching the output of 'cvs update', it seems three files were modified during these five seconds: U dlls/kernel/string.c U dlls/shell32/shell32.spec U include/winbase.h
I don't know which one is the culprit; I'm not a programmer. I just hope I've given you guys enough information to fix it!
Keep WINE alive. It's an awesome utility.
P.S. Is there some sort of list of patches and when they were applied? The regression testing page above doesn't link to one (maybe it should!) and I wasn't able to find one I could check against.
_________________________________________________________________ Don't just Search. Find! http://search.sympatico.msn.ca/default.aspx The new MSN Search! Check it out!
Arren Lex wrote:
I've just finished regression testing WINE using the instructions at http://winehq.com/site/docs/wine-devel/x1375
One of my favourite applications, the open-source and freeware KeyNote, available at http://www.tranglos.com/free/keynote.html , experienced a regression between WINE 20050211 and 20050310. I've been too lazy to regression test it for a long time, preferring simply to use an older version of wine, but in honour of WINE's pending non-alpha release I went ahead and tested it.
Keynote used to run perfectly under WINE <=20050211, but after 20050310, it doesn't launch: it spits out the error message "Exception EAccessViolation in module kernel32.dll at 0004FF5D. Access violation at address 404DFF5D in module 'kernel32.dll'. Read of address 00000000." and quits. This regression still exists in the latest version of WINE.
I found WINE's ability to run the application was broken between 20050222 10:50:10 CDT and 20050222 10:50:15 CDT. Watching the output of 'cvs update', it seems three files were modified during these five seconds: U dlls/kernel/string.c U dlls/shell32/shell32.spec U include/winbase.h
I don't know which one is the culprit; I'm not a programmer. I just hope I've given you guys enough information to fix it!
Keep WINE alive. It's an awesome utility.
P.S. Is there some sort of list of patches and when they were applied? The regression testing page above doesn't link to one (maybe it should!) and I wasn't able to find one I could check against.
Don't just Search. Find! http://search.sympatico.msn.ca/default.aspx The new MSN Search! Check it out!
Go to gmane.comp.emulators.wine.devel.cvs and look at date you have found and you will find this link to the patch. http://cvs.winehq.org/patch.py?id=16245 and the log message Make lstr* functions inline inside Wine.
It would be best to also file a bug and include Regression and patch id. Download keyword url for the application.
A starting point to move things along and narrow down the location of the problem is to with current CVS run
WINEDEBUG=+relay wine pathtoyourapp/app.exe
a 100 or so lines before the exception along with the backtrace should be added to the bug. At that point additional traces may be requested.
Paul
On 10/8/05, Arren Lex arrenlex@msn.com wrote:
I've just finished regression testing WINE using the instructions at http://winehq.com/site/docs/wine-devel/x1375
One of my favourite applications, the open-source and freeware KeyNote, available at http://www.tranglos.com/free/keynote.html , experienced a regression between WINE 20050211 and 20050310. I've been too lazy to regression test it for a long time, preferring simply to use an older version of wine, but in honour of WINE's pending non-alpha release I went ahead and tested it.
Keynote used to run perfectly under WINE <=20050211, but after 20050310, it doesn't launch: it spits out the error message "Exception EAccessViolation in module kernel32.dll at 0004FF5D. Access violation at address 404DFF5D in module 'kernel32.dll'. Read of address 00000000." and quits. This regression still exists in the latest version of WINE.
I found WINE's ability to run the application was broken between 20050222 10:50:10 CDT and 20050222 10:50:15 CDT. Watching the output of 'cvs update', it seems three files were modified during these five seconds: U dlls/kernel/string.c U dlls/shell32/shell32.spec U include/winbase.h
I don't know which one is the culprit; I'm not a programmer. I just hope I've given you guys enough information to fix it!
Keep WINE alive. It's an awesome utility.
P.S. Is there some sort of list of patches and when they were applied? The regression testing page above doesn't link to one (maybe it should!) and I wasn't able to find one I could check against.
The patch that changed these files is:
ChangeSet ID: 16245 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@wine.codeweavers.com 2005/02/22 09:50:14
Modified files: include : winbase.h dlls/shell32 : shell32.spec dlls/kernel : string.c
Log message: Mike McCormack mike@codeweavers.com Make lstr* functions inline inside Wine.
The way I check what patch changed certain files at certain time intervals is cvs.winehq.org/cvsweb/wine and then the path to the file in wine relative to the wine directory.
-- James Hawkins
James Hawkins wrote:
I found WINE's ability to run the application was broken between 20050222 10:50:10 CDT and 20050222 10:50:15 CDT. Watching the output of 'cvs update', it seems three files were modified during these five seconds:
Log message: Mike McCormack mike@codeweavers.com Make lstr* functions inline inside Wine.
This patch means that internally in Wine, there's no exception handlers around the lstr* functions, so passing a invalid pointer to a lstrcpyW (for example) will crash (and so it should).
KeyNote is causing a NULL pointer to be used with one of the lstr* functions in Wine, and this is causing the crash.
I tried installing KeyNote, and it seems to have a richedit problem... it crashes in EM_GETTEXTRANGE around line 1579 in editor.c... making the allocation at line 1573 bigger seems to solve that.
Following that, it fails when trying to create directories:
000b:Call kernel32.CreateDirectoryA(7f0d5740 "C:\Program Files\KeyNote",00000000) ret=0043ab97 000b:Ret kernel32.CreateDirectoryA() retval=00000001 ret=0043ab97 000b:Call kernel32.SetErrorMode(00000001) ret=00422fa1 000b:Ret kernel32.SetErrorMode() retval=00000000 ret=00422fa1 000b:Call kernel32.GetFileAttributesA(7f0e573c "C:\Program Files\KeyNote") ret=00422fca 000b:Ret kernel32.GetFileAttributesA() retval=00000010 ret=00422fca
...
000b:Call kernel32.CreateFileA(7fbcf6f0 "C:\Program Files\KeyNote",c0000000,00000000,00000000,00000002,000 00080,00000000) ret=00404820 000b:Ret kernel32.CreateFileA() retval=ffffffff ret=00404820 000b:Call kernel32.GetLastError() ret=0040485a 000b:Ret kernel32.GetLastError() retval=00000005 ret=0040485a 000b:Call user32.LoadStringA(00400000,0000ff8c,7fbcf250,00000400) ret=0040613e 000b:Ret user32.LoadStringA() retval=00000012 ret=0040613e 000b:Call kernel32.RaiseException(0eedface,00000001,00000007,7fbcf684) ret=0043df7d
Don't know what it's expecting to happen there...
Anyway, if you send me a backtrace of where it's crashing when you try start it up, it should be easy enough to fix...
Mike
Mike McCormack wrote:
I tried installing KeyNote, and it seems to have a richedit problem... it crashes in EM_GETTEXTRANGE around line 1579 in editor.c... making the allocation at line 1573 bigger seems to solve that.
Can you test it with the latest uncommitted patches applied? (particularly, the recent 1.0 emulation "1/3" patch - ME_GetTextW fix - seems to be relevant). The same patch has fixed a similar problem with heap corruption in a different application (Revelation Patch).
Krzysztof
Krzysztof Foltman wrote:
Can you test it with the latest uncommitted patches applied? (particularly, the recent 1.0 emulation "1/3" patch - ME_GetTextW fix - seems to be relevant). The same patch has fixed a similar problem with heap corruption in a different application (Revelation Patch).
Hmm. Still crashes. The download isn't too big...
Mike