[Bug 38128] FF3usME (Final Fantasy 3 us Multi Editor) v6.7.0 crashes upon reading data from ROM file

WineHQ Bugzilla wine-bugs at winehq.org
Fri Apr 3 14:17:51 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=38128

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|FF3usME: Crashes upon       |FF3usME (Final Fantasy 3 us
                   |reading data from ROM file. |Multi Editor) v6.7.0
                   |                            |crashes upon reading data
                   |                            |from ROM file
             Status|NEEDINFO                    |NEW
                URL|                            |https://web.archive.org/web
                   |                            |/20200403180728/http://www.
                   |                            |angelfire.com/pq/jumparound
                   |                            |/dl/FF3usME670.zip
           Keywords|                            |download

--- Comment #9 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming, still present.

Workaround for bug 37557 ("Multiple games and applications need 'mfc100.dll'
('winetricks -q vcrun2010' is a workaround)") is needed.

Super Nintendo (SNES) ROM for "Final Fantasy III [USA]" to test with:

https://wowroms.com/en/roms/super-nintendo/final-fantasy-iii-usa/27587.html

Unpack the ROM from the zip and load it in the editor. By default the file open
dialog uses '*.smc' extension so you need to change to wildcard '*'.

It seems one can pass the ROM file directly via command line as well:

--- snip ---
$ wine ./FF3usME.exe Final\ Fantasy\ III\ \(USA\)\ \(Rev\ 1\).sfc 
--- snip ---

Use the toolbar buttons for different actions: 'Item Editor' -> 'Reg Items' ->
dropdown listbox -> crash.

--- snip ---
$ WINEDEBUG=+seh,+relay,+win,+msg,+combo,+comboex wine ./FF3usME.exe >>log.txt
2>&1
...
002b:trace:win:WIN_CreateWindowEx L"" L"ComboBox"->L"6.0.2600.2982!Combobox"
ex=00000000 style=56210613 10,9 128x273 parent=0x200ca menu=0x57a inst=0x400000
params=(nil)
002b:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_CLIPSIBLINGS
WS_CLIPCHILDREN WS_VSCROLL WS_TABSTOP 00000613
002b:trace:win:dump_window_styles exstyle:
002b:trace:win:WIN_SetWindowLong 0x200c6 -12 57a W
...
002b:trace:win:WIN_CreateWindowEx (null)
L"ComboLBox"->L"6.0.2600.2982!ComboLBox" ex=00000088 style=44a08151 23,123
128x244 parent=0x200c6 menu=0x3e8 inst=0x400000 params=0x1b2d600
002b:trace:win:dump_window_styles style: WS_CHILD WS_CLIPSIBLINGS WS_BORDER
WS_VSCROLL 00008151
002b:trace:win:dump_window_styles exstyle: WS_EX_TOPMOST WS_EX_TOOLWINDOW
002b:trace:win:WIN_SetWindowLong 0x200be -12 3e8 W
...
002b:trace:comboex:COMBOEX_WindowProc hwnd=000200CA msg=111 wparam=8057a
lParam=200c6
002b:trace:comboex:COMBOEX_Command for command 8
...
002b:trace:comboex:COMBOEX_ComboWndProc hwnd=000200C6 msg=150 wparam=4
lParam=0, info_ptr=01B757D8
002b:Call user32.GetPropW(000200c6,0000c026) ret=00714899
002b:Ret  user32.GetPropW() retval=01c02b08 ret=00714899
002b:Call user32.IsWindowUnicode(000200c6) ret=007148f7
002b:Ret  user32.IsWindowUnicode() retval=00000001 ret=007148f7
002b:Call user32.CallWindowProcW(0070a680,000200c6,00000150,00000004,00000000)
ret=0071490c
002b:Call window proc 0x70a680
(hwnd=0x200c6,msg=CB_GETITEMDATA,wp=00000004,lp=00000000)
002b:Call user32.GetWindowLongW(000200c6,00000000) ret=0070a6a8
002b:Ret  user32.GetWindowLongW() retval=01b2d600 ret=0070a6a8
002b:trace:combo:COMBO_WindowProc [000200C6]: msg 0x150 wp 00000004 lp 00000000
002b:Call user32.IsWindow(000200c6) ret=0070a6f1
002b:Ret  user32.IsWindow() retval=00000001 ret=0070a6f1
002b:Call user32.SendMessageW(000200be,00000199,00000004,00000000) ret=0070b24e
002b:Call window proc 0x730a90
(hwnd=0x200be,msg=LB_GETITEMDATA,wp=00000004,lp=00000000)
002b:Call user32.GetWindowLongW(000200be,00000000) ret=00730aad
002b:Ret  user32.GetWindowLongW() retval=01b2d710 ret=00730aad
002b:Ret  window proc 0x730a90
(hwnd=0x200be,msg=LB_GETITEMDATA,wp=00000004,lp=00000000) retval=00000000
002b:Ret  user32.SendMessageW() retval=00000000 ret=0070b24e
002b:Ret  window proc 0x70a680
(hwnd=0x200c6,msg=CB_GETITEMDATA,wp=00000004,lp=00000000) retval=00000000
002b:Ret  user32.CallWindowProcW() retval=00000000 ret=0071490c
002b:Ret  window proc 0x714520
(hwnd=0x200c6,msg=CB_GETITEMDATA,wp=00000004,lp=00000000) retval=00000000
002b:Ret  user32.SendMessageW() retval=00000000 ret=0070ea52
002b:Call user32.SendMessageW(000200c6,00000147,00000000,00000000) ret=0070f4b9
002b:Call window proc 0x714520
(hwnd=0x200c6,msg=CB_GETCURSEL,wp=00000000,lp=00000000)
002b:Call user32.GetPropW(000200c6,0000c026) ret=00714579
002b:Ret  user32.GetPropW() retval=01c02b08 ret=00714579
002b:Call user32.GetPropW(000200c6,0000c026) ret=00714899
002b:Ret  user32.GetPropW() retval=01c02b08 ret=00714899
002b:Call user32.GetWindowLongW(000200ca,00000000) ret=0070fdec
002b:Ret  user32.GetWindowLongW() retval=01b757d8 ret=0070fdec
002b:trace:comboex:COMBOEX_ComboWndProc hwnd=000200C6 msg=147 wparam=0
lParam=0, info_ptr=01B757D8
002b:Call user32.GetPropW(000200c6,0000c026) ret=00714899
002b:Ret  user32.GetPropW() retval=01c02b08 ret=00714899
002b:Call user32.IsWindowUnicode(000200c6) ret=007148f7
002b:Ret  user32.IsWindowUnicode() retval=00000001 ret=007148f7
002b:Call user32.CallWindowProcW(0070a680,000200c6,00000147,00000000,00000000)
ret=0071490c
002b:Call window proc 0x70a680
(hwnd=0x200c6,msg=CB_GETCURSEL,wp=00000000,lp=00000000)
002b:Call user32.GetWindowLongW(000200c6,00000000) ret=0070a6a8
002b:Ret  user32.GetWindowLongW() retval=01b2d600 ret=0070a6a8
002b:trace:combo:COMBO_WindowProc [000200C6]: msg 0x147 wp 00000000 lp 00000000
002b:Call user32.IsWindow(000200c6) ret=0070a6f1
002b:Ret  user32.IsWindow() retval=00000001 ret=0070a6f1
002b:Call user32.SendMessageW(000200be,00000188,00000000,00000000) ret=0070b24e
002b:Call window proc 0x730a90
(hwnd=0x200be,msg=LB_GETCURSEL,wp=00000000,lp=00000000)
002b:Call user32.GetWindowLongW(000200be,00000000) ret=00730aad
002b:Ret  user32.GetWindowLongW() retval=01b2d710 ret=00730aad
002b:Ret  window proc 0x730a90
(hwnd=0x200be,msg=LB_GETCURSEL,wp=00000000,lp=00000000) retval=00000004
002b:Ret  user32.SendMessageW() retval=00000004 ret=0070b24e
002b:Ret  window proc 0x70a680
(hwnd=0x200c6,msg=CB_GETCURSEL,wp=00000000,lp=00000000) retval=00000004
002b:Ret  user32.CallWindowProcW() retval=00000004 ret=0071490c
002b:Ret  window proc 0x714520
(hwnd=0x200c6,msg=CB_GETCURSEL,wp=00000000,lp=00000000) retval=00000004
002b:Ret  user32.SendMessageW() retval=00000004 ret=0070f4b9
002b:trace:seh:raise_exception code=c0000005 flags=0 addr=0x71129c ip=0071129c
tid=002b
002b:trace:seh:raise_exception  info[0]=00000000
002b:trace:seh:raise_exception  info[1]=00000008
002b:trace:seh:raise_exception  eax=00000004 ebx=00000000 ecx=01b757d8
edx=00000000 esi=01b757d8 edi=00000000
002b:trace:seh:raise_exception  ebp=002ceeb8 esp=002cee60 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010206
002b:trace:seh:call_stack_handlers calling handler at 0x7884f3ed code=c0000005
flags=0
...
wine: Unhandled page fault on read access to 00000008 at address 0071129C
(thread 002b), starting debugger... 
--- snip ---

CBN_CLOSEUP ->
https://source.winehq.org/git/wine.git/blob/3047385437c7ef36996d0418ac378677f3e9d67c:/dlls/comctl32/comboex.c#l1091

COMBOEX_GetText (NULL item) ->
https://source.winehq.org/git/wine.git/blob/3047385437c7ef36996d0418ac378677f3e9d67c:/dlls/comctl32/comboex.c#l291

$ sha1sum Final\ Fantasy\ III\ \(USA\)\ \(Rev\ 1\).*
057ada1c641e3e0b3ca34e6e4f4eb1b05a87143a  Final Fantasy III (USA) (Rev 1).sfc
799b3984d5a3b9c1f6b9b005ee491573fce5a75e  Final Fantasy III (USA) (Rev 1).zip

$ du -sh Final\ Fantasy\ III\ \(USA\)\ \(Rev\ 1\).*
3.0M    Final Fantasy III (USA) (Rev 1).sfc
2.2M    Final Fantasy III (USA) (Rev 1).zip

$ sha1sum FF3usME670.zip 
5905001cf86fc14766be3914b4bbefff2f1648e1  FF3usME670.zip

$ du -sh FF3usME670.zip 
492K    FF3usME670.zip

$ wine --version
wine-5.5-208-g3047385437

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list