https://bugs.winehq.org/show_bug.cgi?id=41428
Bug ID: 41428 Summary: The Forest: Terminal gets spammed with errors if Steam is running Product: Wine Version: 1.9.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: sworddragon2@aol.com Distribution: ---
If The Forest gets started while Steam is running in the background the terminal gets spammed with the following error (being in the main menu and just minimizing the game is already enough to see them): err:module:find_forwarded_export function not found for forward 'xinput1_3.XInputGetStateEx' used by L"C:\windows\system32\xinput1_4.dll"
This happens only if The Forest gets started while Steam is running in the background. If The Forest gets directly started while Steam is not running in the background this error does not appear.
https://bugs.winehq.org/show_bug.cgi?id=41428
sworddragon2@aol.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |40272 CC| |00cpxxx@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41428
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #1 from fjfrackiewicz@gmail.com --- Created attachment 55826 --> https://bugs.winehq.org/attachment.cgi?id=55826 Downwell terminal output Wine 1.9.20
Downwell also has the error
err:module:find_forwarded_export function not found for forward 'xinput1_3.XInputGetStateEx' used by L"C:\windows\system32\xinput1_4.dll". If you are using builtin L"xinput1_4.dll", try using the native one instead.
when a) Steam is running in the background and b) my wired Xbox360 controller is hooked up to my machine.
Wine-1.9.20-72-geac56fb
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #2 from Bruno Jesus 00cpxxx@gmail.com --- Please attach a +module,+loaddll,+imports.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #3 from fjfrackiewicz@gmail.com --- Created attachment 55838 --> https://bugs.winehq.org/attachment.cgi?id=55838 WINEDEBUG=+module,+loaddll,+imports wine Downwell.exe
WINEDEBUG=+module,+loaddll,+imports from wine-1.9.20-72-geac56fb.
Also, there's no option for me to run Downwell without Steam as the executable itself calls up Steam when I use the command "wine Downwell.exe".
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #4 from Bruno Jesus 00cpxxx@gmail.com --- Thanks for the log.
warn:module:load_builtin_dll failed to load .so lib for builtin L"C:\windows\system32\xinput1_3.dll": /home/mint/.wine/dosdevices/c:/windows/system32/xinput1_3.dll: invalid ELF header
I don't know how to properly interpret the log but it looks like a mixed 32/64 bit DLL issue. Maybe something (steam/game?) have installed wrong native xinput dlls.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #5 from fjfrackiewicz@gmail.com --- (In reply to Bruno Jesus from comment #4)
Thanks for the log.
warn:module:load_builtin_dll failed to load .so lib for builtin L"C:\windows\system32\xinput1_3.dll": /home/mint/.wine/dosdevices/c:/windows/system32/xinput1_3.dll: invalid ELF header
I don't know how to properly interpret the log but it looks like a mixed 32/64 bit DLL issue. Maybe something (steam/game?) have installed wrong native xinput dlls.
Yeah, I noticed the ELF header warnings too but I am at a loss because the prefix I have the game installed into is a proper 32-bit prefix.
I do have Wine with WoW64 support, perhaps you'd like me to try this again in a WoW64 prefix?
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- I know someone else that had this issue and his comments were:
" Invalid Elf header does imply it's the wrong "bittage". That said, it was a native Windows binary, not a Wine generated file which is why it was giving that error message. That's pretty normal. I've deleted them now so that Wine replaces them with its "stub" versions instead. "
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #7 from fjfrackiewicz@gmail.com --- Created attachment 55839 --> https://bugs.winehq.org/attachment.cgi?id=55839 WINEDEBUG=+module,+loaddll,+imports wine Downwell.exe 64-bit xinput1_3 deleted
I've deleted xinput1_3.dll from C:\windows\system32 and that got rid of the ELF header warnings so here's a log without them, if it helps any.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com ---
fixme:xinput:XInputGetState (index 0, state 0x33f430) Stub! fixme:xinput:XInputGetStateEx (index 0, state 0x33f3d8) Stub!
Now the DLL is being loaded correctly, probably the correct solution is to change the spec file somehow to make XInputGetStateEx be loaded by ordinal and not by name, I don't know how to do that.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #9 from fjfrackiewicz@gmail.com --- (In reply to Bruno Jesus from comment #8)
fixme:xinput:XInputGetState (index 0, state 0x33f430) Stub! fixme:xinput:XInputGetStateEx (index 0, state 0x33f3d8) Stub!
Now the DLL is being loaded correctly, probably the correct solution is to change the spec file somehow to make XInputGetStateEx be loaded by ordinal and not by name, I don't know how to do that.
Would this proposed patch be of any help http://source.winehq.org/patches/data/126649 ?
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to fjfrackiewicz from comment #9)
Would this proposed patch be of any help http://source.winehq.org/patches/data/126649 ?
Not really as the problem is in a different level (the buitin DLL is not loaded because a native one exists). I missed that patch in the list but has a few different problems, the main problem is it would make Wine have triplicated source code to read joystick data from the OS (currently the code is duplicated in winejoystick.drv and dinput). Wine is walking towards removing this code duplication by using a single driver that other dlls (winejoystick.drv, dinput and xinput) will be able to share.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #11 from Bruno Jesus 00cpxxx@gmail.com --- To fix this bug Wine should always use builtin DLL instead of native. Should only use native if explicitly configured in winecfg, not sure if that is possible but if my memory serves me right I recall about some "prefer builtin" comments in some Dll startup functions but I could not find an example.
https://bugs.winehq.org/show_bug.cgi?id=41428
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #12 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #11)
To fix this bug Wine should always use builtin DLL instead of native. Should only use native if explicitly configured in winecfg, not sure if that is possible but if my memory serves me right I recall about some "prefer builtin" comments in some Dll startup functions but I could not find an example.
http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/xinput1_3/xinput1_3_ma...
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #13 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #12)
(In reply to Bruno Jesus from comment #11)
To fix this bug Wine should always use builtin DLL instead of native. Should only use native if explicitly configured in winecfg, not sure if that is possible but if my memory serves me right I recall about some "prefer builtin" comments in some Dll startup functions but I could not find an example.
http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/xinput1_3/ xinput1_3_main.c#l42
Yes! It was so close, but I was "grepping" the files for "prefer builtin" instead of "prefer native", so just changing line 47 to TRUE is going to fix the issue, Dmitry?
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #14 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #13)
To fix this bug Wine should always use builtin DLL instead of native. Should only use native if explicitly configured in winecfg, not sure if that is possible but if my memory serves me right I recall about some "prefer builtin" comments in some Dll startup functions but I could not find an example.
http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/xinput1_3/ xinput1_3_main.c#l42
Yes! It was so close, but I was "grepping" the files for "prefer builtin" instead of "prefer native", so just changing line 47 to TRUE is going to fix the issue, Dmitry?
Probably. Someone needs to make an actual change, recompile, and test it :)
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #15 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 55851 --> https://bugs.winehq.org/attachment.cgi?id=55851 patch
Please try the attached patch.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #16 from fjfrackiewicz@gmail.com --- (In reply to Bruno Jesus from comment #15)
Created attachment 55851 [details] patch
Please try the attached patch.
Updated Wine to the latest git (wine-1.9.20-112-g28cfa30 as I write this) Created a new 32-bit prefix with the default Windows XP mode. Installed Steam Installed Downwell via Steam Ran it via 'wine Downwell.exe" Started the game via the Steam client
So, as of right now, I am not seeing the
err:module:find_forwarded_export function not found for forward 'xinput1_3.XInputGetStateEx' used by L"C:\windows\system32\xinput1_4.dll"
errors anymore.
https://bugs.winehq.org/show_bug.cgi?id=41428
--- Comment #17 from fjfrackiewicz@gmail.com --- (In reply to fjfrackiewicz from comment #16)
(In reply to Bruno Jesus from comment #15)
Created attachment 55851 [details] patch
Please try the attached patch.
Updated Wine to the latest git (wine-1.9.20-112-g28cfa30 as I write this) Created a new 32-bit prefix with the default Windows XP mode. Installed Steam Installed Downwell via Steam Ran it via 'wine Downwell.exe" Started the game via the Steam client
So, as of right now, I am not seeing the
err:module:find_forwarded_export function not found for forward 'xinput1_3.XInputGetStateEx' used by L"C:\windows\system32\xinput1_4.dll"
errors anymore.
And I applied the patch as well, forgot to mention that, sorry.
https://bugs.winehq.org/show_bug.cgi?id=41428
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |4b09e848b8867683007f4c90ac5 | |89b43dfdc5707 Component|-unknown |xinput Resolution|--- |FIXED
--- Comment #18 from Bruno Jesus 00cpxxx@gmail.com --- Fixed by http://source.winehq.org/git/wine.git/commitdiff/4b09e848b8867683007f4c90ac5...
https://bugs.winehq.org/show_bug.cgi?id=41428
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.23.
https://bugs.winehq.org/show_bug.cgi?id=41428
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=41428
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #20 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.6.