Script editor in Wine

Posted by Shaun Biggs on Mon 09 Apr 2007 06:05 PM — 8 posts, 29,778 views.

USA #0
I'm using Wine-0.9.34 and MUSHclient 4.01. When I try to use the inbuilt notepad to edit scripts, MUSHclient crashes. I'm trying to trace down the error, but so far, I haven't seen anything that would cause a crash, just a few fixmes. Is anyone else having this problem? It works fine if I use Notepad.exe as the editor, and I can either live with that, or I'll just install Textpad or see if I can get Nedit or vim working with MUSHclient.

Also, does anyone think it would be beneficial to have a separate Wine forum section, or is the group using wine small enough to just leave it to general without cluttering up the board?
Australia Forum Administrator #1
I have created a Wine section in the forum and moved a fair few posts from other parts into it.
Australia Forum Administrator #2
Using Wine 20040408 I edited a script successfully with no crash (in the inbuilt editor). MUSHclient version 3.84.
USA #3
Here's everything from my error log file up until the module list from the dump. No clue what half of this means aside from the fact that MUSHclient tried to open the window of the editor and something went horribly wrong.
fixme:win:LockWindowUpdate ((nil)), partial stub!
wine: Unhandled page fault on read access to 0x00000000 at address 0x7eda5394 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7eda5394).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7eda5394 ESP:00339cb4 EBP:00339cfc EFLAGS:00010246(   - 00      -RIZP1)
 EAX:00000000 EBX:7ee25bb4 ECX:ffffffff EDX:00000001
 ESI:001dc948 EDI:00000000
Stack dump:
0x00339cb4:  001dcaa2 fffffffa 7edf5ef0 7ee40ba0
0x00339cc4:  7ee25bb4 0033a018 7edb2dd6 b7f3af80
0x00339cd4:  001266e8 00000020 00000000 7ee25bb4
0x00339ce4:  00000000 001dca8a 00339cfc 7ee25bb4
0x00339cf4:  00000000 001dca8a 00339ddc 7edac794
0x00339d04:  000100c0 00000000 001dca08 ffffffff
Backtrace:
=>1 0x7eda5394 EDIT_LockBuffer+0xb6(es=0x1dc948) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/edit.c:1691] in user32 (0x00339cfc)
  2 0x7edac794 EditWndProc_common+0x99(hwnd=0x100c0, msg=0xbc, wParam=<register EDI not in topmost frame>, lParam=0x0, unicode=0x0) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/edit.c:448] in user32 (0x00339ddc)
  3 0x7edaf450 EditWndProcA+0x23(hWnd=<register EAX not in topmost frame>, uMsg=<register EDX not in topmost frame>, wParam=<register ECX not in topmost frame>, lParam=<register ESI not in topmost frame>) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/edit.c:1076] in user32 (0x00339dfc)
  4 0x7ee0164a WINPROC_wrapper+0x1a() in user32 (0x00339e2c)
  5 0x7ee03553 call_window_proc+0x68(hwnd=<register EDI not in topmost frame>, msg=0xbc, wp=0x1dca8a, lp=0x0, result=0x339e9c, arg=0x7edaf42d) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/winproc.c:452] in user32 (0x00339e6c)
  6 0x7ee05b74 CallWindowProcA+0x57(func=0x7edaf42d, hwnd=0x100c0, msg=0xbc, wParam=<register EDI not in topmost frame>, lParam=<register ESI not in topmost frame>) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/winproc.c:2237] in user32 (0x00339eac)
  7 0x005271ee in mushclient (+0x1271ee) (0x00339ecc)
  8 0x005278a1 in mushclient (+0x1278a1) (0x00339ee8)
  9 0x005267d8 in mushclient (+0x1267d8) (0x00339f48)
  10 0x005269f4 in mushclient (+0x1269f4) (0x00339f68)
  11 0x7ee0164a WINPROC_wrapper+0x1a() in user32 (0x00339f98)
  12 0x7ee03553 call_window_proc+0x68(hwnd=<register EDI not in topmost frame>, msg=0xbc, wp=0x1dca8a, lp=0x0, result=0x33a008, arg=0x5269c0) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/winproc.c:452] in user32 (0x00339fd8)
  13 0x7ee05b74 CallWindowProcA+0x57(func=0x5269c0, hwnd=0x100c0, msg=0xbc, wParam=<register EDI not in topmost frame>, lParam=<register ESI not in topmost frame>) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/winproc.c:2237] in user32 (0x0033a018)
  14 0x7edcf747 call_window_proc+0xe9(hwnd=<register ESI not in topmost frame>, msg=0xbc, wparam=0x1dca8a, lparam=0x0, unicode=0x0, same_thread=0x1) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/message.c:1547] in user32 (0x0033a088)
  15 0x7edd3795 SendMessageTimeoutA+0x1eb(hwnd=<register ESI not in topmost frame>, msg=0xbc, wparam=0x1dca8a, lparam=0x0, flags=<register EAX not in topmost frame>, timeout=0x0, res_ptr=0x33a120) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/message.c:2462] in user32 (0x0033a0e8)
  16 0x7edd3850 SendMessageA+0x50(hwnd=<register EAX not in topmost frame>, msg=<register EAX not in topmost frame>, wparam=<register EAX not in topmost frame>, lparam=<register EAX not in topmost frame>) [/home/biggs/winestuff/wine-0.9.34/dlls/user32/message.c:2501] in user32 (0x0033a128)
  17 0x0053cd79 in mushclient (+0x13cd79) (0x7edd3800)
  18 0xe834ec83 (0x53e58955)
  19 0x00000000 (0x00000000)
0x7eda5394 EDIT_LockBuffer+0xb6 [/home/biggs/winestuff/wine-0.9.34/dlls/user32/edit.c:1691] in user32: repne scasb      %es:(%edi)
1691                        countA = strlen(textA) + 1;
Australia Forum Administrator #4
I'm not sure, this stuff is hard to debug because it doesn't happen to me, it doesn't happen under Windows, and my development environment (and debugger) run under Windows.

Try a different version of Wine, see if that helps.

Personally I like Crimson Editor, that is a great, compact, free, editor, with syntax colouring for Lua.

http://www.crimsoneditor.com/
USA #5
Considering I've been having an incredibly difficult time getting the script tossed into anything Linux related (due to odd file paths), I might look into crimsoneditor. I know I have a copy of text pad lying about, but I can't find my registration code for that.
USA #6
Insert obligatory plug for vi here. :-)

(vi all the way -- even on Windows!)
USA #7
And I think I found my problem. Where you using wine on an existing Windows drive so that it had all the dlls? I tried running Crimson, and I got a few errors about missing dlls, such as MFC42.DLL and MSVCIRT.dll. I got the first one fixed with no problem, but for some reason Wine doesn't like anything I copied over from my Windows computer for msvcirt.dll, no matter where I put it, or what version of Windows I'm having it act as.