https://bugs.winehq.org/show_bug.cgi?id=43071
Bug ID: 43071 Summary: Bayonetta: can't read its "system_data" config file Product: Wine Version: 2.8 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: distorsheon@gmail.com Distribution: ---
Created attachment 58250 --> https://bugs.winehq.org/attachment.cgi?id=58250 console output when game fails to start
Bayonetta starts and works after install. When some settings are changed, they are stored in Documents\Bayonetta\system_data file. If the file is created, starting Bayonetta for the next time fails, the game hangs after being launched. The file itself appears to be correct (same as the one the game normally creates).
Workaround: *delete system_data file *make config directory read-only
System info: *kubuntu 17.04 *GTX960M, Nvidia Prime *clean 64bit prefix *Steam version of the game (with D3DCompiler_43.dll placed next to the game binary) *wine-2.8 was used with CSMT enabled in order to workaround bug #42911. *wine-2.8-staging shows similar behaviour
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #1 from Yurii distorsheon@gmail.com --- Every test of Bayonetta on wine mentions this bug. Tests on AppDB included. It's perfectly reproducible.
https://bugs.winehq.org/show_bug.cgi?id=43071
Yurii distorsheon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Bayonetta: can't read its |Bayonetta can't read its |"system_data" config file |"system_data" config file
https://bugs.winehq.org/show_bug.cgi?id=43071
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=43071
Yurii distorsheon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |distorsheon@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43071
Yurii distorsheon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|distorsheon@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #2 from Yurii distorsheon@gmail.com --- Created attachment 58272 --> https://bugs.winehq.org/attachment.cgi?id=58272 part of the log, WINEDEBUG="fixme+all,trace+relay,+snoop"
https://bugs.winehq.org/show_bug.cgi?id=43071
Yurii distorsheon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #58272|part of the log, |part of the log, description|WINEDEBUG="fixme+all,trace+ |WINEDEBUG="fixme+all,trace+ |relay,+snoop" |relay,+snoop" | | | |Probably | |related to the cause: at | |some point the game | |1. | |tries to create file | |2. | |founds out it already | |exists | |3. queries its size | |4. reads it | |5. closes it | |6. | |prints somewhere "Failed to | |read save data." | |7. runs | |GetTickCount() in an | |infinite loop
--- Comment #3 from Yurii distorsheon@gmail.com --- Comment on attachment 58272 --> https://bugs.winehq.org/attachment.cgi?id=58272 part of the log, WINEDEBUG="fixme+all,trace+relay,+snoop"
Probably related to the cause: at some point the game 1. tries to create file 2. founds out it already exists 3. queries its size 4. reads it 5. closes it 6. prints somewhere "Failed to r
0009:Call KERNEL32.CreateFileA(0033fb44 "C:\users\yuri\My Documents/Bayonetta/system_data",80000000,00000000,00000000,00000003,40000080,00000000) ret=00c7df31 0045:Call msvcr100.sqrt(20000000,3d796b99) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.sqrt(e0000000,3d714532) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.sqrt(00000000,3d700000) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.sqrt(00000000,3d700000) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.sqrt(c0000000,3d77fa67) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.sqrt(20000000,3d796b99) ret=00ca11de 0045:Ret msvcr100.sqrt() retval=7dbb43a0 ret=00ca11de 0045:Call msvcr100.memcpy_s(0eceeb40,00000400,0ecdca10,00000400) ret=00cc0890 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0045:Call msvcr100.memset(0ecdca10,00000000,00000400) ret=00cc08b1 0045:Ret msvcr100.memset() retval=0ecdca10 ret=00cc08b1 0009:Ret KERNEL32.CreateFileA() retval=00000180 ret=00c7df31 0045:Call msvcr100.memcpy_s(0ecef340,00000400,0ecdce10,00000400) ret=00cc0890 0009:Call KERNEL32.GetFileSize(00000180,00000000) ret=00c7df42 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0045:Call msvcr100.memset(0ecdce10,00000000,00000400) ret=00cc08b1 0045:Ret msvcr100.memset() retval=0ecdce10 ret=00cc08b1 0045:Call msvcr100.memcpy_s(0ecefb40,00000400,0ecdd210,00000400) ret=00cc0890 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0009:Ret KERNEL32.GetFileSize() retval=00000690 ret=00c7df42 0045:Call msvcr100.memset(0ecdd210,00000000,00000400) ret=00cc08b1 0009:Call ntdll.RtlAllocateHeap(06520000,00000001,000006e0) ret=00c6bbb0 0045:Ret msvcr100.memset() retval=0ecdd210 ret=00cc08b1 0009:Ret ntdll.RtlAllocateHeap() retval=06549e48 ret=00c6bbb0 0045:Call msvcr100.memcpy_s(0ecf0340,00000400,0ecdd610,00000400) ret=00cc0890 0009:Call msvcr100.memset(06549e60,00000000,00000690) ret=00c6bc71 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0009:Ret msvcr100.memset() retval=06549e60 ret=00c6bc71 0045:Call msvcr100.memset(0ecdd610,00000000,00000400) ret=00cc08b1 0009:Call KERNEL32.ReadFile(00000180,06549e60,00000690,00000000,05ba3544) ret=00c7df7d 0045:Ret msvcr100.memset() retval=0ecdd610 ret=00cc08b1 0045:Call msvcr100.memcpy_s(0ecf0b40,00000400,0ecdda10,00000400) ret=00cc0890 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0045:Call msvcr100.memset(0ecdda10,00000000,00000400) ret=00cc08b1 0045:Ret msvcr100.memset() retval=0ecdda10 ret=00cc08b1 0009:Ret KERNEL32.ReadFile() retval=00000001 ret=00c7df7d 0045:Call msvcr100.memcpy_s(0ecf1340,00000400,0ecdde10,00000400) ret=00cc0890 0009:Call KERNEL32.GetLastError() ret=00c7df83 0045:Ret msvcr100.memcpy_s() retval=00000000 ret=00cc0890 0009:Ret KERNEL32.GetLastError() retval=00000000 ret=00c7df83 0045:Call msvcr100.memset(0ecdde10,00000000,00000400) ret=00cc08b1 0009:Call KERNEL32.CloseHandle(00000180) ret=00c7e269 0045:Ret msvcr100.memset() retval=0ecdde10 ret=00cc08b1 0045:Call msvcr100.memset(0ecdca10,00000000,00002000) ret=00ca03e4 0009:Ret KERNEL32.CloseHandle() retval=00000001 ret=00c7e269 0045:Ret msvcr100.memset() retval=0ecdca10 ret=00ca03e4 0009:Call msvcr100.memset(06549e48,00000000,000006e0) ret=00c6bd03 0045:Call msvcr100.memset(0e8fe760,00000000,000000fc) ret=00cb3d44 0009:Ret msvcr100.memset() retval=06549e48 ret=00c6bd03 0045:Ret msvcr100.memset() retval=0e8fe760 ret=00cb3d44 0009:Call ntdll.RtlFreeHeap(06520000,00000001,06549e48) ret=00c6bd31 0045:Call msvcr100.memcpy(0ecf2c70,0ecdca10,00000400) ret=00ca0ce6 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=00c6bd31 0045:Ret msvcr100.memcpy() retval=0ecf2c70 ret=00ca0ce6 0009:Call msvcr100.memset(05b85688,00000000,0000041c) ret=00c71c0e 0045:Call msvcr100.memcpy(0ecf3070,0ecdce10,00000400) ret=00ca0ce6 0009:Ret msvcr100.memset() retval=05b85688 ret=00c71c0e 0045:Ret msvcr100.memcpy() retval=0ecf3070 ret=00ca0ce6 0009:Call msvcr100.vswprintf_s(05b85690,00000200,00e712bc L"Failed to read save data.",0033fc4c) ret=00c71c9e 0045:Call msvcr100.memcpy(0ecf3470,0ecdd210,00000400) ret=00ca0ce6 0009:Ret msvcr100.vswprintf_s() retval=00000019 ret=00c71c9e 0045:Ret msvcr100.memcpy() retval=0ecf3470 ret=00ca0ce6 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memcpy(0ecf3870,0ecdd610,00000400) ret=00ca0ce6 0009:Ret KERNEL32.GetTickCount() retval=00874bf0 ret=00c14925 0045:Ret msvcr100.memcpy() retval=0ecf3870 ret=00ca0ce6 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memcpy(0ecf3c70,0ecdda10,00000400) ret=00ca0ce6 0009:Ret KERNEL32.GetTickCount() retval=00874bf0 ret=00c14925 0045:Ret msvcr100.memcpy() retval=0ecf3c70 ret=00ca0ce6 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memcpy(0ecf4070,0ecdde10,00000400) ret=00ca0ce6 0009:Ret KERNEL32.GetTickCount() retval=00874bf1 ret=00c14925 0045:Ret msvcr100.memcpy() retval=0ecf4070 ret=00ca0ce6 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memset(0ecdca10,00000000,00002000) ret=00c9fd76 0009:Ret KERNEL32.GetTickCount() retval=00874bf1 ret=00c14925 0045:Ret msvcr100.memset() retval=0ecdca10 ret=00c9fd76 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memset(0ecdee30,00000000,00002000) ret=00c9fd76 0009:Ret KERNEL32.GetTickCount() retval=00874bf1 ret=00c14925 0045:Ret msvcr100.memset() retval=0ecdee30 ret=00c9fd76 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memset(0fe5c0d0,00000000,00000200) ret=00cb661a 0009:Ret KERNEL32.GetTickCount() retval=00874bf1 ret=00c14925 0045:Ret msvcr100.memset() retval=0fe5c0d0 ret=00cb661a 0009:Call KERNEL32.GetTickCount() ret=00c14925 0045:Call msvcr100.memset(0fe5e650,00000000,00000200) ret=00cb661a 0009:Ret KERNEL32.GetTickCount() retval=00874bf1 ret=00c14925
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #4 from Yurii distorsheon@gmail.com --- (double post)
https://bugs.winehq.org/show_bug.cgi?id=43071
Toni eldrad@autistici.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eldrad@autistici.org
--- Comment #5 from Toni eldrad@autistici.org --- The root cause for this bug is the same one as for: https://bugs.winehq.org/show_bug.cgi?id=42982
Both read and write config operations suffer from the same problem:
Bayonetta requests asynchronous read/write and expects windows error STATUS_PENDIGN to be set, but wine does it sync and doesnt set it.
Check the following comment for more details: https://bugs.winehq.org/show_bug.cgi?id=42982
Check the following alternative patches from that bug that solve this issue:
https://bugs.winehq.org/attachment.cgi?id=58626
https://bugs.winehq.org/attachment.cgi?id=58627
(they are two different approaches to fixing the problem, just one of the patches is needed to solve the problem)
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #6 from Toni eldrad@autistici.org --- Sorry the link for the relevant comment on the other bug is:
https://bugs.winehq.org/show_bug.cgi?id=42982#c7
https://bugs.winehq.org/show_bug.cgi?id=43071
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #7 from Yurii distorsheon@gmail.com --- (In reply to Toni from comment #5)
Check the following alternative patches from that bug that solve this issue:
I confirm, this patch solved the problem for me.
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #8 from mrdeathjr28@yahoo.es --- Fixed in last git
Many Thanks Paul Gofman - Jacek Kaban
https://bugs.winehq.org/show_bug.cgi?id=43071
--- Comment #9 from mrdeathjr28@yahoo.es --- Vanquish fixed too many thanks
https://bugs.winehq.org/show_bug.cgi?id=43071
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |730b47e5309618fdb563f299b3d | |bebecb5a39af8 Status|UNCONFIRMED |RESOLVED
--- Comment #10 from Gijs Vermeulen gijsvrm@gmail.com --- Reported fixed, resolving.
https://source.winehq.org/git/wine.git/commit/730b47e5309618fdb563f299b3dbebecb5a39af8
https://bugs.winehq.org/show_bug.cgi?id=43071
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |ntdll
https://bugs.winehq.org/show_bug.cgi?id=43071
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.4.