Запускаю Гарант и он вываливается: #env WINEPREFIX="/home/PatsevAA.wine" wine "F:\garant.exe" [test@patsev ~]$ fixme:heap:HeapSetInformation 0x240000 0 0x1f7f990 4 fixme:heap:HeapSetInformation 0x1f80000 0 0x1f7f990 4 fixme:heap:HeapSetInformation 0x2090000 0 0x1f7f990 4 fixme:heap:HeapSetInformation 0x23e0000 0 0x1f7f990 4 fixme:heap:HeapSetInformation 0x110000 0 0x1f7f990 4 fixme:win:FlashWindowEx 0x1f7f824 fixme:msvideo:DrawDibRealize (0x1, 0x30c, 0), stub err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d Гарант пишет: Access violation at address 0048B51F in Module F1Shell.run. Read at address 00000180 Версия Гарант: 7.03.1.031 Клиент-серверная коммерческая версия от 5.12.2009 года #lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.3 (Final) Release: 5.3 Codename: Final #wine --version WINE@Etersoft 1.0 Local 1.0.12-eter1/1
Словил. WINE@Etersoft 1.0 SQL 1.0.12-eter1.4/1 Бутылка garant/local-last
> Бутылка garant/local-last При запуске wine "c:\Program Files\Garant-Local\garant.exe" в этой бутылке выводится сообщение "Файлы данных отстутствуют или повреждены!". Но ничего не падает.
Может как-нибудь продиагностировать ошибку? Что можно сделать?
Теперь при установке data зависает, в консоле: <wine@cellar bottle garant/local-last>$ wine f1setup.exe fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:msi_unimplemented_action_stub RemoveShortcuts -> 9 ignored L"Shortcut" table values wine: Unhandled page fault on read access to 0x0000004f at address 0x4f (thread 0052), starting debugger... err:dialog:EndDialog got invalid window handle (0x33fd6c); buggy app !? fixme:heap:HeapSetInformation 0x240000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x1ef0000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x2000000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x27d0000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x28e0000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x29f0000 0 0x1eef9ec 4 fixme:heap:HeapSetInformation 0x110000 0 0x1eef9ec 4 fixme:ntdll:NtLockFile I/O completion on lock not implemented yet fixme:heap:HeapSetInformation 0x850000 0 0x33f740 4 fixme:heap:HeapSetInformation 0x960000 0 0x33f740 4 fixme:heap:HeapSetInformation 0xa70000 0 0x33f740 4 fixme:heap:HeapSetInformation 0xb80000 0 0x33f740 4 fixme:heap:HeapSetInformation 0xcf0000 0 0x33f740 4 fixme:heap:HeapSetInformation 0x1210000 0 0x33f740 4 fixme:heap:HeapSetInformation 0x110000 0 0x33f740 4 wine: Unhandled page fault on read access to 0x00000000 at address 0x4f4501 (thread 00a9), starting debugger... err:seh:start_debugger Couldn't start debugger ("winedbg --auto 113 620") (87) Read the Wine Developers Guide on how to set up winedbg or another debugger
Готово. Переставил всё. Проверил несколько раз - каждый раз та же ошибка. Если что - переустановить можно из Garant 7.3 (либо задать путь на неё)
При установке Гаранта происходит запуск F1DataSetup.run, который сразу же падает: ............ 007c:Call user32.RegisterClassW(0033fd28) ret=7e79340b 007c:Ret user32.RegisterClassW() retval=0000c02d ret=7e79340b 007c:Ret PE DLL (proc=0x7e835230,module=0x7e780000 L"ole32.dll",reason=PROCESS_ATTACH,res=0x1) retval=1 007c:Starting process L"C:\\Program Files\\Garant-Local\\apps\\winNT\\F1DataSetup.run" (entryproc=0x818008) wine: Unhandled page fault on write access to 0x00000083 at address 0x7eddb048 (thread 007c), starting debugger... 006c:Ret KERNEL32.WaitForSingleObject() retval=00000102 ret=004797f0 ............ Если вручную запустить winNT/F1DataSetup.run, то программа запускает саму себя и этот второй процесс падает (не в 100% случаев).
F1DataSetup.run запускает сам себя с CREATE_SUSPENDED, после чего записывает что-то в память созданного процесса с помощью WriteProcessMemory. При этом также вызывается GetModuleHandleA("kernel32.dll"), что наводит на мысль о том, что могут записываться какие-то адреса из kernel32.dll, но для второго процесса dll может загрузиться по другому адресу, и это может вызвать проблемы.
Пока что не придумал способа загружать kernel32.dll по одному адресу, так что проверить, является ли это причиной проблемы, не удалось.
При установке 7.02.1.058 в консоли несколько раз появляются сообщения об "Unhandled page fault", зависает на "Создание базы данных: шаг 2 из 3", прерывание установки с помощью нажатия на "Отмена" при этом работает. При установке 7.1.0.13 установка завершается успешно, но в консоли выводится сообщение об "Unhandled page fault". При запуске установленного Гаранта выводится сообщение об "Access violation". Проверял на cellar и 1.0.12-eter1.4/1. Гарант устанавливался как локальный.
Протестировал установку Гарант на atlant с различными версиями WINE. Гарант 7.03.1.031 локальный, 1.0.11-eter8/6 Выдаётся ошибка о том, что не найден garant.ini Гарант 7.03.1.031 локальный, 1.0.11-eter11/6 Выдаётся ошибка о том, что не найден garant.ini Гарант 7.03.0.143 локальный, 1.0.11-eter11/6 Выдаётся ошибка о том, что не найден garant.ini Гарант 7.03.0.143 локальный, 1.0.12-eter1.4/1 В конце установки в консоли выводится сообщение об "Unhandled page fault". При запуске усатновленного Гаранта выводится сообщение об "Access violation". Также пробовал запускать Гарант 7.03.1.031 локальный на cellar через wwr 1.0.11. Выдаётся ошибка о том, что не найден garant.ini
Денис, почему вдруг выясняется, что Гарант нигде никакой не работает? Ничего не сделано по поводу фиксации того, что было протестировано, если когда-то было. Я хочу видеть запись о каждом тестировании в таблице на kb.etersoft.ru с записью: программа, версия wine, дата проверки, результат, комментарий. Говорили уже десять раз.
До этого гарант работал. Надо будет потестить на старых версиях.
Проверил из тех версий, которые у меня есть. WINE@Etersoft 1.0 Local 1.0.10-eter25/18 - Клиент Гаранта запускается WINE@Etersoft 1.0 Local 1.0.11-eter9/5 - Клиент Гаранта запускается WINE@Etersoft 1.0 Local 1.0.11-eter10/6 - Клиент Гаранта запускается WINE@Etersoft 1.0 Local 1.0.12-eter1/1 - Клиент Гаранта НЕ запускается
На atlant в 1.0.12-eter1.4/1 Гарант 7.03.1.031 устанавливется без ошибок, если не стоит wine-etersoft-gl. Если стоит, то в конце установки выдаётся сообщение об "Unhandled page fault". При запуске garant.exe в 1.0.12-eter1.4/1 выдаётся сообщение об "access violation". Если поставить 1.0.11-eter11/6, то garant.exe, который был до этого уставновлен в более новой версии wine, можно запустить.
Гарант 7.03.1.031 запускается, если в текущем 1.0.12 откатить вот этот коммит: commit e1569a853b745a20ca4ae0513720a1ae93b44bbe Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Tue Nov 24 16:25:43 2009 +0300 user32: Don't call set_active_window from SetFocus (eterbug #4382)
Решено было откатить данный коммит.
бутылка prav/garant/local-last garant.exe версии 7.03.0.143 успешно запустился, в консоли чисто.
Принято. 1.0.12-eter2/1 Записал на kb.etersoft.ru
Работает. Запускается. WINE@Etersoft 1.0 Local 1.0.12-eter3/1