[Bug 38269] New: Project64k regression in Wine 1.5.20 and later
https://bugs.winehq.org/show_bug.cgi?id=38269 Bug ID: 38269 Summary: Project64k regression in Wine 1.5.20 and later Product: Wine Version: 1.5.20 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: leodexe(a)gmail.com Distribution: --- Created attachment 51097 --> https://bugs.winehq.org/attachment.cgi?id=51097 Output from the terminal when the program is being executed Well, it is quite simple. When you execute Project64k (READ CAREFULLY), Project64k, NOT the standard Project 64 emulator, but the one that has netplay capabilities within any version of Wine older than 1.5.20 it won't recognize controller plugins, no matter what controller plugin you actually use it won't work so basically you will not be able to play online due to the controller inputs being disabled. If you run Project64k with Wine 1.5.19 or older it will just run fine without any problems, though. I have added an attachment which shows the output from the terminal when you run the program via terminal, if it happens to be something useful there so the regression can be fixed. Note that this regression both affects x86 and x64 versions of Wine. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Leonardo Véliz <leodexe(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Distribution|--- |ArchLinux -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #1 from Austin English <austinenglish(a)gmail.com> ---
[vlz(a)archdell bin]$ ./wine /home/vlz/Descargas/Project64k/Project64k.exe
cd to the directory first.
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
Fix your wine build. Please run a regression test: http://wiki.winehq.org/RegressionTesting -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #2 from Leonardo Véliz <leodexe(a)gmail.com> ---
[vlz(a)archdell bin]$ ./wine /home/vlz/Descargas/Project64k/Project64k.exe
cd to the directory first. 1. How exactly "cd *directory*" is related to the regression or does it matter in any way?
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
Fix your wine build.
2. I didn't compile the wine binary myself, I took it from PlayonLinux binaries (https://www.playonlinux.com/wine/binaries/linux-x86/) since my computer can't really compile wine at all due to poor hardware specs.
Please run a regression test: http://wiki.winehq.org/RegressionTesting
3. I haven't done so yet, so I will give it a try and post the results later. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #3 from Austin English <austinenglish(a)gmail.com> --- (In reply to Leonardo Véliz from comment #2)
[vlz(a)archdell bin]$ ./wine /home/vlz/Descargas/Project64k/Project64k.exe
cd to the directory first.
1. How exactly "cd *directory*" is related to the regression or does it matter in any way?
That is in the FAQ.
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
Fix your wine build.
2. I didn't compile the wine binary myself, I took it from PlayonLinux binaries (https://www.playonlinux.com/wine/binaries/linux-x86/) since my computer can't really compile wine at all due to poor hardware specs.
PlayOnLinux is not supported, you should be testing in plain wine (latest is 1.7.39, not 1.5.20). Otherwise this bug is invalid. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #4 from Leonardo Véliz <leodexe(a)gmail.com> ---
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
Fix your wine build.
2. I didn't compile the wine binary myself, I took it from PlayonLinux binaries (https://www.playonlinux.com/wine/binaries/linux-x86/) since my computer can't really compile wine at all due to poor hardware specs.
PlayOnLinux is not supported, you should be testing in plain wine (latest is 1.7.39, not 1.5.20). Otherwise this bug is invalid. The first thing I did was to run Project64k on CURRENT Wine version. And it didn't work too. Are PlayonLinux's Wine binaries any different than vanilla Wine? Because the fact that Project64k will run fine on any version older than 1.5.20 and will throw the same controller error plugin on later versions wouldn't make any sense at all. I don't see why they can't be used for testing as long as I choose unmodded and precompiled binaries, which are stored in PlayOnLinux website for simplicity sake. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Sebastian Lackner <sebastian(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian(a)fds-team.de -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #5 from Austin English <austinenglish(a)gmail.com> --- (In reply to Leonardo Véliz from comment #4)
I don't see why they can't be used for testing as long as I choose unmodded and precompiled binaries
PlayOnLinux is anything but 'unmodded' -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |pj64k.blogspot.com CC| |gyebro69(a)gmail.com, | |julliard(a)winehq.org Summary|Project64k regression in |Project64k fails to load |Wine 1.5.20 and later |controller plugins Ever confirmed|0 |1 --- Comment #6 from Béla Gyebrószki <gyebro69(a)gmail.com> --- Googling for "Project64k" resulted the website pj64k.blogspot.com which redirects me to the site http://pj64k.blogspot.hu/ where the application can be downloaded (Project64k Core 1.4 version 0.13). I'm getting the following error message when starting Project64.exe: "Current controller dll could not be used please selected another one" The error message is present since 1.5.20: 4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a is the first bad commit commit 4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a Author: Alexandre Julliard <julliard(a)winehq.org> Date: Sat Dec 15 16:49:47 2012 +0100 include: Force stack alignment also on Linux to work around the ABI breakage. wine-1.7.39-75-g3c2d0b9 Fedora 21 x86 gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC) -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |4adfb787f4e8c36a37ce1d53a7e | |6df16d03ecd8a -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL|pj64k.blogspot.com |http://pj64k.blogspot.hu/ -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #7 from Alexandre Julliard <julliard(a)winehq.org> --- The error goes away with +relay, so most likely an uninitialized stack variable or some other stack layout dependency. You can try to bisect which Wine module should be compiled without that commit, but ultimately it will probably turn out to be an app bug. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 --- Comment #8 from Leonardo Véliz <leodexe(a)gmail.com> --- Thanks for fixing the title. I had to be more specific. In the mean time I will search how to compile Wine from source because for some reason I can't compile some programs. I use Arch Linux x86, I don't know if that has something to do or there is something that i'm overlooking. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Ken Sharp <imwellcushtymelike(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Abandoned? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 willem(a)willemdemmers.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |willem(a)willemdemmers.com --- Comment #9 from willem(a)willemdemmers.com --- I've tried this with "wine-1.9.6 (Staging)" and I get the same error (Controller.dll)(In reply to Béla Gyebrószki from comment #6)
Googling for "Project64k" resulted the website pj64k.blogspot.com which redirects me to the site http://pj64k.blogspot.hu/ where the application can be downloaded (Project64k Core 1.4 version 0.13).
I'm getting the following error message when starting Project64.exe: "Current controller dll could not be used please selected another one"
The error message is present since 1.5.20:
4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a is the first bad commit commit 4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a Author: Alexandre Julliard <julliard(a)winehq.org> Date: Sat Dec 15 16:49:47 2012 +0100
include: Force stack alignment also on Linux to work around the ABI breakage.
wine-1.7.39-75-g3c2d0b9 Fedora 21 x86 gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
This Controller.dll issue is still present with "wine-1.9.6 (Staging)". -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|NEW |RESOLVED --- Comment #10 from Alexandre Julliard <julliard(a)winehq.org> --- The app is loading the Jabo_DInput.dll plugin and calling its GetDllInfo entry point. It then checks the returned structure for Type == 4 (controller) and Version == 0x100, which matches. It then checks that offset 0x6c in that structure contains non-zero: 0x00449532: call *0x46007c -> 0x7b457f80 LoadLibraryA in kernel32 0x00449538: testl %eax,%eax 0x0044953a: movl %eax,0x0048de90 0x0044953f: jz 0x00449592 0x00449541: movl 0x00460078,%esi 0x00449547: pushl $0x469594 0x0044954c: pushl %eax 0x0044954d: call *%esi -> GetProcAddress 0x0044954f: testl %eax,%eax 0x00449551: movl %eax,0x00493e48 0x00449556: jz 0x00449592 0x00449558: leal 0xc(%esp),%ecx 0x0044955c: pushl %ecx 0x0044955d: call *%eax -> GetDllInfo 0x0044955f: movl 0x12(%esp),%edx 0x00449563: andl $0xffff,%edx 0x00449569: leal 0xffffffff(%edx),%eax 0x0044956c: addl $4,%esp 0x0044956f: cmpl $3,%eax 0x00449572: jnbe 0x00449592 0x00449574: jmp *0x4496e8(,%eax,4) [...] 0x004495c6: movw 0xc(%esp),%ax 0x004495cb: cmpw $256,%ax 0x004495cf: jnz 0x00449592 0x004495d1: movl 0x78(%esp),%ecx 0x004495d5: testl %ecx,%ecx 0x004495d7: jz 0x00449592 (jump in failure case) The structure is apparently: typedef struct { WORD Version; WORD Type; char Name[100]; BOOL NormalMemory; BOOL MemoryBswaped; } PLUGIN_INFO; So it wants MemoryBswaped to be non-zero. But the plugin never puts anything in there: 0x011f2e10 GetDllInfo in jabo_dinput: movl 0x4(%esp),%eax 0x011f2e14: pushl $0x11f7aa4 0x011f2e19: pushl $0x11f7b3c 0x011f2e1e: movw $0x100,0x0(%eax) 0x011f2e23: movw $0x4,0x2(%eax) 0x011f2e29: addl $4,%eax 0x011f2e2c: pushl %eax 0x011f2e2d: call *0x11f6068 -> 0x7bdc2240 MSVCRT_sprintf 0x011f2e33: addl $12,%esp 0x011f2e36: ret As expected, it's checking uninitialized stack data, and will fail randomly if that stack address happens to contain 0. It's a plugin bug, and I don't see a good way of working around it in Wine. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #11 from Austin English <austinenglish(a)gmail.com> --- Closing. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |RESOLVED --- Comment #12 from Austin English <austinenglish(a)gmail.com> --- This was inadvertently caught up in my unclosed bugs filter. NOTOURBUG should only be closed when fixed upstream. Setting back to RESOLVED NOTOURBUG. Sorry for the spam. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=38269 Ken Sharp <imwellcushtymelike(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|Abandoned? | -- 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.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla