[Bug 42474] New: unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx
https://bugs.winehq.org/show_bug.cgi?id=42474 Bug ID: 42474 Summary: unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx Product: Wine Version: 2.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: api-ms-win-* Assignee: wine-bugs(a)winehq.org Reporter: anonymous.maarten(a)gmail.com Distribution: --- Hey, python 3.6 (32- and 64-bit) needs the unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx URL: https://www.python.org/ftp/python/3.6.0/python-3.6.0-embed-amd64.zip $ du -b python-3.6.0-embed-amd64.zip 6925798 python-3.6.0-embed-amd64.zip $ shasum python-3.6.0-embed-amd64.zip 37bf20dcf39dfca096b11d29865202229a8fcb42 python-3.6.0-embed-amd64.zip $ wine --version wine-2.0 (Staging) Running Fedora 24 -- 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=42474 Maarten <anonymous.maarten(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://www.python.org/ftp/ | |python/3.6.0/python-3.6.0-e | |mbed-amd64.zip -- 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=42474 --- Comment #1 from Nikolay Sivov <bunglehead(a)gmail.com> --- What is your Wine version set to? -- 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=42474 --- Comment #2 from Nikolay Sivov <bunglehead(a)gmail.com> --- Sorry, what I meant to ask was, what Windows version is set for your wineprefix. -- 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=42474 --- Comment #3 from Maarten <anonymous.maarten(a)gmail.com> --- The default version: Windows XP Changing it to 8 or 10 in winecfg keeps the same behavior. -- 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=42474 Gijs Vermeulen <acescopezz(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |acescopezz(a)gmail.com --- Comment #4 from Gijs Vermeulen <acescopezz(a)gmail.com> ---
From what I can find about this function, it should forward to kernelbase.dll. But when I look inside the .spec file this function is not listed there.
I found this info on this website: http://www.geoffchappell.com/studies/windows/win32/kernelbase/api/index.htm?... I guess the .spec file for kernelbase.dll has to be updated? -- 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=42474 --- Comment #5 from Austin English <austinenglish(a)gmail.com> --- (In reply to Gijs Vermeulen from comment #4)
From what I can find about this function, it should forward to kernelbase.dll. But when I look inside the .spec file this function is not listed there.
I found this info on this website: http://www.geoffchappell.com/studies/windows/win32/kernelbase/api/index. htm?tx=18
I guess the .spec file for kernelbase.dll has to be updated?
Yeah. I see it in my copy from Windows 10 (but not windows 7). -- 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=42474 --- Comment #6 from Gijs Vermeulen <acescopezz(a)gmail.com> --- (In reply to Austin English from comment #5)
(In reply to Gijs Vermeulen from comment #4)
From what I can find about this function, it should forward to kernelbase.dll. But when I look inside the .spec file this function is not listed there.
I found this info on this website: http://www.geoffchappell.com/studies/windows/win32/kernelbase/api/index. htm?tx=18
I guess the .spec file for kernelbase.dll has to be updated?
Yeah. I see it in my copy from Windows 10 (but not windows 7).
According to MSDN the function was added in Windows 8. -- 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=42474 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|unimplemented function |Python 3.6 needs function |api-ms-win-core-path-l1-1-0 |api-ms-win-core-path-l1-1-0 |.dll.PathCchCombineEx |.dll.PathCchCombineEx CC| |00cpxxx(a)gmail.com Keywords| |download -- 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=42474 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |austinenglish(a)gmail.com Ever confirmed|0 |1 --- Comment #7 from Austin English <austinenglish(a)gmail.com> --- (In reply to Gijs Vermeulen from comment #6)
(In reply to Austin English from comment #5)
(In reply to Gijs Vermeulen from comment #4)
From what I can find about this function, it should forward to kernelbase.dll. But when I look inside the .spec file this function is not listed there.
I found this info on this website: http://www.geoffchappell.com/studies/windows/win32/kernelbase/api/index. htm?tx=18
I guess the .spec file for kernelbase.dll has to be updated?
Yeah. I see it in my copy from Windows 10 (but not windows 7).
According to MSDN the function was added in Windows 8.
I sent a patch to sync the specfile: https://source.winehq.org/patches/data/131819 -- 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=42474 --- Comment #8 from Austin English <austinenglish(a)gmail.com> --- (In reply to Austin English from comment #7)
(In reply to Gijs Vermeulen from comment #6)
(In reply to Austin English from comment #5)
(In reply to Gijs Vermeulen from comment #4)
From what I can find about this function, it should forward to kernelbase.dll. But when I look inside the .spec file this function is not listed there.
I found this info on this website: http://www.geoffchappell.com/studies/windows/win32/kernelbase/api/index. htm?tx=18
I guess the .spec file for kernelbase.dll has to be updated?
Yeah. I see it in my copy from Windows 10 (but not windows 7).
According to MSDN the function was added in Windows 8.
I sent a patch to sync the specfile: https://source.winehq.org/patches/data/131819
Committed: https://source.winehq.org/git/wine.git/commitdiff/646117bf915e70e170a45cec56... -- 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=42474 Sebastian Ernst <ernst(a)pleiszenburg.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ernst(a)pleiszenburg.de --- Comment #9 from Sebastian Ernst <ernst(a)pleiszenburg.de> --- *** Bug 42887 has been marked as a duplicate of this 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=42474 --- Comment #10 from Sebastian Ernst <ernst(a)pleiszenburg.de> --- @Austin English: How can I test this patch? I just tested both Wine 2.6 and Wine Staging 2.6 against CPython 3.6.1 with Windows Version set to XP, 7 and 10. No difference / no luck. (However, I just figured out that CPython 3.5.3 does not require "PathCchCombineEx" and therefore runs.) -- 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=42474 --- Comment #11 from Gijs Vermeulen <acescopezz(a)gmail.com> --- (In reply to Sebastian Ernst from comment #10)
@Austin English: How can I test this patch? I just tested both Wine 2.6 and Wine Staging 2.6 against CPython 3.6.1 with Windows Version set to XP, 7 and 10. No difference / no luck.
(However, I just figured out that CPython 3.5.3 does not require "PathCchCombineEx" and therefore runs.)
The patch he was talking about was an update of the .spec file for kernelbase.dll. It use somewhat related to this bug, but does not fix it. -- 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=42474 --- Comment #12 from Gijs Vermeulen <acescopezz(a)gmail.com> --- Created attachment 58036 --> https://bugs.winehq.org/attachment.cgi?id=58036 stub try I tried stubbing it, but it still fails. -- 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=42474 --- Comment #13 from Austin English <austinenglish(a)gmail.com> --- (In reply to Gijs Vermeulen from comment #12)
Created attachment 58036 [details] stub try
I tried stubbing it, but it still fails.
Try E_NOTIMPL instead of S_OK. -- 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=42474 --- Comment #14 from Gijs Vermeulen <acescopezz(a)gmail.com> --- (In reply to Austin English from comment #13)
(In reply to Gijs Vermeulen from comment #12)
Created attachment 58036 [details] stub try
I tried stubbing it, but it still fails.
Try E_NOTIMPL instead of S_OK.
When I do that, I get this error: "Fatal Python error: buffer overflow in getpathp.c's join()" With S_OK I get this error: "Fatal Python error: Py_Initialize: unable to load the file system codec ModuleNotFoundError: No module named 'encodings'" -- 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=42474 --- Comment #15 from Sebastian Ernst <ernst(a)pleiszenburg.de> --- Looks like "PathCchCombineEx" really is Windows 8 and above only. The odd things is though that Python 3.6 should explicitly support Windows Vista and 7. This API-call therefore should not exist. I opened a bug against CPython seeking clarification: http://bugs.python.org/issue30186 -- 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=42474 --- Comment #16 from Sebastian Ernst <ernst(a)pleiszenburg.de> --- Relaying this from Eryk Sun in the Python bug tracker: "PathCchCombineEx isn't an import dependency. It's used dynamically via LoadLibraryW and GetProcAddress, with a fallback to PathCombineW. Does Wine maybe have a stub for this function that returns E_NOTIMPL (not implemented)?" I looked at the code to understand what he says: https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L219 Lines 219 to 242 is really where all the relevant stuff happens. Python tries to get the address of PathCchCombineEx. If that fails, it falls back to PathCombineW. My understanding is that Wine even if it is set to Windows Vista or 7 returns an address for PathCchCombineEx which does not allow Python to fall back to PathCombineW. If PathCchCombineEx just was not there (in Windows Vista and 7 settings) or would return E_NOTIMPL, it might allow Python 3.6 to work (assuming a working implementation of PathCombineW). Btw, Python 3.5 was using its own logic at this point: https://github.com/python/cpython/blob/3.5/PC/getpathp.c#L167 Does this information allow you to fix this issue? -- 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=42474 --- Comment #17 from Gijs Vermeulen <acescopezz(a)gmail.com> --- (In reply to Sebastian Ernst from comment #16)
-snip-
In my patch I tried returning E_NOTIMPL and I got the error: Fatal Python error: buffer overflow in getpathp.c's join() Maybe you could reply that in the python 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=42474 --- Comment #18 from Sebastian Ernst <ernst(a)pleiszenburg.de> --- I just did. In the meantime, there are two lines of code which could trigger this exact fatal error (the messages are ironically identical): https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L237 https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L240 If it is the latter, you might be looking at a bug in your implementation of PathCombineW (?). I do not have a tool chain up and running for re-compiling Python for Windows with a bit more verbosity at this very spot ... Maybe this would help. -- 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=42474 --- Comment #19 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to Sebastian Ernst from comment #16)
My understanding is that Wine even if it is set to Windows Vista or 7 returns an address for PathCchCombineEx which does not allow Python to fall back to PathCombineW. If PathCchCombineEx just was not there (in Windows Vista and 7 settings) or would return E_NOTIMPL, it might allow Python 3.6 to work (assuming a working implementation of PathCombineW).
Right, from their code, as soon as export is available it will be used, there's no Windows version thing, which is a good thing. Stub won't help here obviously, this needs real implementation in kernelbase.dll. -- 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=42474 --- Comment #20 from Gijs Vermeulen <acescopezz(a)gmail.com> --- (In reply to Sebastian Ernst from comment #18)
I just did.
In the meantime, there are two lines of code which could trigger this exact fatal error (the messages are ironically identical): https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L237 https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L240
If it is the latter, you might be looking at a bug in your implementation of PathCombineW (?). I do not have a tool chain up and running for re-compiling Python for Windows with a bit more verbosity at this very spot ... Maybe this would help.
This "bug" is being tracked here btw bug 33317 . So I guess this bug and that bug can be merged and the lack of PathCchCombineEx implementation can be added to the title? (In reply to Nikolay Sivov from comment #19)
Right, from their code, as soon as export is available it will be used, there's no Windows version thing, which is a good thing. Stub won't help here obviously, this needs real implementation in kernelbase.dll.
Thanks for the explanation. Do you agree to merge this with bug 33317 ? -- 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=42474 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #58036|0 |1 is obsolete| | --- Comment #21 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- Created attachment 58895 --> https://bugs.winehq.org/attachment.cgi?id=58895 Hack If someone really wants this to work, you can use this hack. It just hides the exports so the program uses a different code path and falls back to something that is implemented. -- 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=42474 Sebastian Lackner <sebastian(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |dmitry(a)baikal.ru, | |erich.e.hoover(a)wine-staging | |.com, michael(a)fds-team.de, | |sebastian(a)fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/kernelbase-Pat | |hCchCombineEx -- 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=42474 Derek Lambert <dlambert(a)dereklambert.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dlambert(a)dereklambert.com -- 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=42474 --- Comment #22 from Derek Lambert <dlambert(a)dereklambert.com> --- Another workaround: After deleting lib/wine/fakedlls/api-ms-win-core-path-l1-1-0.dll and lib/wine/api-ms-win-core-path-l1-1-0.dll.so I was able to install Python 3.6. -- 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=42474 Christian <c_pradelli(a)yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |c_pradelli(a)yahoo.com -- 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=42474 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arny91(a)yahoo.it --- Comment #23 from Anastasius Focht <focht(a)gmx.net> --- *** Bug 44750 has been marked as a duplicate of this 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=42474 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Python 3.6 needs function |Multiple applications crash |api-ms-win-core-path-l1-1-0 |on unimplemented function |.dll.PathCchCombineEx |api-ms-win-core-path-l1-1-0 | |.dll.PathCchCombineEx | |(Python 3.6, AutoFlashGUI) CC| |focht(a)gmx.net Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/kernelbase-Pat |er/patches/kernelbase-PathC |hCchCombineEx |chCombineEx --- Comment #24 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, obviously still present. Refining summary to collect more apps (dupes) here. Also updating the Staging patchset URL to point to current "master" Wine-Staging repo. $ wine --version wine-3.4 Regards -- 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=42474 Józef Kucia <joseph.kucia(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple applications crash |Multiple applications crash |on unimplemented function |on unimplemented function |api-ms-win-core-path-l1-1-0 |api-ms-win-core-path-l1-1-0 |.dll.PathCchCombineEx |.dll.PathCchCombineEx |(Python 3.6, AutoFlashGUI) |(Python 3.6, AutoFlashGUI, | |RenderDoc) CC| |joseph.kucia(a)gmail.com -- 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=42474 Walter Woden <wodencafe(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wodencafe(a)gmail.com --- Comment #25 from Walter Woden <wodencafe(a)gmail.com> --- Hi guys, I get this error Unhandled exception: unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx called in 32-bit code When trying to run an application, FAForever (A external lobby application and mod manager to the game Supreme Commander: Forged Alliance) with 64 bit wine. The application is installed in 32 bit mode (/Program Files (x86)/) I tried with the latest 3.6 and still get the error, after installing and attempting to launch the application. The strange thing is, I only encounter this error with 64 bit wine, I do not encounter this error when installing and running the application with the latest 32 bit wine, even though within 64 bit wine the application is being run in 32 bit mode. Please let me know if there additional info or assistance I can provide in solving this. -- 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=42474 tokktokk <fdsfgs(a)krutt.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs(a)krutt.org -- 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=42474 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew.thomas(a)hpcwales.co.u | |k --- Comment #26 from Fabian Maurer <dark.shadow4(a)web.de> --- *** Bug 33317 has been marked as a duplicate of this 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=42474 Zhiyi Zhang <zzhang(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang(a)codeweavers.com -- 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=42474 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|api-ms-win-* |kernelbase -- 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=42474 Zhiyi Zhang <zzhang(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|STAGED |RESOLVED Fixed by SHA1| |6150e20868df947ae745c36b6e2 | |73bce556e4e92 --- Comment #27 from Zhiyi Zhang <zzhang(a)codeweavers.com> --- Fixed by https://source.winehq.org/git/wine.git/commit/6150e20868df947ae745c36b6e273b... -- 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=42474 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #28 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 4.0-rc1. -- 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=42474 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|kernelbase |kernel32 -- 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