https://bugs.winehq.org/show_bug.cgi?id=55050
Bug ID: 55050 Summary: Wine stucks when creating prefix Product: Wine Version: 8.10 Hardware: x86-64 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: loader Assignee: wine-bugs@winehq.org Reporter: andrey.goosev@gmail.com CC: julliard@winehq.org Regression SHA1: cc2cfb9b792bee681b96c5859084fd6d4d0bbed7 Distribution: ---
wine: created the configuration directory '/home/andrey/.wine' 002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0) 002c:err:wineboot:start_services_process Couldn't start services.exe: error 998
https://bugs.winehq.org/show_bug.cgi?id=55050
Jinoh Kang jinoh.kang.kr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jinoh.kang.kr@gmail.com
--- Comment #1 from Jinoh Kang jinoh.kang.kr@gmail.com --- Confirmed on Fedora 37.
https://bugs.winehq.org/show_bug.cgi?id=55050
--- Comment #2 from Jinoh Kang jinoh.kang.kr@gmail.com --- (In reply to Jinoh Kang from comment #1)
Confirmed on Fedora 37.
It seems like glibc data or heap is being overwritten by locale.nls mappings, which results in SEGV. I suppose the loader does not really like the PIC changes very much, and ends up unmapping memory ares that are *actually* used.
https://bugs.winehq.org/show_bug.cgi?id=55050
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Created attachment 74624 --> https://bugs.winehq.org/attachment.cgi?id=74624 Force PIE
Does this help?
https://bugs.winehq.org/show_bug.cgi?id=55050
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
--- Comment #4 from Rémi Bernon rbernon@codeweavers.com --- I'm not suffering from the same symptoms, but definitely the same culprit. In my case it's the user driver that fails to load:
004c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 004c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start." 004c:err:systray:initialize_systray Could not create tray window
Patch from Comment 3 fixes the issue for me.
https://bugs.winehq.org/show_bug.cgi?id=55050
--- Comment #5 from Jinoh Kang jinoh.kang.kr@gmail.com --- (In reply to Alexandre Julliard from comment #3)
Created attachment 74624 [details] Force PIE
Does this help?
Yes, it does. Thank you! I have a few more comments:
1. -Wl,-pie alone does not instruct GCC to use the PIE version of crtbegin.o (crtbeginS.o; note the "S"). crtbegin.o may use relocations that are incompatible with PIE or PIC (e.g., R_X86_64_32 cannot represent displacements possible in a large code model) which leads to linker error.
2. AFAIK -fPIE is harmless even when applied to an object linked into non-PIE executables, so I think it doesn't hurt to specify it as UNIX_CFLAGS (if it works) for loader/Makefile.in. The preloader (still non-PIE and has fixed address) might get slightly bloated due to PIC/PIE code (but work just fine), though.
https://bugs.winehq.org/show_bug.cgi?id=55050
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |78ed343842dcd8ffb95c4164209 | |53e121959d40d Resolution|--- |FIXED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- It should be fixed by 78ed343842dcd8ffb95c416420953e121959d40d, thanks for testing it!
https://bugs.winehq.org/show_bug.cgi?id=55050
Eric Pouech eric.pouech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |--- CC| |eric.pouech@gmail.com Status|RESOLVED |REOPENED
--- Comment #7 from Eric Pouech eric.pouech@gmail.com --- reopening as:
still not sufficient here:
CCLD loader/wine64-preloader loader/preloader.o: in function `wld_start': /home/eric/wine/wine/loader/preloader.c:1402:(.text+0xc33): failed to convert GOTPCREL relocation against '_start'; relink with --no-relax collect2: error: ld returned 1 exit status
adding -Wl,--no-relax to preloader link operation fixes the issue (at least allows linking, and notepad starts)
$ uname -a Linux fedora.home 6.3.8-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 15 02:15:40 UTC 2023 x86_64 GNU/Linux
https://bugs.winehq.org/show_bug.cgi?id=55050
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|REOPENED |RESOLVED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- That's a different issue, please file a new bug.
https://bugs.winehq.org/show_bug.cgi?id=55050
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.11.