https://bugs.winehq.org/show_bug.cgi?id=48006
Bug ID: 48006 Summary: Final Fantasy XIV Launcher stuck on splash screen Product: Wine Version: 4.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ieframe Assignee: wine-bugs@winehq.org Reporter: winehq.eloelo@spamgourmet.com Distribution: ---
Created attachment 65534 --> https://bugs.winehq.org/attachment.cgi?id=65534 wine output
The FFXIV launcher has been updated and is now frozen on the splash screen. (Just a big "Final Fantasy XIV Online" logo).
For now there is a workaround: Set Browser to 1 in FFXIV_BOOT.CFG. This browser type isn't supposed to last forever, so this is just a temporary workaround.
https://bugs.winehq.org/show_bug.cgi?id=48006
Ole Erik Brennhagen 15a2a6cd-c8b3-4d9f-9752-4372386e95ff@anonaddy.me changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |15a2a6cd-c8b3-4d9f-9752-437 | |2386e95ff@anonaddy.me
https://bugs.winehq.org/show_bug.cgi?id=48006
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|15a2a6cd-c8b3-4d9f-9752-437 | |2386e95ff@anonaddy.me | URL| |http://gdl.square-enix.com/ | |ffxiv/inst/ffxivsetup.exe Keywords| |download Severity|normal |minor Component|ieframe |-unknown
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Does 'winetricks msctf' help? https://wiki.winehq.org/Winetricks
At what point does this occur? When starting the game, when downloading the game?
https://bugs.winehq.org/show_bug.cgi?id=48006
winehq@ivah.anonaddy.me changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@ivah.anonaddy.me
--- Comment #2 from winehq@ivah.anonaddy.me --- Created attachment 66479 --> https://bugs.winehq.org/attachment.cgi?id=66479 Screenshot of the splash screen the launcher is stuck on
As of the latest FFXIV update (5.2) the new launcher still does not render past the splash screen (see FFXIV_Launcher_Splash_Screen.png). This happens when one tries to start the game. Using 'winetricks msctf' doesn't make a difference. The workaround of setting Browser to 1 in FFXIV_BOOT.CFG still works, but there is no knowing how long that will last.
https://bugs.winehq.org/show_bug.cgi?id=48006
a-1 a1_canon@yahoo.co.jp changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |a1_canon@yahoo.co.jp
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #3 from a-1 a1_canon@yahoo.co.jp --- same error appears on both:
OS: fedora31 package1: winehq package winehq-stable-5.0.0-8.1.x86_64 package2: fedora package wine-5.4-1.fc31.x86_64(wine 5.4 Staging)
https://bugs.winehq.org/show_bug.cgi?id=48006
Cheogh jpc0306@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jpc0306@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
Thomas Barbier thomas.barbier@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thomas.barbier@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
Konomi konomikitten@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |konomikitten@gmail.com
--- Comment #4 from Konomi konomikitten@gmail.com ---
Does 'winetricks msctf' help?
No it doesn't.
At what point does this occur? When starting the game, when downloading the game?
It occurs as soon as you launch ffxivboot.exe.
$ wine --version wine-5.6.1.r0.g4c160ec8 ( TkG Staging Esync Fsync Vkd3d DXVK-Compatible )
https://bugs.winehq.org/show_bug.cgi?id=48006
Tobias tlofiztlp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tlofiztlp@gmail.com
--- Comment #5 from Tobias tlofiztlp@gmail.com --- Created attachment 67295 --> https://bugs.winehq.org/attachment.cgi?id=67295 wine output
setting msctf.dll and/or msctfp.dll to disabled will stop the log spam. winetricks wsh56 and setting jscript.dll to native will either change nothing (in my steamplay prefix) or giving an error page in the launcher (in my lutris prefix):
Platform Error The game launcher cannot be accessed on your current platform.
i think the main reason for it not working is mshtml.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #6 from Tobias tlofiztlp@gmail.com --- Created attachment 67319 --> https://bugs.winehq.org/attachment.cgi?id=67319 wine log
While rechecking the logs i found ``` 01bc:fixme:secur32:schannel_get_cipher_algid unknown algorithm 23 01bc:fixme:secur32:schannel_get_mac_algid unknown algorithm 200, cipher 23 01bc:fixme:secur32:schannel_get_cipher_algid unknown algorithm 23 01bc:fixme:secur32:schannel_get_mac_algid unknown algorithm 200, cipher 23 ``` so never mind mshtml.
wintricks secur32 won't work https://bugs.winehq.org/show_bug.cgi?id=45344
With wintricks urlmon wininet i got the furthest until a popup in the launcher: "A system error has occurred: -2146697208. HTTPS System Error"
https://bugs.winehq.org/show_bug.cgi?id=48006
anton.sudak@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |anton.sudak@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
mafagafo46@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mafagafo46@gmail.com
--- Comment #7 from mafagafo46@gmail.com --- Someone should mark it as confirmed because the shadowbringers launcher don't work since 5.1
https://bugs.winehq.org/show_bug.cgi?id=48006
Alexander Waldemar Ahjolinna ahjolinna@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ahjolinna@yahoo.com
--- Comment #8 from Alexander Waldemar Ahjolinna ahjolinna@yahoo.com --- I hope this will be resolved/fixed soon as reverting to the old launcher is only temporary one as SE has stated that they will soon make the new one mandatory (if I remember correctly by end of this year)
https://bugs.winehq.org/show_bug.cgi?id=48006
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #9 from winetest@luukku.com --- has the download changed? I cant even install the game (wine 5.21)
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #10 from Ole Erik Brennhagen 15a2a6cd-c8b3-4d9f-9752-4372386e95ff@anonaddy.me --- (In reply to winetest from comment #9)
has the download changed? I cant even install the game (wine 5.21)
Sounds somewhat unrelated to this issue. However, I just tested a new install of the game and it still works with the old launcher. (Set Browser to 1 in FFXIV_BOOT.CFG.)
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #11 from mafagafo46@gmail.com --- Created attachment 68844 --> https://bugs.winehq.org/attachment.cgi?id=68844 ffxiv wine log
more logs.
https://bugs.winehq.org/show_bug.cgi?id=48006
Thomas Kowaliczek linuxdonald@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linuxdonald@posteo.de
https://bugs.winehq.org/show_bug.cgi?id=48006
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Ever confirmed|0 |1 Component|-unknown |jscript URL|http://gdl.square-enix.com/ |https://web.archive.org/web |ffxiv/inst/ffxivsetup.exe |/20190701092018/http://gdl. | |square-enix.com/ffxiv/inst/ | |ffxivsetup.exe Status|UNCONFIRMED |NEW Severity|minor |normal
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. There are multiple jscript and mshtml/Wine-Gecko bugs at play here.
Adding stable link via Internet Archive:
https://web.archive.org/web/20190701092018/http://gdl.square-enix.com/ffxiv/...
The launcher gets stuck in a live-loop without any overrides.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/boot
$ WINEDEBUG=+mshtml,+jscript wine ./ffxivboot.exe >>log.txt 2>& ... 0118:trace:mshtml:HTMLWindow2_QueryInterface (02E30ED8)->(IID_IDispatchEx 0031EC64) 0118:trace:mshtml:HTMLWindow2_AddRef (02E30ED8) ref=19 0118:trace:jscript:Array_reduce 0118:fixme:jscript:Array_reduce Could not get length 0118:trace:mshtml:HTMLWindow2_Release (02E30ED8) ref=18 0118:trace:jscript:DispatchEx_Release (10B7E428) ref=4 0118:warn:jscript:unwind_exception Exception 800a1396 undefined in: 0118:warn:jscript:print_backtrace 0 [unnamed]() 0118:warn:jscript:print_backtrace 1 [unnamed](L"t"=obj(10B7E510)) 0118:warn:jscript:print_backtrace 2 [unnamed](L"t"=str(L"reduce")) 0118:warn:jscript:print_backtrace 3 10B7C590->[unnamed](L"t"=obj(10B7CB78), L"r"=obj(10B7C590), L"n"=obj(10ADC330)) 0118:warn:jscript:print_backtrace 4 L"i"(L"t"=428.000000) 0118:warn:jscript:print_backtrace 5 10AE2DD8->[unnamed](L"A"=obj(10AE2D10), L"g"=obj(10AE2DD8), L"B"=obj(10ADC330)) 0118:warn:jscript:print_backtrace 6 L"i"(L"t"=640.000000) 0118:warn:jscript:print_backtrace 7 L"r"() 0118:warn:jscript:print_backtrace 8 [unnamed](L"e"=obj(10A8C400)) 0118:warn:jscript:print_backtrace 9 [unnamed]([detached frame]) 0118:warn:jscript:print_backtrace 10 [native code] 0118:trace:jscript:throw_error 800a1396 0118:trace:jscript:set_error_location source L"r.call(null,n||function(){throw 1},1)}))}},function(t,n){t.exports=function(t,n,r){if(!(t instanceof n))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},,,function(t,n,r){var e=r(225),o=r(183).concat("length","prototype");n.f=Object.getOwnPropertyNames||funct"... in L"(window.webpackJsonp=window.webpackJsonp||[]).push([[8],[,,,,function(t,n,r){var e=r(9),o=r(36).f,i=r(41),u=r(38),c=r(179),f=r(223),a=r(121);t.exports=function(t,n){var r,s,p,l,v,h=t.target,y=t.global,d=t.stat;if(r=y?e:d?e[h]||c(h,{}):(e[h]||{}).prototype)for(s in n){if(l=n[s],p=t.noTarge"... 0118:trace:jscript:DispatchEx_Release (10B7E928) ref=1 0118:trace:jscript:DispatchEx_Release (10B7E428) ref=2 0118:trace:jscript:detach_variable_object detaching 10B7E7F8 0118:trace:jscript:prop_get L"prototype" ret obj(02EA41A0) 0118:trace:jscript:DispatchEx_Release (02EA41A0) ref=2 0118:trace:jscript:init_dispex 10B2AB50 (02EA41A0) 0118:trace:jscript:jsdisp_define_property L"number" = -2146823274.000000 0118:trace:jscript:jsdisp_define_property L"message" = str(L"JScript object expected") 0118:trace:jscript:jsdisp_define_property L"description" = str(L"JScript object expected") 0118:trace:jscript:init_dispex 10B7EAF8 (00000000) 0118:trace:jscript:ensure_prop_name creating prop L"t" flags 1c00 ... 0118:trace:jscript:jsdisp_define_property L"1" = accessor { get: 10B19D78 set: 00000000 } 0118:trace:jscript:DispatchEx_Release (10AE3368) ref=3 0118:trace:jscript:interp_pop 5 0118:trace:jscript:DispatchEx_Release (10B850E0) ref=1 0118:trace:jscript:DispatchEx_Release (10B85018) ref=3 0118:trace:jscript:DispatchEx_Release (10AE3368) ref=1 0118:trace:jscript:interp_push_acc 0118:trace:jscript:interp_setret 0118:trace:jscript:interp_ret 0118:trace:jscript:DispatchEx_Release (10B851C8) ref=1 0118:trace:jscript:jsdisp_free (10B851C8) 0118:trace:jscript:interp_pop 5 0118:trace:jscript:DispatchEx_Release (10B850E0) ref=0 0118:trace:jscript:jsdisp_free (10B850E0) 0118:trace:jscript:DispatchEx_Release (10B19D78) ref=7 0118:trace:jscript:DispatchEx_Release (10B85018) ref=2 0118:trace:jscript:DispatchEx_Release (10B19A78) ref=2 0118:trace:jscript:interp_push_acc 0118:trace:jscript:interp_jmp 2689 0118:trace:jscript:interp_pop 1 0118:trace:jscript:DispatchEx_Release (10B85018) ref=1 0118:trace:jscript:interp_ident L"r" 0118:trace:jscript:identifier_eval L"r" 0118:trace:jscript:jsdisp_get_id not found L"r" 0118:trace:jscript:identifier_eval returning ref 74 for 0 0118:trace:jscript:interp_str L"call" 0118:trace:jscript:interp_memberid 0 0118:trace:jscript:DispatchEx_Release (10B84BC8) ref=3 0118:trace:jscript:interp_local 0: L"t" 0118:trace:jscript:interp_ident L"s" 0118:trace:jscript:identifier_eval L"s" 0118:trace:jscript:jsdisp_get_id not found L"s" 0118:trace:jscript:identifier_eval returning ref 76 for 2 0118:trace:jscript:interp_ident L"p" 0118:trace:jscript:identifier_eval L"p" 0118:trace:jscript:jsdisp_get_id not found L"p" 0118:trace:jscript:identifier_eval returning ref 77 for 3 0118:trace:jscript:interp_call_member 3 0 0118:trace:jscript:Function_call 0118:trace:jscript:Array_splice 0118:trace:jscript:prop_get L"length" ret -1.000000
<live-loop in jscript code, churning 100% cpu> --- snip ---
I've attached a debugger to dump the callstack of the main thread which churns all the cpu:
--- snip --- jscript.Array_splice+444 jscript.NativeFunction_call+CE jscript.Function_call+BC jscript.invoke_prop_func+2ED jscript.invoke_prop_func+128 jscript.disp_call+264 jscript.exprval_call+6F jscript.interp_call_member+F9 jscript.exec_source+B82 jscript.JScriptParse_ParseScriptText+2C4 mshtml.parse_elem_text+AA mshtml.doc_insert_script+59 mshtml.run_insert_script+17C mshtml.nsRunnable_Run+15 ... --- snip ---
Using the strings in memory I found the executed jscript code on disk. A huge one-liner. I "beautified" it using https://beautifier.io/
The relevant part, where it live-looped in 'jscript.Array_splice' without returning, called from function r().
--- snip --- function(e) {
function t(t) { for (var o, i, l = t[0], c = t[1], s = t[2], d = 0, b = []; d < l.length; d++) i = l[d], Object.prototype.hasOwnProperty.call(n, i) && n[i] && b.push(n[i][0]), n[i] = 0; for (o in c) Object.prototype.hasOwnProperty.call(c, o) && (e[o] = c[o]); for (u && u(t); b.length;) b.shift()(); return a.push.apply(a, s || []), r() }
function r() { for (var e, t = 0; t < a.length; t++) { for (var r = a[t], o = !0, l = 1; l < r.length; l++) { var c = r[l]; 0 !== n[c] && (o = !1) } o && (a.splice(t--, 1), e = i(i.s = r[0])) } return e } var o = {}, n = { 4: 0 }, a = [];
function i(t) { if (o[t]) return o[t].exports; var r = o[t] = { i: t, l: !1, exports: {} }; return e[t].call(r.exports, r, r.exports, i), r.l = !0, r.exports } ... --- snip ---
I didn't debug further. It shouldn't be hard to figure out why the array splice doesn't return.
Using 'winetricks -q jscript' prevents the live-loop, only to run into next problems, mshtml insufficiencies.
BTW there are many Final Fantasy (XIV) bug reports in Wine Bugzilla that are out of date, invalid, fixed and dupes. Quite a mess. I have no energy / interest to go through all of them indivually. It will likely destroy a good mood for sure.
$ sha1sum ffxivsetup.exe 10601e45ccbcaec81c8d0fda720cb8afc5a1f01b ffxivsetup.exe
$ du -sh ffxivsetup.exe 27M ffxivsetup.exe
$ wine --version wine-6.0-250-gacd1b068a34
Regards
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #13 from Domo mafagafo46@gmail.com --- (In reply to Anastasius Focht from comment #12)
BTW there are many Final Fantasy (XIV) bug reports in Wine Bugzilla that are out of date, invalid, fixed and dupes. Quite a mess. I have no energy / interest to go through all of them indivually. It will likely destroy a good mood for sure.
FFXIV ingame is fine didn't find any bug actually playable like a native game.
this launcher bug is the only actual problem.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #14 from Thomas Kowaliczek linuxdonald@posteo.de --- (In reply to Anastasius Focht from comment #12)
Hello folks,
confirming. There are multiple jscript and mshtml/Wine-Gecko bugs at play here.
Adding stable link via Internet Archive:
https://web.archive.org/web/20190701092018/http://gdl.square-enix.com/ffxiv/ inst/ffxivsetup.exe
The launcher gets stuck in a live-loop without any overrides.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/boot
$ WINEDEBUG=+mshtml,+jscript wine ./ffxivboot.exe >>log.txt 2>& ... 0118:trace:mshtml:HTMLWindow2_QueryInterface (02E30ED8)->(IID_IDispatchEx 0031EC64) 0118:trace:mshtml:HTMLWindow2_AddRef (02E30ED8) ref=19 0118:trace:jscript:Array_reduce 0118:fixme:jscript:Array_reduce Could not get length 0118:trace:mshtml:HTMLWindow2_Release (02E30ED8) ref=18 0118:trace:jscript:DispatchEx_Release (10B7E428) ref=4 0118:warn:jscript:unwind_exception Exception 800a1396 undefined in: 0118:warn:jscript:print_backtrace 0 [unnamed]() 0118:warn:jscript:print_backtrace 1 [unnamed](L"t"=obj(10B7E510)) 0118:warn:jscript:print_backtrace 2 [unnamed](L"t"=str(L"reduce")) 0118:warn:jscript:print_backtrace 3 10B7C590->[unnamed](L"t"=obj(10B7CB78), L"r"=obj(10B7C590), L"n"=obj(10ADC330)) 0118:warn:jscript:print_backtrace 4 L"i"(L"t"=428.000000) 0118:warn:jscript:print_backtrace 5 10AE2DD8->[unnamed](L"A"=obj(10AE2D10), L"g"=obj(10AE2DD8), L"B"=obj(10ADC330)) 0118:warn:jscript:print_backtrace 6 L"i"(L"t"=640.000000) 0118:warn:jscript:print_backtrace 7 L"r"() 0118:warn:jscript:print_backtrace 8 [unnamed](L"e"=obj(10A8C400)) 0118:warn:jscript:print_backtrace 9 [unnamed]([detached frame]) 0118:warn:jscript:print_backtrace 10 [native code] 0118:trace:jscript:throw_error 800a1396 0118:trace:jscript:set_error_location source L"r.call(null,n||function(){throw 1},1)}))}},function(t,n){t.exports=function(t,n,r){if(!(t instanceof n))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},,,function(t,n,r){var e=r(225),o=r(183).concat("length","prototype");n.f=Object. getOwnPropertyNames||funct"... in L"(window.webpackJsonp=window.webpackJsonp||[]).push([[8],[,,,,function(t,n, r){var e=r(9),o=r(36).f,i=r(41),u=r(38),c=r(179),f=r(223),a=r(121);t. exports=function(t,n){var r,s,p,l,v,h=t.target,y=t.global,d=t.stat;if(r=y?e:d?e[h]||c(h,{}):(e[h]||{}). prototype)for(s in n){if(l=n[s],p=t.noTarge"... 0118:trace:jscript:DispatchEx_Release (10B7E928) ref=1 0118:trace:jscript:DispatchEx_Release (10B7E428) ref=2 0118:trace:jscript:detach_variable_object detaching 10B7E7F8 0118:trace:jscript:prop_get L"prototype" ret obj(02EA41A0) 0118:trace:jscript:DispatchEx_Release (02EA41A0) ref=2 0118:trace:jscript:init_dispex 10B2AB50 (02EA41A0) 0118:trace:jscript:jsdisp_define_property L"number" = -2146823274.000000 0118:trace:jscript:jsdisp_define_property L"message" = str(L"JScript object expected") 0118:trace:jscript:jsdisp_define_property L"description" = str(L"JScript object expected") 0118:trace:jscript:init_dispex 10B7EAF8 (00000000) 0118:trace:jscript:ensure_prop_name creating prop L"t" flags 1c00 ... 0118:trace:jscript:jsdisp_define_property L"1" = accessor { get: 10B19D78 set: 00000000 } 0118:trace:jscript:DispatchEx_Release (10AE3368) ref=3 0118:trace:jscript:interp_pop 5 0118:trace:jscript:DispatchEx_Release (10B850E0) ref=1 0118:trace:jscript:DispatchEx_Release (10B85018) ref=3 0118:trace:jscript:DispatchEx_Release (10AE3368) ref=1 0118:trace:jscript:interp_push_acc 0118:trace:jscript:interp_setret 0118:trace:jscript:interp_ret 0118:trace:jscript:DispatchEx_Release (10B851C8) ref=1 0118:trace:jscript:jsdisp_free (10B851C8) 0118:trace:jscript:interp_pop 5 0118:trace:jscript:DispatchEx_Release (10B850E0) ref=0 0118:trace:jscript:jsdisp_free (10B850E0) 0118:trace:jscript:DispatchEx_Release (10B19D78) ref=7 0118:trace:jscript:DispatchEx_Release (10B85018) ref=2 0118:trace:jscript:DispatchEx_Release (10B19A78) ref=2 0118:trace:jscript:interp_push_acc 0118:trace:jscript:interp_jmp 2689 0118:trace:jscript:interp_pop 1 0118:trace:jscript:DispatchEx_Release (10B85018) ref=1 0118:trace:jscript:interp_ident L"r" 0118:trace:jscript:identifier_eval L"r" 0118:trace:jscript:jsdisp_get_id not found L"r" 0118:trace:jscript:identifier_eval returning ref 74 for 0 0118:trace:jscript:interp_str L"call" 0118:trace:jscript:interp_memberid 0 0118:trace:jscript:DispatchEx_Release (10B84BC8) ref=3 0118:trace:jscript:interp_local 0: L"t" 0118:trace:jscript:interp_ident L"s" 0118:trace:jscript:identifier_eval L"s" 0118:trace:jscript:jsdisp_get_id not found L"s" 0118:trace:jscript:identifier_eval returning ref 76 for 2 0118:trace:jscript:interp_ident L"p" 0118:trace:jscript:identifier_eval L"p" 0118:trace:jscript:jsdisp_get_id not found L"p" 0118:trace:jscript:identifier_eval returning ref 77 for 3 0118:trace:jscript:interp_call_member 3 0 0118:trace:jscript:Function_call 0118:trace:jscript:Array_splice 0118:trace:jscript:prop_get L"length" ret -1.000000
<live-loop in jscript code, churning 100% cpu> --- snip ---
I've attached a debugger to dump the callstack of the main thread which churns all the cpu:
--- snip --- jscript.Array_splice+444 jscript.NativeFunction_call+CE jscript.Function_call+BC jscript.invoke_prop_func+2ED jscript.invoke_prop_func+128 jscript.disp_call+264 jscript.exprval_call+6F jscript.interp_call_member+F9 jscript.exec_source+B82 jscript.JScriptParse_ParseScriptText+2C4 mshtml.parse_elem_text+AA mshtml.doc_insert_script+59 mshtml.run_insert_script+17C mshtml.nsRunnable_Run+15 ... --- snip ---
Using the strings in memory I found the executed jscript code on disk. A huge one-liner. I "beautified" it using https://beautifier.io/
The relevant part, where it live-looped in 'jscript.Array_splice' without returning, called from function r().
--- snip --- function(e) {
function t(t) { for (var o, i, l = t[0], c = t[1], s = t[2], d = 0, b = []; d <
l.length; d++) i = l[d], Object.prototype.hasOwnProperty.call(n, i) && n[i] && b.push(n[i][0]), n[i] = 0; for (o in c) Object.prototype.hasOwnProperty.call(c, o) && (e[o] = c[o]); for (u && u(t); b.length;) b.shift()(); return a.push.apply(a, s || []), r() }
function r() { for (var e, t = 0; t < a.length; t++) { for (var r = a[t], o = !0, l = 1; l < r.length; l++) { var c = r[l]; 0 !== n[c] && (o = !1) } o && (a.splice(t--, 1), e = i(i.s = r[0])) } return e } var o = {}, n = { 4: 0 }, a = []; function i(t) { if (o[t]) return o[t].exports; var r = o[t] = { i: t, l: !1, exports: {} }; return e[t].call(r.exports, r, r.exports, i), r.l = !0, r.exports }
... --- snip ---
I didn't debug further. It shouldn't be hard to figure out why the array splice doesn't return.
Using 'winetricks -q jscript' prevents the live-loop, only to run into next problems, mshtml insufficiencies.
BTW there are many Final Fantasy (XIV) bug reports in Wine Bugzilla that are out of date, invalid, fixed and dupes. Quite a mess. I have no energy / interest to go through all of them indivually. It will likely destroy a good mood for sure.
$ sha1sum ffxivsetup.exe 10601e45ccbcaec81c8d0fda720cb8afc5a1f01b ffxivsetup.exe
$ du -sh ffxivsetup.exe 27M ffxivsetup.exe
$ wine --version wine-6.0-250-gacd1b068a34
Regards
I think most of the open bug reports can be closed. On AppDB there are only linked two bug reports.
https://bugs.winehq.org/show_bug.cgi?id=48006
Adrian coolcraftteam1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |coolcraftteam1@gmail.com
--- Comment #15 from Adrian coolcraftteam1@gmail.com --- Can confirm that this is a issue and as people mentioned above the old launcher will get discontinued eventually so it would be nice if this gets fixed. Not sure if this helps but I have heard rumors that apparently it uses ActiveX stuff and that's why apparently it doesn't work but haven't been able to 100% confirm this.
$ wine --version wine-6.0.r2.g6364ada0 ( TkG Staging Esync Fsync ) I know I am not using stock wine but this issue does also happen on it.
https://bugs.winehq.org/show_bug.cgi?id=48006
George Gibbs vash63@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |vash63@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
alasky@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alasky@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #16 from Thomas Kowaliczek linuxdonald@posteo.de --- Steam Users will need from March 2022 to use the new launcher because of new steam account linking. It would be nice to see fast an fix here :-(
https://bugs.winehq.org/show_bug.cgi?id=48006
tonior@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tonior@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #17 from Ole Erik Brennhagen 15a2a6cd-c8b3-4d9f-9752-4372386e95ff@anonaddy.me --- Just an update on the previous comment which mentioned the plans for account linking with steam.
This has now gone live so people playing FFXIV with Steam can no longer do so through wine.
Could we get this bug confirmed, if that matters at all?
https://bugs.winehq.org/show_bug.cgi?id=48006
r.loewenherz+bugzilla@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |r.loewenherz+bugzilla@mailb | |ox.org
https://bugs.winehq.org/show_bug.cgi?id=48006
Dave davidrzielinski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |davidrzielinski@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #18 from Olivier F. R. Dierick o.dierick@piezo-forte.be ---
Could we get this bug confirmed, if that matters at all?
Hello,
Status NEW means confirmed.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=48006
Patrick Leamon pleamonhp@yahoo.com.au changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pleamonhp@yahoo.com.au
--- Comment #19 from Patrick Leamon pleamonhp@yahoo.com.au --- I don't see the splice error or 100% CPU anymore.
Instead this seems to be where things start to go wrong:
``` 0130:trace:jscript:invoke_prop_func call L"getOwnPropertyNames" 23350150 0130:trace:jscript:Function_invoke func 23350150 this 16F41BF0 0130:trace:jscript:Object_getOwnPropertyNames (obj(01399130)) 0130:fixme:jscript:object_keys Non-JS object 0130:trace:jscript:DispatchEx_Release (16F41BF0) ref=9 0130:warn:jscript:unwind_exception Exception 80004001 undefined in: 0130:warn:jscript:print_backtrace 0 23351530->[unnamed](L"t"=obj(233514D0), L"r"=obj(23351530), L"n"=obj(22886390)) context 0 line 0 char 26527 0130:warn:jscript:print_backtrace 1 [native code] 0130:warn:jscript:print_backtrace 2 L"g"(L"a"=209.000000) context 0 line 0 char 548 0130:warn:jscript:print_backtrace 3 22886ED0->[unnamed](L"t"=obj(22886E70), L"r"=obj(22886ED0), L"n"=obj(22886390)) context 0 line 0 char 1318 0130:warn:jscript:print_backtrace 4 L"g"(L"a"=434.000000) context 0 line 0 char 548 0130:warn:jscript:print_backtrace 5 22886D50->[unnamed](L"e"=obj(22886CF0), L"n"=obj(22886D50), L"o"=obj(22886390)) context 0 line 0 char 88290 0130:warn:jscript:print_backtrace 6 L"g"(L"a"=686.000000) context 0 line 0 char 548 0130:warn:jscript:print_backtrace 7 L"A"() context 0 line 0 char 407 0130:warn:jscript:print_backtrace 8 [unnamed](L"e"=obj(22882BB0)) context 0 line 0 char 2257 0130:warn:jscript:print_backtrace 9 [unnamed]([detached frame]) context 0 line 0 char 0 0130:warn:jscript:print_backtrace 10 [native code] 0130:trace:jscript:throw_error 80004001 ```
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #20 from Patrick Leamon pleamonhp@yahoo.com.au --- I could be reading this wrong but obj(01399130) seems to be the HTML window:
``` 0144:trace:mshtml:set_moniker pending window for 04379DB0 154E8AF0 01399130 0144:trace:mshtml:start_binding (01399130 154E8AF0 00000000) 0144:trace:mshtml:HTMLWindow2_AddRef (01399130) ref=2 0144:trace:mshtml:HTMLWindow2_Release (01399130) ref=1 0144:trace:mshtml:HTMLWindow2_AddRef (01399130) ref=2 0144:trace:mshtml:HTMLWindow2_AddRef (01399130) ref=3 0144:trace:mshtml:HTMLWindow2_QueryInterface (01399130)->(IID_IDispatch 0119ED38) 0144:trace:mshtml:HTMLWindow2_AddRef (01399130) ref=4 0144:trace:mshtml:HTMLWindow2_Release (01399130) ref=3 0144:trace:mshtml:start_binding (01399130 16F23050 00000000) ```
Some kind of issue while exposing the `window` global variable to the javascript engine?
https://bugs.winehq.org/show_bug.cgi?id=48006
nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=48006
Sophira wine-bugs@theblob.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine-bugs@theblob.org
https://bugs.winehq.org/show_bug.cgi?id=48006
Tomi J. tojuntu@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tojuntu@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #21 from Patrick Leamon pleamonhp@yahoo.com.au --- This seems to be resolved now. The launcher no longer freezes on the splash screen.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #22 from a-1 a1_canon@yahoo.co.jp --- This still appears below.
fedora36 wine-7.9-1.fc36.x86_64
https://bugs.winehq.org/show_bug.cgi?id=48006
Andrew Church achurch+wine@achurch.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |achurch+wine@achurch.org
--- Comment #23 from Andrew Church achurch+wine@achurch.org --- Bug is still present in wine-8.16, with roughly the same backtrace as in comment #19.
The old launcher will be removed as of the next game update (next Tuesday, 2023-10-03), so it will no longer be available as a workaround.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #24 from Sophira wine-bugs@theblob.org --- I've been experimenting and have found that the new launcher works when using Proton 7.0.5 (to an extent; it doesn't show the Lodestone banner pictures but seems to work for logging into the game). Also, my partner (who uses a Steam Deck) says that they're able to run the Square Enix store version of FFXIV using Proton Experimental through Steam.
I'll see if I can work on bisecting Proton versions to find the commit that got it to start working on Proton, to find what the fix was. Would I be correct in thinking that the licensing would allow the fix to be ported into Wine?
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #25 from a-1 a1_canon@yahoo.co.jp --- There is a description that says "Fix the new Final Fantasy XIV Online launcher."
https://github.com/ValveSoftware/Proton/releases/tag/proton-7.0-3
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #26 from Andrew Church achurch+wine@achurch.org --- (In reply to a-1 from comment #25)
There is a description that says "Fix the new Final Fantasy XIV Online launcher."
https://github.com/ValveSoftware/Proton/releases/tag/proton-7.0-3
Good find, but it looks like those fixes have already been incorporated into vanilla Wine as well.
As a starting point, I've confirmed that applying all differences in jscript and mshtml from wine-8.17 to current Proton HEAD (8a8ec5f) allows the new launcher to work, at least to the extent of being able to log in:
for path in dlls/{jscript,mshtml}; do diff -urN {wine-8.17,proton-wine}/$path; done | (cd wine-8.17; patch -p1)
(I can't seem to press Enter from the OTP field to log in as I could do in the old launcher, but I've never actually used the new launcher on Windows, so I don't know if that's something missing in Wine or just a change in launcher behavior.)
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #27 from Sophira wine-bugs@theblob.org --- I've unfortunately been unable to work on bisecting Proton, sorry; I've been getting compile issues when trying. :(
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #28 from Andrew Church achurch+wine@achurch.org --- I tried manually applying the ~140 patches in dlls/{jscript,mshtml} on Proton's 8.0 branch to wine-8.17, but there have been too many internal changes on Wine's side for that to go cleanly.
I suspect the most useful approach will be bisecting Proton's jscript/mshtml from 8.0 onward, and finding the particular changes that get the launcher working. I'll try and find some time for that tomorrow.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #29 from Sophira wine-bugs@theblob.org --- As I said earlier, I'm using Proton 7.0-5 for my workaround and it's working okay, so you might need to bisect from earlier rather than starting from 8.0 onwards.
I made a Reddit post about the issue so that other players are informed: https://old.reddit.com/r/ffxiv/comments/16xs4fk/headsup_and_warning_for_some... . If there's anything I should add to it, let me know.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #30 from Andrew Church achurch+wine@achurch.org --- Sorry if I wasn't clear - I meant going through all of Proton's patches on top of vanilla wine-8.0. (Proton's Wine sources are a clone of Wine's own repository, with the Proton patches reapplied on a separate branch for each Wine version used as a Proton base.) Since vanilla wine-8.0 doesn't run the launcher but 8.0-based Proton does, there must be some set of patches in there (trivially, the entire set) which fixes the launcher, and my goal is to minimize that set as much as possible to reduce the friction for getting the changes into Wine.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #31 from Andrew Church achurch+wine@achurch.org --- The 6.5 launcher has now been released, and there have apparently been some internal updates because the launcher no longer works under wine-8.0 with Proton's jscript/mshtml, instead freezing on the splash screen while animating a newly-added progress icon in the lower right (which also freezes). The launcher does work correctly under wine-8.17 with Proton's jscript/mshtml (as in my comment #26), so it looks like some combination of patches from both branches of development will be needed.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #32 from Andrew Church achurch+wine@achurch.org --- The first common in Proton's wine-8.0 branch on which the launcher works correctly is:
https://github.com/ValveSoftware/wine/commit/2ef70f4daae6cd31b2b3f96c3b71b77...
The above commit alone (along with a number of prerequisite commits, see below) causes the launcher to crash on startup, and these commits are also required:
https://github.com/ValveSoftware/wine/commit/43d326b6807d5a9915622fa6e9a9b05...
https://github.com/ValveSoftware/wine/commit/52b574fad3658e4e47928df3510df64...
I've made a proof-of-concept branch (ff14-launcher-poc) at https://gitlab.winehq.org/achurch/wine with the above commits applied, including all other commits between wine-8.0 and proton HEAD which I needed in order to get Wine to build, applied on top of wine-8.13, which is the most recent version of Wine to which the commits applied reasonably cleanly; WCHAR->char changes in wine-8.14 (c81c0aa) conflict significantly with some of these commits. I imagine there's a smaller subset of changes which would suffice to fix the launcher, but I don't have enough (read: any at all) knowledge of the mshtml or jscript APIs to whittle it down beyond this. For the same reason, there are probably some bugs introduced from merging the Proton changes into more recent Wine (I haven't attempted to run the tests). Anyone with that knowledge is welcome to take this branch as a starting point.
https://bugs.winehq.org/show_bug.cgi?id=48006
Chiitoo chiitoo@gentoo.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chiitoo@gentoo.org
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #33 from Chiitoo chiitoo@gentoo.org --- (In reply to Andrew Church from comment #32)
I've made a proof-of-concept branch (ff14-launcher-poc) at https://gitlab.winehq.org/achurch/wine with the above commits applied,
Nice one!
I had to additionally apply the "hide Wine exports" patch on that from Wine Staging [1], to get the (64-bit) launcher to run.
In general, I don't have much to add regarding the bug at hand at this time, but perhaps the following will help with testing or/and looking into it, since at least I bumped into a lot of different issues while getting the thing to run.
Also, I've been running the free trial version, so it's possible some of this is related to that.
With 'ff14-launcher-poc', currently 'ffxivboot.exe' seems to explode very early, with no window showing up, and no proper backtrace, though I did get the Wine backtrace at some point, but not at the time of writing. Could be something with my current build configuration.
I did get 'ffxivboot64.exe' running better, but that gave me different issues (either the "HTTPS System Error" or "A technical issue occurred" or something else).
Using a Gentoo Linux 'wine-proton' build (8.0.4), I think 'ffxivboot.exe' is now working without additional changes, after hours of trying things and stuff before eventually re-downloading everything; my previous data (which was only about 7.5 GiB versus the current 55 GiB) seems to have something corrupt, as all I would get after hitting 'play' was "An unexpected error has occurred. Exiting FINAL FANTASY XIV.(ed)"... I had a similar issue in the past with the full version, which made me inclined to try and re-download.
With 'wine-proton', using 'ffxivboot64.exe' would lead to the "no license" message, which I remember being related to the issue where the launcher thinks it's running under macOS, for which hiding the Wine version information has been a workaround, and it works here too. No clue why that would happen with the free trial, and only with the 64-bit launcher.
To get the Wine version information hidden, I first ran 'winecfg' on the prefix with Wine Staging, enabled the setting, then built 'wine-proton' with the patch from Staging applied, which made 'ffxivboot64.exe' work as well.
As mentioned in the start, applying the same patch on 'ff14-launcher-poc' made 'ffxivboot64.exe' work with that build as well, even though I never got far enough to log in with it prior to that, so I did not even see the license issue message there.
Side-notes:
- Without the hide version patch, running 'ffxivboot64.exe' seems to set 'BrowserType' in 'FFXIV_BOOT.cfg' to '1', and that makes 'ffxivboot.exe' non-functional until 'BrowserType' is changed back to '0' (having it at '1' will result in an early "A system error has occurred: -113. HTTPS System Error").
- Excluding A Realm Reborn, all the videos work with 'ff14-launcher-poc' (ARR is just stuck in black), while 'wine-proton' only plays Heavensward and Stormblood (Opening and ARR crash the game immediately with "(wine:20351): GStreamer-CRITICAL **: 17:51:44.450: gst_element_factory_get_metadata: assertion 'GST_IS_ELEMENT_FACTORY (factory)' failed").
1. https://github.com/wine-staging/wine-staging/blob/master/patches/ntdll-Hide_... 2. https://github.com/ValveSoftware/wine/
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #34 from Andrew Church achurch+wine@achurch.org --- Just for the record, this bug is still present as of wine-9.0, and the same workaround (copy dlls/{jscript,mshtml} from the Proton 8.0 branch) still works.
Hopefully Proton will update to 9.0 soon and I'll be able to collect a set of commits that apply cleanly to wine HEAD.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #35 from Andrew Church achurch+wine@achurch.org --- I've added a new PoC branch based on Wine 9.x: https://gitlab.winehq.org/achurch/wine/-/tree/ff14-launcher-9.x
The head of that branch is the first working commit found by git bisect on Proton's 9.0 branch, which was the same "first good" change I found on 8.x, and everything else is other commits needed to get that one to apply and build cleanly - 26 changes in total. I'm able to successfully log in and start the game client using these changes (plus the hide-wine-exports patch from staging to deal with the Windows vs Mac license issue).
https://bugs.winehq.org/show_bug.cgi?id=48006
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabrielopcode@gmail.com, | |jacek@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #36 from Sophira wine-bugs@theblob.org --- After the 6.58 update, when using Proton 7.0.5 I'm now getting:
This service account does not have a valid FINAL FANTASY XIV license for this platform or your subscription has expired.
I'm guessing that whatever techniques Proton uses to avoid the Mac checks is no longer effective, as my subscription has definitely not expired.
This may have implications for vanilla Wine too.
(To be clear, I'm not asking for support, and I realise the answer is probably simply to use a newer version of Proton, which I'll be making sure to do. However, I did want to put it here as it may be relevant for the Wine project.)
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #37 from Andrew Church achurch+wine@achurch.org --- (In reply to Sophira from comment #36)
After the 6.58 update, when using Proton 7.0.5 I'm now getting:
This service account does not have a valid FINAL FANTASY XIV license for this platform or your subscription has expired.
This is probably something specific to Proton, as the "hide exports" patch from staging still works to avoid that problem with vanilla Wine 9.x.
It looks like other people with Proton are having this problem too: https://github.com/ValveSoftware/Proton/issues/580#issuecomment-2007484564
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #38 from Andrew Church achurch+wine@achurch.org --- Looks like I spoke too soon - on a second attempt to start the launcher, it crashes using the patchset from my gitlab branch, which worked the first time (when the launcher updated itself). Will investigate.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #39 from Sophira wine-bugs@theblob.org --- For what it's worth, I was able to get FFIV working again by recompiling my verson of Proton with the HideWineExports patch applied and enabling that option, so it doesn't look like you were wrong there.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #40 from Andrew Church achurch+wine@achurch.org --- What version of Proton, out of curiosity? I tried Proton 9.0-beta15 (as tagged on github) with HideWineExports applied and got the same problem as vanilla Wine 9.3 + patches (stuck at splash screen with JS errors in WINEDEBUG), but by all appearances I'm the only one this is happening to.
The first error, for the record:
02b0:warn:jscript:unwind_exception Exception 800a01b6 undefined in: 02b0:warn:jscript:print_backtrace 0 000000000B487380->[unnamed](L"t"=obj(000000000B487320), L"r"=obj(000000000B487380), L"n"=obj(000000000B4FDD90)) context 0 line 0 char 3937 02b0:warn:jscript:print_backtrace 1 [native code] 02b0:warn:jscript:print_backtrace 2 L"s"(L"t"=175.000000) context 0 line 0 char 548 02b0:warn:jscript:print_backtrace 3 000000000B586DE0->[unnamed](L"t"=obj(000000000B586D80), L"r"=obj(000000000B586DE0), L"n"=obj(000000000B4FDD90)) context 0 line 0 char 9274 02b0:warn:jscript:print_backtrace 4 [native code] 02b0:warn:jscript:print_backtrace 5 L"s"(L"t"=536.000000) context 0 line 0 char 548 02b0:warn:jscript:print_backtrace 6 000000000B51C790->[unnamed](L"A"=obj(000000000B51C730), L"a"=obj(000000000B51C790), L"i"=obj(000000000B4FDD90)) context 0 line 0 char 51886 02b0:warn:jscript:print_backtrace 7 [native code] 02b0:warn:jscript:print_backtrace 8 L"s"(L"t"=791.000000) context 0 line 0 char 548 02b0:warn:jscript:print_backtrace 9 L"n"() context 0 line 0 char 407 02b0:warn:jscript:print_backtrace 10 [unnamed](L"e"=obj(000000000B51C3D0)) context 0 line 0 char 2257 02b0:warn:jscript:print_backtrace 11 [unnamed]([detached frame]) context 0 line 0 char 0 02b0:warn:jscript:print_backtrace 12 [native code] 02b0:trace:jscript:throw_error 800a01b6 02b0:trace:jscript:set_error_location source L"u[e]=function(){return this},Array.from(u,(function(){throw 2}))}catch(t){}t.exports=function(t,r){if(!r&&!i)return!1;var n=!1;try{var o={};o[e]=function(){return{next:function(){return{done:n=!0}}}},t(o)}catch(t){}return n}},177:function(t,r,n){"use strict";var e=n(9);t.exports=functio"... in L"(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{101:function(t,r,n){"use strict";t.exports=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}}},104:function(t,r,n){"use strict";var e=n(102),i=n(39),o=n(101);t.exports=function(t,r,n){var u=e(r"...
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #41 from Gabriel Ivăncescu gabrielopcode@gmail.com ---
What version of Proton, out of curiosity? I tried Proton 9.0-beta15 (as tagged on github) with HideWineExports applied and got the same problem as vanilla Wine 9.3 + patches (stuck at splash screen with JS errors in WINEDEBUG), but by all appearances I'm the only one this is happening to.
A lot of the JS errors are normal, expected and caught by the framework, because it's testing it for features. Something was messed up somewhere for sure. How does the last error look like?
Also, do you have the MutationObserver hide hack applied? In dlls/mshtml/dispex.c search for:
/* FIXME HACK: Not exposed as FFXIV Launcher breaks with MutationObserver stub */
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #42 from Andrew Church achurch+wine@achurch.org --- Turns out the Proton issue was a PEBKAC, installed it into a different location than I intended. Proton 9.0-beta15 does in fact get the launcher to work.
(In reply to Gabriel Ivăncescu from comment #41)
How does the last error look like?
02b0:trace:jscript:throw_error 800a13d6 02b0:trace:jscript:DispatchEx_Release (000000000B7165E0) ref=5 02b0:trace:jscript:DispatchEx_Release (000000000AE8CEC0) ref=6 02b0:warn:jscript:unwind_exception Exception 80020009 undefined in: 02b0:warn:jscript:print_backtrace 0 000000000B5744A0->[unnamed](L"t"=obj(00000000075167C0), L"r"=str(L"RegExp"), L"n"=obj(000000000B71C310)) context 0 line 0 char 2390 02b0:warn:jscript:print_backtrace 1 [unnamed](L"t"=obj(00000000075167C0), L"r"=str(L"RegExp"), L"n"=obj(000000000B7165E0), L"s"=obj(000000000B71C010)) context 0 line 0 char 21049 02b0:warn:jscript:print_backtrace 2 000000000B715440->[unnamed](L"t"=obj(000000000B7153E0), L"r"=obj(000000000B715440), L"n"=obj(000000000B4FDD90)) context 0 line 0 char 34610 02b0:warn:jscript:print_backtrace 3 [native code] 02b0:warn:jscript:print_backtrace 4 L"s"(L"t"=644.000000) context 0 line 0 char 548 02b0:warn:jscript:print_backtrace 5 000000000B51C790->[unnamed](L"A"=obj(000000000B51C730), L"a"=obj(000000000B51C790), L"i"=obj(000000000B4FDD90)) context 0 line 0 char 51886 02b0:warn:jscript:print_backtrace 6 [native code] 02b0:warn:jscript:print_backtrace 7 L"s"(L"t"=791.000000) context 0 line 0 char 548 02b0:warn:jscript:print_backtrace 8 L"n"() context 0 line 0 char 407 02b0:warn:jscript:print_backtrace 9 [unnamed](L"e"=obj(000000000B51C3D0)) context 0 line 0 char 2257 02b0:warn:jscript:print_backtrace 10 [unnamed]([detached frame]) context 0 line 0 char 0 02b0:warn:jscript:print_backtrace 11 [native code] 02b0:trace:jscript:set_error_location source L"return v(n),h(Z,e)?(n.enumerable?(h(t,L)&&t[L][e]&&(t[L][e]=!1),n=b(n,{enumerable:y(0,!1)})):(h(t,L)||q(t,L,y(1,{})),t[L][e]=!0),et(t,e,n)):q(t,e,n)},ut=function(t,r){v(t);var n=d(r),e=m(n).concat(ft(n));return W(e,(function(r){a&&!o(ct,n,r)||ot(t,r,n[r])})),t},ct=function(t){var r=g(t),n"... in L"(window.webpackJsonp=window.webpackJsonp||[]).push([[13],Array(176).concat([function(t,r,n){"use strict";var e=n(55),i=n(105),o=n(154),u=n(49),c=n(39).f,a=n(225),s=n(227),f=n(48),h=n(19),l=u.set,v=u.getterFor("Array Iterator");t.exports=a(Array,"Array",(function(t,r){l(this,{type:""... 02b0:trace:jscript:DispatchEx_Release (000000000B71C310) ref=1
Also, do you have the MutationObserver hide hack applied?
I didn't include that in my vanilla Wine patch set (see https://gitlab.winehq.org/achurch/wine/-/tree/ff14-launcher-9.x) but the launcher worked fine without it before the 6.58 update.
I'll see if that helps, and otherwise go bisect now that I have a working version to start from.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #43 from Andrew Church achurch+wine@achurch.org --- It looks like only one additional Proton patch was needed: https://github.com/ValveSoftware/wine/commit/40485c3435b650ffa727baf15874bd0...
With that patch included, the ff14-launcher-9.x branch now successfully runs the launcher.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #44 from Andrew Church achurch+wine@achurch.org --- I've rebased the ff14-launcher-9.x branch on wine-9.9 and confirmed that it works correctly as modified. wine-9.10 includes changes in dlls/mshtml which conflict with some of these changes and which go deeper than my current knowledge of mshtml allows me to correct for, so I'll have to stop here. (Replacing dlls/{jscript,mshtml} in wine-9.10 with the versions from this branch still gives a working launcher in the resulting 9.10.)
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #45 from Jacek Caban jacek@codeweavers.com --- (In reply to Andrew Church from comment #44)
I've rebased the ff14-launcher-9.x branch on wine-9.9 and confirmed that it works correctly as modified. wine-9.10 includes changes in dlls/mshtml which conflict with some of these changes
Looking at your branch, current Wine should already have alternatives for almost all features. While CC/GC integration is still missing, it shouldn't block functionality, it may just lead to OOM issues over time. Legacy constructors are also unimplemented, though they are irrelevant in this context. If any other fix is still missing, it would be interesting to know what exactly.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #46 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Off the top of my head (though this is based on old info and probably missing a bunch of stuff), it needs Typed Arrays for sure, DOM Parser parseFromString, better responseXML and crypto getRandomValues.
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #47 from Jacek Caban jacek@codeweavers.com --- (In reply to Gabriel Ivăncescu from comment #46)
Off the top of my head (though this is based on old info and probably missing a bunch of stuff), it needs Typed Arrays for sure, DOM Parser parseFromString, better responseXML and crypto getRandomValues.
None of that is present in Andrew's branch.
https://bugs.winehq.org/show_bug.cgi?id=48006
Thomas Barbier thomas.barbier@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|thomas.barbier@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=48006
--- Comment #48 from Andrew Church achurch+wine@achurch.org --- (In reply to Jacek Caban from comment #45)
If any other fix is still missing, it would be interesting to know what exactly.
Unfortunately, the launcher is still broken as of 10.0-rc1. The failure state is somewhat different, as the "loading" animation (3 dots) in the lower-right corner of the launcher now animates where it did not before, but while 10.0-rc1 with dlls/{jscript,mshtml} from my branch proceeds from the splash screen to the main launcher screen in about 2 seconds, vanilla 10.0-rc1 remains stuck on the splash screen after 30 seconds, so either something is still missing or there is an extreme performance issue.
I don't see any errors from jscript or mshtml, and running with WINEDEBUG=+jscript,+mshtml adds so much logging overhead that the window itself can barely open. Do you have any other diagnostic suggestions?