https://bugs.winehq.org/show_bug.cgi?id=48777
Bug ID: 48777 Summary: msiexec failure with glibc>=2.31 Product: Wine Version: 5.4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: xantares09@hotmail.com Distribution: ---
on archlinux x86_64, with glibc 2.31, current wine 5.4, msiexec fails with an error code 67:
cd /tmp && wget http://www.python.org/ftp/python/2.7.16/python-2.7.16.msi && WINEARCH=win32 WINEPREFIX=~/.wine_glibc231 msiexec /i python-2.7.16.msi /qb TARGETDIR=$PWD 0009:err:msi:ACTION_InstallFiles compressed file wasn't installed (L"w9xpopen.exe") 0009:err:msi:execute_script Execution of script 0 halted; action L"InstallFiles" returned 1603 0009:err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603 0009:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 3) 0009:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 3)
I bisected the change in glibc to a change related to the futimens function: https://github.com/bminor/glibc/commit/42893aa38fd6041d349ea0427c4d5ccbacd9a... Is is possible that the 32bits build of wine erroneously call futimens64 ?
If I rollback glibc to 2.30 or patch wine to not use futimens, the problem disappears: diff --git a/include/config.h.in b/include/config.h.in index de434d6..192cbcc 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -210,7 +210,7 @@ #undef HAVE_FT_TRUETYPEENGINETYPE
/* Define to 1 if you have the `futimens' function. */ -#undef HAVE_FUTIMENS +/*#undef HAVE_FUTIMENS*/ It is used in https://github.com/wine-mirror/wine/blob/master/dlls/ntdll/file.c#L1914
I cant tell if its a bug in wine or glibc.
An error can also happen if you have a lot of simultaneous wine processes.
https://bugs.winehq.org/show_bug.cgi?id=48777
xantares xantares09@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |ArchLinux
https://bugs.winehq.org/show_bug.cgi?id=48777
--- Comment #1 from xantares xantares09@hotmail.com --- it looks like an alignment issue: in __utimensat64_helper tsp64[1].tv_sec and tsp64[1].tv_nsec have the values of tsp64[0].tv_sec and tsp64[1].tv_sec
https://bugs.winehq.org/show_bug.cgi?id=48777
xantares xantares09@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #2 from xantares xantares09@hotmail.com --- turns out to be a glibc bug in futimens when compiled in 32bits mode