Bug 4623

Summary: Вываливается клиент-серверный Гарант
Product: WINE@Etersoft Reporter: Patsev Anton <chemtech>
Component: Запуск ; Отладка ; ИсключенияAssignee: Александр Морозов <amorozov>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: critical    
Priority: P2 CC: amorozov, goga, kondratyuk, lav, night, shpigor
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 3819    
Bug Blocks: 769, 3493, 4382    

Description Patsev Anton 2009-12-09 07:58:52 MSK
Запускаю Гарант и он вываливается:

#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
Comment 1 Andrey Vusik 2010-01-27 16:08:41 MSK
Словил.
WINE@Etersoft 1.0 SQL 1.0.12-eter1.4/1
Бутылка garant/local-last
Comment 2 Александр Морозов 2010-01-27 20:01:09 MSK
> Бутылка garant/local-last
При запуске
wine "c:\Program Files\Garant-Local\garant.exe"
в этой бутылке выводится сообщение "Файлы данных отстутствуют или повреждены!".
Но ничего не падает.
Comment 3 Patsev Anton 2010-02-01 07:38:32 MSK
Может как-нибудь продиагностировать ошибку? Что можно сделать?
Comment 4 Andrey Vusik 2010-02-09 12:29:51 MSK
Теперь при установке 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
Comment 5 Andrey Vusik 2010-02-09 13:38:09 MSK
Готово. Переставил всё. Проверил несколько раз - каждый раз та же ошибка.
Если что - переустановить можно из Garant 7.3 (либо задать путь на неё)

Comment 6 Александр Морозов 2010-02-09 20:50:35 MSK
При установке Гаранта происходит запуск 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% случаев).
Comment 7 Александр Морозов 2010-02-10 21:10:39 MSK
F1DataSetup.run запускает сам себя с CREATE_SUSPENDED, после чего записывает что-то в память созданного процесса с помощью WriteProcessMemory. При этом также вызывается GetModuleHandleA("kernel32.dll"), что наводит на мысль о том, что могут записываться какие-то адреса из kernel32.dll, но для второго процесса dll может загрузиться по другому адресу, и это может вызвать проблемы.
Comment 8 Александр Морозов 2010-02-11 21:31:57 MSK
Пока что не придумал способа загружать kernel32.dll по одному адресу, так что проверить, является ли это причиной проблемы, не удалось.
Comment 9 Александр Морозов 2010-02-12 14:50:21 MSK
При установке 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.
Гарант устанавливался как локальный.
Comment 10 Александр Морозов 2010-02-12 20:20:52 MSK
Протестировал установку Гарант на 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
Comment 11 Vitaly Lipatov 2010-02-13 03:06:44 MSK
Денис, почему вдруг выясняется, что Гарант нигде никакой не работает?
Ничего не сделано по поводу фиксации того, что было протестировано,
если когда-то было.
Я хочу видеть запись о каждом тестировании в таблице на kb.etersoft.ru с записью:
программа, версия wine, дата проверки, результат, комментарий.
Говорили уже десять раз.
Comment 12 Patsev Anton 2010-02-13 05:41:07 MSK
До этого гарант работал. Надо будет потестить на старых версиях.
Comment 13 Patsev Anton 2010-02-15 07:51:42 MSK
Проверил из тех версий, которые у меня есть.

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 - Клиент Гаранта НЕ запускается
Comment 15 Александр Морозов 2010-02-16 14:33:51 MSK
На 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, можно запустить.
Comment 16 Александр Морозов 2010-02-16 20:53:31 MSK
Гарант 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)
Comment 17 Александр Морозов 2010-02-17 14:22:38 MSK
Решено было откатить данный коммит.
Comment 18 Калюхович Юрий 2010-02-19 17:48:04 MSK
бутылка prav/garant/local-last
garant.exe версии 7.03.0.143 успешно запустился, в консоли чисто.
Comment 19 Andrey Vusik 2010-02-20 13:44:14 MSK
Принято.
1.0.12-eter2/1
Записал на kb.etersoft.ru
Comment 20 Patsev Anton 2010-03-09 12:14:11 MSK
Работает. Запускается.
WINE@Etersoft 1.0 Local 1.0.12-eter3/1