Bug 56427 - Не устанавливается ПО в wine (failed to load ntdll.dll error c0000135)
Summary: Не устанавливается ПО в wine (failed to load ntdll.dll error c0000135)
Status: CLOSED FIXED
Alias: None
Product: Branch p11
Classification: Unclassified
Component: wine (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-17 00:42 MSK by Шевченко Денис
Modified: 2025-10-26 22:42 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Шевченко Денис 2025-10-17 00:42:00 MSK
Пакет: wine-10.12.1-alt1
ОС: Альт Рабочая станция 11.1 Gnome, обновленная до актуального состояния
Wine устанавливался командой: epm play wine

Последнее обновление wine-10.12.1-alt1 в p11 принесло поддержку режима wow64, который позволит запускать и 32-битные и 64-битные приложения в 64-битном префиксе wine, при этом без необходимости использовать 32-битные библиотеки.

# build wow64 package (both 32/64 PE in the one package)
%def_with wow64

Пользователи начали жаловаться, что после данного обновления перестало запускаться ПО даже после пересоздания wine-префикса.

Проблему проверял с ПО SiteAnalizer (установщик брал здесь https://site-analyzer.ru/buy/), у которого есть и 32-битный установщик и 64-битный.

64-битное приложение не смог установить в 64-битном префиксе:
$ WINEPREFIX="/home/$USER/.wine" wineboot -i
$ wine /home/$USER/.wine/drive_c/SiteAnalyzer_x64_Setup.exe 
002c:fixme:winediag:loader_init wine-staging 10.12 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0128:fixme:winediag:loader_init wine-staging 10.12 is a testing version containing experimental patches.
0128:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0138:err:environ:init_peb starting L"C:\\SiteAnalyzer_x64_Setup.exe" in experimental wow64 mode
wine: failed to load L"\\??\\C:\\windows\\syswow64\\ntdll.dll" error c0000135

32-битное приложение также не смог установить в 64-битном префиксе:
$ WINEPREFIX="/home/$USER/.wine" wineboot -i
$ wine /home/$USER/.wine/drive_c/SiteAnalyzer_x32_Setup.exe 
002c:fixme:winediag:loader_init wine-staging 10.12 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0024:fixme:winediag:loader_init wine-staging 10.12 is a testing version containing experimental patches.
0024:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0134:err:environ:init_peb starting L"C:\\SiteAnalyzer_x32_Setup.exe" in experimental wow64 mode
wine: failed to load L"\\??\\C:\\windows\\syswow64\\ntdll.dll" error c0000135

32-битное приложение смог успешно установить и запустить в 32-битном перфиксе:
WINEARCH=win32 WINEPREFIX="/home/$USER/.wine32" wineboot -i
WINEARCH=win32 WINEPREFIX="$HOME/.wine32" wine /home/test/.wine32/drive_c/SiteAnalyzer_x32_Setup.exe

Есть ощущение, что wow64 режим как-то неправильно работает.
Прошу исследовать и решить проблему.
Comment 1 Шевченко Денис 2025-10-17 01:07:01 MSK
Также проверил:
wine-vanilla-9.2-alt1 - ошибка НЕ воспроизводится (и 32-битное и 64-битное ПО установилось и запустилось в 64-битном префиксе успешно)

wine-vanilla-10.15-alt1 (из таска #395307) - ошибка воспроизводится, аналогично тому, как это происходит с пакетом wine-10.12.1-alt1.
Comment 2 Oleg 2025-10-17 01:11:00 MSK
Подтверждаю проблему со своей стороны.
ОС: Starterkit KDE p11, со всеми обновлениями на 16.10.2025 13:00.
Wine установлен с помощью команды: 
# apt-get install wine wine-full i586-wine
# rpm -qa | grep wine
wine-common-10.12.1-alt1.noarch
wine-mono-8.1.0-8.1.0-alt1.noarch
wine-programs-10.12.1-alt1.x86_64
wine-gecko-2.47.4-2.47.4-alt1.noarch
wine-10.12.1-alt1.x86_64
winetricks-20250207-alt2.noarch
i586-wine-10.12.1-alt1.i586
libkwineffects14-5.27.11-alt4.x86_64
wine-full-10.12.1-alt1.x86_64
wine-mono-10.1.0-10.1.0-alt1.noarch 

Ошибка может заключаться в том, что в префиксе отсутствуют файлы в директории ~/wineprefix/drive_c/syswow64. В предидущих версиях wine файлы присутствовали.

При попытке установки dxvk или msxml4 выходит ошибка.
Пример лога: https://pastebin.com/BhcucBkA

При попытке установки https://www.7-zip.org/a/7z2501-x64.exe в 64bit префикс, или https://www.7-zip.org/a/7z2501.exe в 32bit префикс, наблюдается картина аналогичная той, что у автора бага. Как с назначением архитектуры префикса так и без.

Однако. при попытке установки InfanView(https://www.irfanview.com/) в соответствующий префикс, согласно указанной архитектуры установщика, наблюдается следующее:
Установка 64 битной программы в префикс без указания архитектуры или с указанием win64, а так же wow64 - установщик и сама программа работают нормально.
Установщик 32bit программы не запускается в префиксе без указания архитектуры или с указанием win64, wow64.
Установщик и программа 32bit нормально запускаются и работают в префиксе win32.
Comment 3 Антон Мидюков 2025-10-17 08:21:26 MSK
(Ответ для Шевченко Денис на комментарий #0)
> Пакет: wine-10.12.1-alt1
> ОС: Альт Рабочая станция 11.1 Gnome, обновленная до актуального состояния
> Wine устанавливался командой: epm play wine
> 

Какой ещё play? play для установки стороннего софта. Для установки из репозитория нужно использовать install.

> Последнее обновление wine-10.12.1-alt1 в p11 принесло поддержку режима
> wow64, который позволит запускать и 32-битные и 64-битные приложения в
> 64-битном префиксе wine, при этом без необходимости использовать 32-битные
> библиотеки.
> 
> # build wow64 package (both 32/64 PE in the one package)
> %def_with wow64
> 
> Пользователи начали жаловаться, что после данного обновления перестало
> запускаться ПО даже после пересоздания wine-префикса.
> 
> Проблему проверял с ПО SiteAnalizer (установщик брал здесь
> https://site-analyzer.ru/buy/), у которого есть и 32-битный установщик и
> 64-битный.
> 
> 64-битное приложение не смог установить в 64-битном префиксе:
> $ WINEPREFIX="/home/$USER/.wine" wineboot -i
> $ wine /home/$USER/.wine/drive_c/SiteAnalyzer_x64_Setup.exe 
> 002c:fixme:winediag:loader_init wine-staging 10.12 is a testing version
> containing experimental patches.
> 002c:fixme:winediag:loader_init Please mention your exact version when
> filing bug reports on winehq.org.
> 0128:fixme:winediag:loader_init wine-staging 10.12 is a testing version
> containing experimental patches.
> 0128:fixme:winediag:loader_init Please mention your exact version when
> filing bug reports on winehq.org.
> 0138:err:environ:init_peb starting L"C:\\SiteAnalyzer_x64_Setup.exe" in
> experimental wow64 mode
> wine: failed to load L"\\??\\C:\\windows\\syswow64\\ntdll.dll" error c0000135
> 
> 32-битное приложение также не смог установить в 64-битном префиксе:
> $ WINEPREFIX="/home/$USER/.wine" wineboot -i
> $ wine /home/$USER/.wine/drive_c/SiteAnalyzer_x32_Setup.exe 
> 002c:fixme:winediag:loader_init wine-staging 10.12 is a testing version
> containing experimental patches.
> 002c:fixme:winediag:loader_init Please mention your exact version when
> filing bug reports on winehq.org.
> 0024:fixme:winediag:loader_init wine-staging 10.12 is a testing version
> containing experimental patches.
> 0024:fixme:winediag:loader_init Please mention your exact version when
> filing bug reports on winehq.org.
> 0134:err:environ:init_peb starting L"C:\\SiteAnalyzer_x32_Setup.exe" in
> experimental wow64 mode
> wine: failed to load L"\\??\\C:\\windows\\syswow64\\ntdll.dll" error c0000135
> 
> 32-битное приложение смог успешно установить и запустить в 32-битном
> перфиксе:
> WINEARCH=win32 WINEPREFIX="/home/$USER/.wine32" wineboot -i
> WINEARCH=win32 WINEPREFIX="$HOME/.wine32" wine
> /home/test/.wine32/drive_c/SiteAnalyzer_x32_Setup.exe
> 
> Есть ощущение, что wow64 режим как-то неправильно работает.
> Прошу исследовать и решить проблему.

wow64 не идеален. Для особо капризного 32-битного софта нужно создавать отдельный 32-битный префикс, устанавливать в систему 32-битные библиотеки видеодрайвера.

Проверил как на Сизифе с wine-10.15.1-alt1. 64-битная версия пустое окно инсталлятора. 32-битная нормально запускается. i586-wine не установлен.
Comment 4 Шевченко Денис 2025-10-17 08:28:34 MSK
(Ответ для Антон Мидюков на комментарий #3)
> (Ответ для Шевченко Денис на комментарий #0)
> > Пакет: wine-10.12.1-alt1
> > ОС: Альт Рабочая станция 11.1 Gnome, обновленная до актуального состояния
> > Wine устанавливался командой: epm play wine
> > 
> 
> Какой ещё play? play для установки стороннего софта. Для установки из
> репозитория нужно использовать install.
Кроме epm play, проверялось также и на на обычной установке через apt-get install.
Но разве в данном случае это играет какую-то роль?

> wow64 не идеален. Для особо капризного 32-битного софта нужно создавать
> отдельный 32-битный префикс, устанавливать в систему 32-битные библиотеки
> видеодрайвера.
Ну так проблема и с 64-битным приложением.

> Проверил как на Сизифе с wine-10.15.1-alt1. 64-битная версия пустое окно
> инсталлятора. 32-битная нормально запускается. i586-wine не установлен.
32-битная нормально запускается в каком префиксе, 64-битном?
И про что имеется в виду "32-битная нормально запускается". Установщик ПО запускается? А само установленное ПО запускается?
Comment 5 Антон Мидюков 2025-10-17 09:39:07 MSK
(Ответ для Шевченко Денис на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #3)
> > (Ответ для Шевченко Денис на комментарий #0)
> > wow64 не идеален. Для особо капризного 32-битного софта нужно создавать
> > отдельный 32-битный префикс, устанавливать в систему 32-битные библиотеки
> > видеодрайвера.
> Ну так проблема и с 64-битным приложением.

А её раньше не было?

> 
> > Проверил как на Сизифе с wine-10.15.1-alt1. 64-битная версия пустое окно
> > инсталлятора. 32-битная нормально запускается. i586-wine не установлен.
> 32-битная нормально запускается в каком префиксе, 64-битном?
> И про что имеется в виду "32-битная нормально запускается". Установщик ПО
> запускается? А само установленное ПО запускается?

В 64 битном префиксе (wow64 по дефолту) работает это 32 битное приложение. И инсталлятор работает, и само приложение запускается после установки (функционал не проверял).
Comment 6 Vitaly Lipatov 2025-10-17 10:47:37 MSK
(Ответ для Антон Мидюков на комментарий #3)
> (Ответ для Шевченко Денис на комментарий #0)
> > Пакет: wine-10.12.1-alt1
> > ОС: Альт Рабочая станция 11.1 Gnome, обновленная до актуального состояния
> > Wine устанавливался командой: epm play wine
> > 
> 
> Какой ещё play? play для установки стороннего софта. Для установки из
> репозитория нужно использовать install.
epm play не обязательно сторонний софт ставит, в некоторых случаях он ставит и настраивает софт из репозитория (список рецептов в prescription.d).
Точнее, на самом деле это команда

epm prescription wine
но выбрано неудачное слово prescription, вовсе не глагол, поэтому его не используют, а epm play умеет смотреть и в prescription.d.
Comment 7 Vitaly Lipatov 2025-10-17 11:21:46 MSK
Всё просто, в пакете wine-10.12.1-alt1 из p11 отсутствует каталог с 32-битными библиотеками:
/usr/lib64/wine/i386-windows

При этом в wine-10.15.1-alt1 из Сизифа он имеется.

Нет /usr/lib64/wine/i386-windows и в задании
395307 EPERM #3 p11 wine-vanilla.git=10.15-alt1

Сейчас выясню, что такое в p11.
Comment 8 Vitaly Lipatov 2025-10-17 11:55:13 MSK
Проблема вызвана моим упущением, исправленный rpm-macros-features не доехал в p11, отправляю задание:
390094 AWAITING #5 [test-only] p11 rpm-macros-features.git=20250718-alt0.p11.2
Comment 9 Антон Мидюков 2025-10-17 11:56:15 MSK
(Ответ для Vitaly Lipatov на комментарий #8)
> Проблема вызвана моим упущением, исправленный rpm-macros-features не доехал
> в p11, отправляю задание:
> 390094 AWAITING #5 [test-only] p11
> rpm-macros-features.git=20250718-alt0.p11.2

А ребилд wine туда добавить не надо?
Comment 10 Григорий 2025-10-24 11:40:31 MSK
Установил Wine из реестра (wine, i586-wine.32bit). Захожу в "Приложения Wine" пытаюсь установить программу (пробовал разные, в том числе и по разрядности) - сразу выскакивает окно "Ошибка" "Неверный дескриптор."
В чём может быть проблема?
Comment 11 Шевченко Денис 2025-10-24 14:05:11 MSK
(Ответ для Григорий на комментарий #10)
> Установил Wine из реестра (wine, i586-wine.32bit). Захожу в "Приложения
> Wine" пытаюсь установить программу (пробовал разные, в том числе и по
> разрядности) - сразу выскакивает окно "Ошибка" "Неверный дескриптор."
> В чём может быть проблема?

Если у вас проблема такая же как в данном тикете, то ожидаем исправление в репозитории после прохождения таска https://packages.altlinux.org/ru/tasks/395307/.
Если у вас проблема иная, то лучше завести новый баг.
Comment 12 Шевченко Денис 2025-10-26 22:42:02 MSK
wine обновился в p11 до версии wine-10.16.1-alt1.
У меня проблема более не воспроизводится.
Спасибо за исправление, баг закрываю.