Bug 4129

Summary: Ошибки при установке и обновлении WINE@Etersoft CAD
Product: [Поддержка проектов] КОМПАС 3D Reporter: Денис Баранов <baraka>
Component: ТестированиеAssignee: Денис Баранов <baraka>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: normal    
Priority: P3 CC: lav, mais, mx, vitperov
Version: v10   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 5157    
Bug Blocks: 42, 2482, 3758, 5513, 7073    
Attachments: Создание .wine
wine --update

Description Денис Баранов 2009-07-22 17:13:01 MSD
При инициализации .wine установка MSI заканчивается ошибкой.
wine-etersoft-1.1.0-alt1
wine-etersoft-local-1.0.11-alt1
wine-etersoft-gl-1.10-alt1
Comment 1 Александр Морозов 2009-07-22 18:00:05 MSD
Не удалось воспроизвести.

$ WINEPREFIX=/home/amorozov/wine_2 wine
First running... Using WINEPREFIX=/home/amorozov/wine_2
Creating default file tree...
Copying prepared tree from '/usr/share/wine/skel' ...
Initialize registry and environments...
Building local environment...
Flash Player 9 NPAPI installing...
Device 'u:' created as link for 'unc/server/share' target.
Communication dlls installing...
MSI installing...
Windows Scripting installing...
Successfully registered DLL msxml3.dll
Successfully registered DLL msxml4.dll
Successfully registered DLL mfc40.dll
Successfully registered DLL mfc42.dll
Successfully registered DLL msscript.ocx
Successfully registered DLL mfc42u.dll
WINE@Etersoft 1.0 Local 1.0.11-1
Product: WINE@Etersoft 1.0 SQL Local Network Network Lite SQL Unique
Licensed for ООО "Этерсофт" with registration number EEEE-EAEA
Contact person: Системный администратор
License expired at 13/11/2009 has been configured for the first time.
Use /home/amorozov/wine_c as WINE C:\ disk.
Copy your program into and install it.

$ rpm -qa | grep wine
wine-etersoft-1.1.0-alt1
wine-etersoft-gl-1.1.0-alt1
wine-etersoft-local-1.0.11-alt1
Comment 2 Денис Баранов 2009-07-22 19:30:29 MSD
После wine --update воспроизводится.
Comment 3 Александр Морозов 2009-07-22 19:33:09 MSD
Воспроизводится на машине kompas.
Comment 4 Vitaly Lipatov 2009-07-22 21:32:04 MSD
Отключаем проверку на успешность установки MSI и идём дальше.
Возможно вообще стоит от него отказаться. Он же всё равно только в wine98 работает?
Нужен ли он для КОМПАС?
Другое дело, что проблема не в MSI, а в инициализации Графики.
Comment 5 Александр Морозов 2009-07-23 21:06:26 MSD
При создании .wine на kompas происходит падение wineboot, наблюдаются проблемы с регистрацией dll:

