[Bug 42255] New: Xenia emulator needs ntdll.dll.RtlAddGrowableFunctionTable
https://bugs.winehq.org/show_bug.cgi?id=42255 Bug ID: 42255 Summary: Xenia emulator needs ntdll.dll.RtlAddGrowableFunctionTable Product: Wine Version: 2.0-rc5 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs(a)winehq.org Reporter: fjfrackiewicz(a)gmail.com Distribution: --- Created attachment 56942 --> https://bugs.winehq.org/attachment.cgi?id=56942 Terminal output Wine 2.0-rc5 IF you attempt to run the Xenia emulator in a WoW64 prefix in Windows XP mode, the program crashes with the following error: wine: Unimplemented function ntdll.dll.RtlAddGrowableFunctionTable called at address 0x7bc5f96c (thread 0026), starting debugger... Steps to reproduce: 1. Download the emulator in the link I have provided 2. Make a WoW64 prefix (requires multilib Wine) 3. Run "winetricks vcrun2015" before running the program 4. Attempt to install the program with "wine xenia.exe" -- 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=42255 --- Comment #1 from fjfrackiewicz(a)gmail.com --- Created attachment 56943 --> https://bugs.winehq.org/attachment.cgi?id=56943 Backtrace Wine 2.0-rc5 -- 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=42255 fjfrackiewicz(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://github.com/benvanik | |/xenia/releases/download/xe | |nia-master-1.0.119/xenia-ma | |ster-558395c250c212c4b5a768 | |97370c78ef14fe6e33.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=42255 --- Comment #2 from fjfrackiewicz(a)gmail.com --- File info: 0f093926f6a749a596241da6ee359685 xenia-master-558395c250c212c4b5a76897370c78ef14fe6e33.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=42255 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish(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=42255 fjfrackiewicz(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |win64 -- 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=42255 --- Comment #3 from fjfrackiewicz(a)gmail.com --- More info about this function can be found here: http://filelog.net/func/RtlAddGrowableFunctionTable -- 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=42255 BieHDC <byi5000(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |byi5000(a)gmail.com --- Comment #4 from BieHDC <byi5000(a)gmail.com> --- Can confirm the missing function. https://msdn.microsoft.com/en-us/library/windows/desktop/hh405352(v=vs.85).a... Download link to the program (it says jp, but its in english) http://xenia.jp/ -- 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=42255 --- Comment #5 from Austin English <austinenglish(a)gmail.com> --- Created attachment 59935 --> https://bugs.winehq.org/attachment.cgi?id=59935 stub Does this 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=42255 --- Comment #6 from BieHDC <byi5000(a)gmail.com> --- Created attachment 59940 --> https://bugs.winehq.org/attachment.cgi?id=59940 wine log of xenia No it does not resolve the issue. The window just quickly pops up and closes silently (no message box appears) applied patches were yours and louis' patch from here https://bugs.winehq.org/show_bug.cgi?id=44035 -- 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=42255 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Xenia emulator needs |Xenia emulator needs |ntdll.dll.RtlAddGrowableFun |ntdll.dll.RtlAddGrowableFun |ctionTable |ctionTable implementation --- Comment #7 from Austin English <austinenglish(a)gmail.com> --- (In reply to BieHDC from comment #6)
Created attachment 59940 [details] wine log of xenia
No it does not resolve the issue. The window just quickly pops up and closes silently (no message box appears)
applied patches were yours and louis' patch from here https://bugs.winehq.org/show_bug.cgi?id=44035
Thanks for testing. Presumably it needs a real implemention. -- 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=42255 Chris <chridye(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |chridye(a)gmail.com --- Comment #8 from Chris <chridye(a)gmail.com> --- Created attachment 62686 --> https://bugs.winehq.org/attachment.cgi?id=62686 more recent crash report from xenia -- 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=42255 --- Comment #9 from Chris <chridye(a)gmail.com> --- Didn't realize the comment would show up with that crash report being uploaded. Xenia is still in need of this instruction. It would be nice to have Xenia working under wine since the d3d12 branch is working much better than the vulkan branch right now. -- 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=42255 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht(a)gmx.net Ever confirmed|0 |1 Keywords| |source --- Comment #10 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, confirming and behalf of OP. I found the corresponding source on Github: https://github.com/xenia-project/xenia/blob/master/src/xenia/cpu/backend/x64... --- snip --- bool Win32X64CodeCache::Initialize() { if (!X64CodeCache::Initialize()) { return false; } // Compute total number of unwind entries we should allocate. // We don't support reallocing right now, so this should be high. unwind_table_.resize(kMaximumFunctionCount); #ifdef USE_GROWABLE_FUNCTION_TABLE // Create table and register with the system. It's empty now, but we'll grow // it as functions are added. if (RtlAddGrowableFunctionTable( &unwind_table_handle_, unwind_table_.data(), unwind_table_count_, DWORD(unwind_table_.size()), reinterpret_cast<ULONG_PTR>(generated_code_base_), reinterpret_cast<ULONG_PTR>(generated_code_base_ + kGeneratedCodeSize))) { XELOGE("Unable to create unwind function table"); return false; } #else // Install a callback that the debugger will use to lookup unwind info on // demand. if (!RtlInstallFunctionTableCallback( reinterpret_cast<DWORD64>(generated_code_base_) | 0x3, reinterpret_cast<DWORD64>(generated_code_base_), kGeneratedCodeSize, [](uintptr_t control_pc, void* context) { auto code_cache = reinterpret_cast<X64CodeCache*>(context); return reinterpret_cast<PRUNTIME_FUNCTION>( code_cache->LookupUnwindEntry(control_pc)); }, this, nullptr)) { XELOGE("Unable to install function table callback"); return false; } #endif // USE_GROWABLE_FUNCTION_TABLE return true; } --- snip --- 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=42255 --- Comment #11 from Austin English <austinenglish(a)gmail.com> --- Well luckily Microsoft has finally documented it: https://docs.microsoft.com/en-us/windows/desktop/api/winnt/nf-winnt-rtladdgr... I took 5 minutes to try to add a stub, but seeing a weird compiler error; will try to look more 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=42255 --- Comment #12 from Austin English <austinenglish(a)gmail.com> --- (In reply to Austin English from comment #11)
Well luckily Microsoft has finally documented it: https://docs.microsoft.com/en-us/windows/desktop/api/winnt/nf-winnt- rtladdgrowablefunctiontable
I took 5 minutes to try to add a stub, but seeing a weird compiler error; will try to look more later.
Dumbness solved. Returning STATUS_NOT_IMPLEMENTED fails. If I return STATUS_SUCCESS instead, it gets further, then needs ntdll.dll.RtlGrowFunctionTable. Bedtime now though. -- 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=42255 --- Comment #13 from Chris <chridye(a)gmail.com> --- Was that change merged into the development branch? -- 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=42255 --- Comment #14 from Anastasius Focht <focht(a)gmx.net> --- Hello Chris, --- quote --- Was that change merged into the development branch? --- quote --- obviously not otherwise you would see further activity here (comments, status changes etc.). It sometimes takes weeks, months or in exceptional cases several years until code gets merged in mainline ;-) You can watch the mailing list by yourself: https://www.winehq.org/pipermail/wine-devel or even have a look at the source: https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/ntdll.spec (search for the missing API function entries) 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=42255 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x(a)gmail.com --- Comment #15 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- (In reply to Anastasius Focht from comment #14)
Hello Chris,
. It sometimes takes weeks, months or in exceptional
cases several years until code gets merged in mainline ;-)
I`ve sent Staging guys mail with request to include patch in Staging. Looks like Alex already tested the patch long time ago https://github.com/alexhenrie/wine/commit/2149d8fdc33ed093bec4c8d1129e47d7af... so maybe there might be some progress hopefully -- 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=42255 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair(a)hotmail.com Status|NEW |STAGED Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/ntdll-RtlAddGrow | |ableFunctionTable -- 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=42255 Alex Henrie <alexhenrie24(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |80991720def8d597332bcd61fcb | |49c00f0feaa21 Status|STAGED |RESOLVED CC| |alexhenrie24(a)gmail.com Resolution|--- |FIXED --- Comment #16 from Alex Henrie <alexhenrie24(a)gmail.com> --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/80991720def8d597332bcd61fc... -- 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=42255 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #17 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.
participants (1)
-
wine-bugs@winehq.org