https://bugs.winehq.org/show_bug.cgi?id=45493
Bug ID: 45493 Summary: SRPG Studio games fail to run Product: Wine Version: 3.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: jscript Assignee: wine-bugs@winehq.org Reporter: galtgendo@o2.pl Distribution: ---
AFAICT, all SRPG Studio (an engine: http://www.srpgstudio.com/) games fail to run without setting up WINEDLLOVERRIDES="jscript=n".
Lets use Vestaria Saga as an example (download link on http://site.wepage.com/vestariasaga/page5-02).
Without native jscript, all that happens after launching it is an error dialog with string 'A-Phese 7'.
The whole of builtin jscript debug log is short and not all that helpful:
0085:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x4ca7c0, 43) stub 0085:trace:jscript:DllMain (0x7cda0000 8 (nil)) 0085:trace:jscript:DllMain (0x7cda0000 1 (nil)) 0085:trace:jscript:DllGetClassObject (CLSID_JScript {00000001-0000-0000-c000-000000000046} 0x33f6c8) 0085:trace:jscript:ClassFactory_QueryInterface (0x7ce3dc50)->(IID_IClassFactory 0x33f6c8) 0085:trace:jscript:ClassFactory_AddRef (0x7ce3dc50) 0085:trace:jscript:JScriptFactory_CreateInstance ((nil) {bb1a2ae1-a4f9-11cf-8f20-00805f2cd064} 0x33f6c4) 0085:trace:jscript:JScript_QueryInterface (0x7b0f4040)->(IID_IActiveScript 0x33f6c4) 0085:trace:jscript:JScript_AddRef (0x7b0f4040) ref=2 0085:trace:jscript:JScript_Release (0x7b0f4040) ref=1 0085:trace:jscript:ClassFactory_Release (0x7ce3dc50) 0085:trace:jscript:JScript_SetScriptSite (0x7b0f4040)->(0x19c7e0) 0085:trace:jscript:JScript_AddNamedItem (0x7b0f4040)->(L"root" 42)
https://bugs.winehq.org/show_bug.cgi?id=45493
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW URL| |https://drive.google.com/uc | |?id=0B2rfAsFivoYIeXFxYnA0d0 | |drY2M&export=download Keywords| |download Summary|SRPG Studio games fail to |SRPG Studio games don't run |run |with builtin jscript CC| |dark.shadow4@web.de Ever confirmed|0 |1
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Confirming, the game does only start up after "winetricks -q wsh57", and jscript override is enough.
https://bugs.winehq.org/show_bug.cgi?id=45493
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
--- Comment #2 from Jacek Caban jacek@codeweavers.com --- It seems to be a similar problem to one that was fixed in vbscript lately. Our AddNamedItem() implementation expects script engine to be initialized before the call. Native probably doesn't have that restriction.
https://bugs.winehq.org/show_bug.cgi?id=45493
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #3 from Jacek Caban jacek@codeweavers.com --- Actually, we already have a bug for that.
*** This bug has been marked as a duplicate of bug 37607 ***
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #4 from Rafał Mużyło galtgendo@o2.pl --- Created attachment 66048 --> https://bugs.winehq.org/attachment.cgi?id=66048 a hackish backport
Closing this as a pure duplicate might be a bit premature.
While the attached hackish partial backport makes things moving past the initial crash, either I messed something up or a little bit more is necessary, as another crash happens shortly after that doesn't happen with native.
Not sure if it's relevant, but before the crash there's a little flood of ' fixme:jscript:DispatchEx_InvokeEx' referring to unimplemented DISPATCH_PROPERTYPUTREF.
https://bugs.winehq.org/show_bug.cgi?id=45493
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|DUPLICATE |--- Depends on| |37607 Status|RESOLVED |REOPENED
--- Comment #5 from Jacek Caban jacek@codeweavers.com --- OK, it means that there are more bugs. We can make this bug about the followup then. DISPATCH_PROPERTYPUTREF seems likely to be the cause. We don't support it in InvokeEx. We should probably treat it like DISPATCH_PROPERTYPUT.
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #6 from Rafał Mużyło galtgendo@o2.pl --- ...given that vbscript doesn't implement it either, I've got no idea how to follow that up...
I probably misunderstand the code, but the only part that looks like it's implementing anything is a little bit in get_propput_arg in vbdisp.c, but that too little for my understanding of the code.
Only case implemented seems to be (DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYPUTREF), but that not the case here.
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #7 from Rafał Mużyło galtgendo@o2.pl --- ...however the option of me getting that backport wrong is quite strong, given the crashes come with strings like 'page fault on read access to 0x00000052 in 32-bit code (0x004191c5).' which might hint toward stack corruption.
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #8 from Rafał Mużyło galtgendo@o2.pl --- ...time to note a minor improvement: now, instead of crashing, app self-terminates after those DISPATCH_PROPERTYPUTREF calls.
https://bugs.winehq.org/show_bug.cgi?id=45493
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|SRPG Studio games don't run |SRPG Studio games need |with builtin jscript |proper | |DISPATCH_PROPERTYPUTREF | |implementation
https://bugs.winehq.org/show_bug.cgi?id=45493
Robert T rjtulloh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rjtulloh@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=45493
Gabriel Ivăncescu gabrielopcode@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabrielopcode@gmail.com
--- Comment #9 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Should be fixed by 3349dc5eeacd2abdaf3ae9b2f3aa67cca391f9f6. Can you please test with wine git?
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #10 from Rafał Mużyło galtgendo@o2.pl --- Well, I've only checked that particular commit and have yet to do any real tests, but the simple check of the place that consistently failed gives now a pass.
Though that commit looks odd...Should it really be that simple ?
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #11 from Gabriel Ivăncescu gabrielopcode@gmail.com --- (In reply to Rafał Mużyło from comment #10)
Well, I've only checked that particular commit and have yet to do any real tests, but the simple check of the place that consistently failed gives now a pass.
Though that commit looks odd...Should it really be that simple ?
Well, PUTREF is supposed to be used for references to objects, which was already the case (jscript treats objects as references, i.e. passing them around doesn't copy by value). According to the tests, "values" are unaffected by PUTREF and act just like PUT.
It's possible I missed corner cases I didn't think of, of course. If you find something different or a corner case with PUTREF, feel free to report it or even write tests yourself if you want to. My guess is that PUTREF is probably different in languages where objects are not necessarily treated as refs.
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #12 from Robert T rjtulloh@gmail.com --- This appears to be fixed as of Wine 7.7. Neither Vestaria Saga (Steam version from Dangen) or Vestaria Saga II (Dangen's English version or Japanese versions from Steam) crash starting with that version.
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #13 from Gijs Vermeulen gijsvrm@gmail.com --- Rafał, is this fixed?
https://bugs.winehq.org/show_bug.cgi?id=45493
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #14 from joaopa jeremielapuree@yahoo.fr --- Works fine for me too with wine-9.9 Archived here https://drive.usercontent.google.com/download?id=0B2rfAsFivoYIeXFxYnA0d0drY2...
Reported fixed several times. Time to close this bug as FIXED. Can an administrator close this bug as FIXED?
https://bugs.winehq.org/show_bug.cgi?id=45493
--- Comment #15 from joaopa jeremielapuree@yahoo.fr --- Archive here https://web.archive.org/web/20240518191934/https://drive.usercontent.google....
https://bugs.winehq.org/show_bug.cgi?id=45493
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |3349dc5eeacd2abdaf3ae9b2f3a | |a67cca391f9f6
--- Comment #16 from Gijs Vermeulen gijsvrm@gmail.com --- Works fine for me too in wine-9.9. I was able to start a new game and click around a bit.
Marking FIXED.
https://bugs.winehq.org/show_bug.cgi?id=45493
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://drive.google.com/uc |https://web.archive.org/web |?id=0B2rfAsFivoYIeXFxYnA0d0 |/20240518191934/https://dri |drY2M&export=download |ve.usercontent.google.com/d | |ownload?id=0B2rfAsFivoYIeXF | |xYnA0d0drY2M&export=downloa | |d&confirm=t
--- Comment #17 from Gijs Vermeulen gijsvrm@gmail.com --- Adding a stable download.
$ sha1sum Vestaria.zip 4fb788eebfc0d76c0aa2856db137060c745eb5de Vestaria.zip
$ du -sh Vestaria.zip 396M Vestaria.zip
https://bugs.winehq.org/show_bug.cgi?id=45493
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.10.