Bug 43020 - Новая версия wine не запускает старые префиксы без предварительного wineboot -u
Summary: Новая версия wine не запускает старые префиксы без предварительного wineboot -u
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: wine (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-19 21:23 MSK by Vyacheslav Dikonov
Modified: 2022-12-16 15:38 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vyacheslav Dikonov 2022-06-19 21:23:45 MSK
В полностью настроенном префиксе стоит foobar2000 (для гадких непроигрываемых иначе звукофайлов). Ни одна версия wine из Сизифа после wine-6.15.1-alt1 не может запустить его и прочие вин32 атавизмы. 

Запуск foobar2000 с текущей версией wine из Сизифа:
$ rpm -q wine
wine-7.6.1-alt2.x86_64
$ rpm -q i586-wine
i586-wine-7.6.1-alt2.i586


$ wine ./foobar2000.exe 
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.6 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
002c:err:winediag:getaddrinfo Failed to resolve your host name IP
0034:err:virtual:virtual_setup_exception stack overflow 1412 bytes in thread 0034 addr 0x7bc48683 stack 0x120a7c (0x120000-0x121000-0x220000)
0084:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0001\\0&0000&0&0".
0084:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0002\\0&0000&0&0".
0070:err:virtual:virtual_setup_exception stack overflow 964 bytes in thread 0070 addr 0x7274733c stack 0x1430c3c (0x1430000-0x1431000-0x1530000)
0098:err:virtual:virtual_setup_exception stack overflow 1348 bytes in thread 0098 addr 0x7bc48683 stack 0x120abc (0x120000-0x121000-0x220000)
003c:err:service:process_send_command service protocol error - failed to write pipe!
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1053
00a8:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Sentinel": c0000142
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"Sentinel" failed to start: 1114
0068:err:sync:RtlpWaitForCriticalSection section 7BC72328 "dlls/ntdll/loader.c: loader_section" wait timed out in thread 0068, blocked by 0070, retrying (60 sec)
003c:err:service:process_send_command receiving command result timed out
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 1053
003c:err:service:process_send_command receiving command result timed out
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 1053
002c:err:virtual:virtual_setup_exception stack overflow 1348 bytes in thread 002c addr 0x7bc48683 stack 0x120abc (0x120000-0x121000-0x220000)
0024:err:virtual:virtual_setup_exception stack overflow 1476 bytes in thread 0024 addr 0x7bc48683 stack 0x120a3c (0x120000-0x121000-0x220000)


и ... ничего. Окошко не появляется, программа не работает.

(Новый wine удален. Apt-get update в 2021 год. Точечная установка в свежий Сизиф старого wine)

Запуск со старой рабочей версией wine:

$ rpm -q i586-wine
i586-wine-6.15.1-alt1.i586

$ wine ./foobar2000.exe 
002c:fixme:winediag:LdrInitializeThunk wine-staging 6.15 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
002c:err:winediag:getaddrinfo Failed to resolve your host name IP
00d0:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Sentinel": c0000142
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"Sentinel" failed to start: 1114
00e8:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\iccvid.dll" (error=80)
00e8:err:setupapi:SetupDefaultQueueCallbackW copy error 2 L"@C:\\windows\\system32\\ws2_32.dll,-1" -> L"C:\\windows\\system32\\drivers\\etc\\hosts"
00e8:err:setupapi:SetupDefaultQueueCallbackW copy error 2 L"@C:\\windows\\system32\\ws2_32.dll,-4" -> L"C:\\windows\\system32\\drivers\\etc\\services"
00e8:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00e8:fixme:ntdll:NtQuerySystemInformation (0x00000007,0x2de980,0x00000018,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation (0x00000050,0x2de980,0x00000054,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_CACHE_INFORMATION
00e8:fixme:ntdll:NtQuerySystemInformation (0x00000021,0x2deae8,0x00000010,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation (0x0000002d,0x2deae8,0x00000020,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation (0x0000003d,0x2deb00,0x00000a90,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation (0x00000012,0x2deb00,0x00000a90,0x21cd18) stub
00e8:fixme:ntdll:NtQuerySystemInformation (0x0000002a,0x2deb18,0x00000a78,0x21cd18) stub
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:reg:RegQueryInfoKeyW security argument not supported.
00e8:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 10003241, 28) stub
wine: configuration in L"home/slava/.wine" has been updated.
0154:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
0154:fixme:win:RegisterShellHookWindow (0002006E): stub
0154:fixme:win:SetGestureConfig (000100A2 00000000 1 006CF274 12): stub
0154:err:ole:com_get_class_object class {1968106d-f3b5-44cf-890e-116fcb9ecef1} not registered
0154:err:ole:com_get_class_object class {1968106d-f3b5-44cf-890e-116fcb9ecef1} not registered
0154:err:ole:create_server class {1968106d-f3b5-44cf-890e-116fcb9ecef1} not registered
0154:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported
0154:err:ole:com_get_class_object no class object {1968106d-f3b5-44cf-890e-116fcb9ecef1} could be created for context 0x17


И все работает.
Сделайте, пожалуйста, рабочиий wine 7x!
Comment 1 Ruslan Gilfanov 2022-06-27 21:38:20 MSK
Частично подтверждаю проблему с 32-разрядными приложениями после обновления Wine до версии 7.6.1: https://forum.altlinux.org/index.php?topic=46326.0

На i586-wine-6.14.1-alt1.i586 у нас нормально работал КонсультантПлюс, а после обновления до i586-wine-7.6.1-alt2.i586 стал запускаться с ошибками 5008 и 234, даже если явно создавать 32-разрядный префикс.
Comment 2 Vitaly Lipatov 2022-06-27 21:44:27 MSK
Я бы посоветовал устанавливать wine командой
epm play wine
или хотя бы выполнить
epm play i586-fix
Comment 3 Vitaly Lipatov 2022-06-28 11:45:20 MSK
(Ответ для Ruslan Gilfanov на комментарий #1)
> Частично подтверждаю проблему с 32-разрядными приложениями после обновления
> Wine до версии 7.6.1: https://forum.altlinux.org/index.php?topic=46326.0
> 
> На i586-wine-6.14.1-alt1.i586 у нас нормально работал КонсультантПлюс, а
> после обновления до i586-wine-7.6.1-alt2.i586 стал запускаться с ошибками
> 5008 и 234, даже если явно создавать 32-разрядный префикс.
По вашим сообщениям на форуме мне показалось, что вы вовсе не явно создавали 32-разрядный префикс, точнее, явно его не создавали.

(Ответ для Vyacheslav Dikonov на комментарий #0)
> В полностью настроенном префиксе стоит foobar2000 (для гадких
> непроигрываемых иначе звукофайлов). Ни одна версия wine из Сизифа после
> wine-6.15.1-alt1 не может запустить его и прочие вин32 атавизмы. 
Может подсказать, как с нуля скачать и установить foobar2000 ? Есть нюансы?
Comment 4 Ruslan Gilfanov 2022-06-28 12:11:03 MSK
(Ответ для Vitaly Lipatov на комментарий #3)
> По вашим сообщениям на форуме мне показалось, что вы вовсе не явно создавали
> 32-разрядный префикс, точнее, явно его не создавали.
> Может подсказать, как с нуля скачать и установить foobar2000 ? Есть нюансы?

При создании префикса вводилось:

export WINEPREFIX=~/prefix
export WINEARCH=win32
wineboot -u

При последующем запуске Wine в том же терминале:

wine /mnt/auto/consultant-plus/cons.exe /LINUX /YES

Разве не должны использоваться переменные окружения, указанные выше?

По поводу foobar2000 не совсем уловил мысль.

И что касается моей проблемы, похоже с новой версией Wine способ указания пути до исполняемого файла стал более принципиальным. Монтирование сетевой папки с cons.exe в качестве диска k:\ и указание виндового пути при запуске через wine кажется помогло решить проблему.
Comment 5 Vyacheslav Dikonov 2022-08-10 19:16:52 MSK
Там где foobar2000 имеется давно созданный умолчательный префикс, в котором куча старых программ, сложно зависящих одна от другой по непонятным мне виндовым механизмам с горой настроек. Переустановка и перенастройка всего этого - то, чего надо всеми силами избежать.


>При создании префикса вводилось:
>
>export WINEPREFIX=~/prefix
>export WINEARCH=win32
>wineboot -u

???
Когда, где и как это предлагается вводить? В winecfg? Умолчательный префикс же создается автоматически.

Сейчас на другой машине, где старого wine никогда не было, но есть 
wine-7.14.1-alt1.x86_64 и
i586-wine-7.14.1-alt1.i586

Первый запуск winecfg выглядит так:
$ winecfg
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.14 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0088:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: could not load kernel32.dll, status c0000135
Comment 6 Vyacheslav Dikonov 2022-08-10 19:45:06 MSK
С

#/bin/sh
export WINEPREFIX=~/prefix
export WINEARCH=win32
wineboot -u

кажется, разобрался, но нельзя ли обернуть этим команду wine сразу в rpm, чтобы не мучиться? Ошибки выглядят совершенно загадочно. Никакой подсказки wine не дает. 
Пусть работает без плясок, как всегда работало!
Comment 7 Vitaly Lipatov 2022-08-18 13:17:55 MSK
(Ответ для Vyacheslav Dikonov на комментарий #6)
> С
> 
> #/bin/sh
> export WINEPREFIX=~/prefix
> export WINEARCH=win32
> wineboot -u
> 
> кажется, разобрался, но нельзя ли обернуть этим команду wine сразу в rpm,
> чтобы не мучиться? Ошибки выглядят совершенно загадочно. Никакой подсказки
> wine не дает. 
> Пусть работает без плясок, как всегда работало!

Вы в чём-то разобрались, но так и осталось не ясно, в чём проблема.

На мой взгляд, у вас была проблема с установкой wine, я советую это делать командой
$ epm play wine

Если проблема остаётся, напишите, как её повторить.
Comment 8 Vyacheslav Dikonov 2022-08-29 19:02:50 MSK
Штатный способ установки пакетов в ALTLinux - apt. Wine32 из Сизифа должен устанавливаться по apt-get install. После этого он обязан работать и запускать собственный же winecfg.

Пока этого нет, пакет следует считать дефектным. Существование тайных команд для корректного запуска, не оформленных в виде скрипта В СОСТАВЕ ПАКЕТА(!), не является решением проблемы. 

Про epm:

# epm
команда не найдена

У нас началась глобальная замена менеджера пакетов на неведомую модную поделку?
Comment 9 Vitaly Lipatov 2022-12-16 15:38:31 MSK
(Ответ для Vyacheslav Dikonov на комментарий #6)
> С
> 
> #/bin/sh
> export WINEPREFIX=~/prefix
> export WINEARCH=win32
> wineboot -u
> 
> кажется, разобрался, но нельзя ли обернуть этим команду wine сразу в rpm,
> чтобы не мучиться? Ошибки выглядят совершенно загадочно. Никакой подсказки
> wine не дает. 
> Пусть работает без плясок, как всегда работало!
Указанные выше команды в общем случае не нужны. Да, для новой версии необходимо обновления префикса wine, но по умолчанию включено автообновление при запуске новой версии. Оно либо было вручную выключено, либо почему-то не сработало.

Если жалоба на то, что старые префиксы не работают в новых версиях wine без каких-то плясок, то нужно будет прислать ссылку на проблемный префикс, чтобы точно установить, в чём проблема.



(Ответ для Vyacheslav Dikonov на комментарий #8)
> Штатный способ установки пакетов в ALTLinux - apt. Wine32 из Сизифа должен
apt или rpm?

> устанавливаться по apt-get install. После этого он обязан работать и
> запускать собственный же winecfg.
Устанавливается и работает, разве нет?

> Пока этого нет, пакет следует считать дефектным. Существование тайных команд
> для корректного запуска, не оформленных в виде скрипта В СОСТАВЕ ПАКЕТА(!),
> не является решением проблемы. 
> 
> Про epm:
> 
> # epm
> команда не найдена
> 
> У нас началась глобальная замена менеджера пакетов на неведомую модную
> поделку?
epm play wine
выполняет много разных действий, чтобы корректно установить biarch wine, это удобный способ, которым я с вами поделился, позволяющий гарантированно получить работающую среду (возможно, избыточную в вашем случае).

А неведомая модная поделка в репозиториях ALT находится уже 10 лет, так что просто возможно вам никогда не нужен был её функционал.