Windows Scripting installing...
Warning: could not find DOS drive for current working directory '/home/amorozov/wine_2/dosdevices/c:/windows/system32', starting in the Windows directory.
Failed to load DLL msxml3.dll
Warning: could not find DOS drive for current working directory '/home/amorozov/wine_2/dosdevices/c:/windows/system32', starting in the Windows directory.
Failed to load DLL msxml4.dll
Warning: could not find DOS drive for current working directory '/home/amorozov/wine_2/dosdevices/c:/windows/system32', starting in the Windows directory.
Failed to load DLL mfc40.dll
Comment 6 Александр Морозов 2009-07-23 21:18:23 MSD
Created attachment 1256 [details]
Создание .wine
Comment 7 Александр Морозов 2009-07-23 21:20:32 MSD
Created attachment 1257 [details]
wine --update
Comment 8 Денис Баранов 2009-07-24 19:04:07 MSD
Ломающий коммит найден:
commit 1e256e426df84b6ba00a4c360f355b3809a72b9f
Author: Mikoе┌aj Zalewski <mikolaj@zalewski.pl>
Date:   Sun Dec 21 22:28:32 2008 +0100
Comment 9 Vitaly Lipatov 2009-07-24 21:38:33 MSD
Отменён в wine-etersoft-1.1.0-alt1.1
но это не отменяет необходимости в поиске и исправлении проблемы.
Comment 10 Александр Морозов 2009-08-04 12:22:23 MSD
(In reply to comment #9)
> Отменён в wine-etersoft-1.1.0-alt1.1

А в какой ветке он отменён? Я в eterhack реверта не нашёл.
Comment 11 Vitaly Lipatov 2009-08-04 13:16:31 MSD
Отменён в ветке etercad-1.1.0
Я потом все изменения внесу в eterhack, а пока все изменения в etercad
Comment 12 Александр Морозов 2009-08-04 13:22:17 MSD
> Ломающий коммит найден:
> commit 1e256e426df84b6ba00a4c360f355b3809a72b9f
> Author: Mikoе┌aj Zalewski <mikolaj@zalewski.pl>
> Date:   Sun Dec 21 22:28:32 2008 +0100

Откатил в eterhack вместе с множеством других коммитов, с которыми не откатывалось. Падение wineboot осталось (можно увидеть в ~/.wine/install.log).
Comment 13 Александр Морозов 2009-08-04 13:26:57 MSD
> Отменён в ветке etercad-1.1.0

А в каком репозитории эта ветка?
Comment 14 Александр Морозов 2009-08-04 14:04:43 MSD
> А в каком репозитории эта ветка?

Помог git fetch
Comment 15 Александр Морозов 2009-08-04 14:21:00 MSD
В etercad wineboot тоже падает.
Comment 16 Vitaly Lipatov 2009-08-06 22:40:26 MSD
Значит нужно откат убрать, и докопаться до истинной причины падения.
Comment 17 Александр Морозов 2009-08-31 15:05:12 MSD
В текущем etercad install.log после установки получается пустой. Сделал патч, исправляющий данную проблему.
Comment 18 Александр Морозов 2009-08-31 15:42:46 MSD
Падение можно воспроизвести, просто запуская wineboot --update
Если закомментировать в wineboot.c вызов InstallHinfSectionW, то падения не просходит.
Comment 19 Александр Морозов 2009-08-31 19:37:47 MSD
Проблема связана с загрузкой opengl32.dll.so для создания fake dll. Если убрать данную библиотеку из [FakeDllsSection] в wine.inf, то wineboot --update не падает. Не падает также и если вставить return FALSE; в начало функции has_opengl() в winex11.drv.

Последняя версия оригинального wine не падает. Версия, соответствующая коммиту 09436d69f181b8bae4afea (между 1.1.26 и 1.1.27), падает. Так что в оригинальном wine проблему как-то исправили.
Comment 20 Александр Морозов 2009-08-31 21:11:16 MSD
Если применить патч "wgl: Fix usage of non-GLX visual in glXCreateContext.", то wineboot --update перестаёт падать, но выдаёт ошибку:
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  3103
  Current serial number in output stream:  3103

В более поздних версиях оригинального wine ошибка исчезает, так как меняется способ создания fake dlls (см. "setupapi: Copy the pre-compiled fake dll files instead of generating them if possible." и предшествующие коммиты).
Comment 21 Александр Морозов 2009-09-01 13:10:23 MSD
> X Error of failed request:  BadMatch (invalid parameter attributes)
>   Major opcode of failed request:  151 (GLX)
>   Minor opcode of failed request:  5 (X_GLXMakeCurrent)
>   Serial number of failed request:  3103
>   Current serial number in output stream:  3103

Эта ошибка - вылет при выполнении pglXMakeCurrent(gdi_display, win, ctx) в X11DRV_WineGL_InitOpenglInfo.
Comment 22 Vitaly Lipatov 2009-11-18 11:33:25 MSK
Что-то я запутался, так на чём мы закончили эту багу?
Comment 23 Александр Морозов 2009-11-18 12:27:34 MSK
> Что-то я запутался, так на чём мы закончили
> эту багу?

В текущем ванильном wine этого бага нет. Надо либо смерджиться с ванильным wine, либо перенести нужные коммиты (вроде достаточно много их). Аналогичная ситуация с багом 2482.
Comment 24 Виталий Перов 2010-04-15 14:44:28 MSD
Смержился с wine-pure.
Откатил патч:

commit 8cb6dd72f7953720edb58ed8bf5e21be2e785385
Author: Vitaly Lipatov <lav@etersoft.ru>
Date:   Fri Jul 24 21:35:27 2009 +0400

    Revert "winedbg: Add a crash dialog for --auto mode." (fix eterbug #4129)
    TODO: check this commit and fix it.

нужно проверить воспроизводится ли бага.
Изменения касаются только репозитория eterhack
Comment 25 Денис Баранов 2011-01-10 12:24:19 MSK
На WINE@Etersoft School 1.7 собраном на eterhack проблема не проявилась.