Bug 4661

Summary: IE 6 завешивает процессор
Product: WINE@Etersoft Reporter: Силин Дмитрий <kit01>
Component: Internet Explorer / GeckoAssignee: Александр Морозов <amorozov>
Status: CLOSED WONTFIX QA Contact: Денис Баранов <baraka>
Severity: critical    
Priority: P3 CC: DjSpiker, kondratyuk, lav, sonner
Version: 1.0.11   
Target Milestone: ---   
Hardware: PC   
OS: Mandriva   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 6593, 5395    

Description Силин Дмитрий 2009-12-12 20:10:45 MSK
Мандрива (начиная с 2009), wine (начиная с 1.0.9), IE из комплекта wine.
Запускаем IE, закрываем IE, wineserver остаётся в памяти и занимает 100% процессора или ядра. Естественно, если комп одноядерный, то зависает практически намертво... Ждал долго - wineserver сам не выгружается...
Comment 1 Vitaly Lipatov 2009-12-12 20:17:43 MSK
Воспроизведение (просто запустить и выйти):
1. ставим IE через ieinstall
2. Запускаем: $wine iexplore
3. Смотрим http://ya.ru  (не обязательно)
4. Выходим
Наблюдаем за wineserver
Comment 2 Александр Морозов 2009-12-14 15:56:43 MSK
На Mandriva 2009.1 с пакетами wine-etersoft-1.0.12-eter1.1mdv и wine-etersoft-local-1.0.12-eter1mdv не воспроизвелось.
Comment 3 Силин Дмитрий 2009-12-17 14:08:46 MSK
На Мандриве 2010 с версией 1.0.12 те же грабли
Comment 4 Силин Дмитрий 2009-12-17 14:14:53 MSK
да, забыл добавить, что иногда нормально закрытый IE превращается в зомби, который убивается при убивании wineserver
Comment 5 Александр Морозов 2009-12-17 15:56:00 MSK
Надо посмотреть на Mandriva 2010.
Comment 6 Глеб Кордюков 2009-12-18 17:18:28 MSK
Воспроизводится на cellar. Запускаем ie, и пробуем закрыть. Процесс висит. wineserver -k делает долго
Comment 7 Александр Морозов 2009-12-18 18:09:13 MSK
> Воспроизводится на cellar.

В какой бутылке?

> Запускаем ie, и пробуем закрыть. Процесс висит.

Закрываешь кнопкой закрытия окна?
Comment 8 Силин Дмитрий 2009-12-22 14:58:34 MSK
Мандрива 2010 и вайн 1.0.12
При выключении из конфига wine строки export WINEHOLDSERVER=1800 никаких изменений - т.е. wineserver висит, а ослик стал зомби.
Comment 9 Александр Морозов 2010-02-27 18:22:35 MSK
Попробовал воспроизвести на Mandriva 2010.0 в VirtualBox. Wineserver завершается, если закомментировать строку с WINEHOLDSERVER, никакой чрезмерной загрузки процессора не увидел. wine-1.0.12-eter2/1

2 Дмитрий:
Может быть, дело в видеокарте? Воспроизводится ли проблема, если в качестве драйвера использовать vesa?
Также можно попробовать удалить wine-etersoft-gl, если он стоит.
Comment 10 Силин Дмитрий 2010-02-28 13:46:27 MSK
(In reply to comment #9)
> Попробовал воспроизвести на Mandriva 2010.0 в
> VirtualBox. Wineserver завершается, если
> закомментировать строку с WINEHOLDSERVER, никакой
> чрезмерной загрузки процессора не увидел.
> wine-1.0.12-eter2/1

У меня на чистой Мандриве всё это имеется. Я не считаю эмуляторы доказательными.
Пробовал закомментировать эту строчку - эффект нулевой

> 2 Дмитрий:
> Может быть, дело в видеокарте?
GForse 5200 дрова проприетарные (это дома)
Подобный эффект у меня проявляется на всех моих компьютерах и там везде стоят разные видеокарты.

> Воспроизводится ли проблема, если в
> качестве драйвера использовать vesa?
Не пробовал. А при чём тут вообще видеокарта??? Ослик становится зомби после того как я его вполне корректно закрываю.
> Также можно попробовать удалить wine-etersoft-gl,
> если он стоит.
Не стоит

Comment 11 Александр Морозов 2010-03-01 18:22:34 MSK
> А при чём тут вообще видеокарта???
Встречаются баги, проявляющиеся только на определённых видеокартах.
Comment 12 Александр Морозов 2010-03-02 19:30:22 MSK
2 Дмитрий:
Какой оконный менеджер вы используете?
Comment 13 Силин Дмитрий 2010-03-02 19:42:28 MSK
(In reply to comment #12)
> 2 Дмитрий:
> Какой оконный менеджер вы используете?
> 

На Мандриве KDE и на дебиане XFCE
Comment 14 Александр Морозов 2010-03-12 14:48:36 MSK
Удалось воспроизвести. Для этого надо перейти по адресу https://bugs.etersoft.ru

WINE@Etersoft 1.0 SQL 1.0.12-eter4/3
Comment 15 Александр Морозов 2010-03-12 16:16:02 MSK
Если запускать с WINEDEBUG=+server, то проблема не проявляется.
Comment 16 Александр Морозов 2010-03-12 21:00:47 MSK
При переходе по адресу с https из виндовой crypt32.dll очень много (возможно, бесконечное число) раз вызывается FindNextChangeNotification, что приводит к созданию wineserver`ом множества объектов async. Потом при завершении IE wineserver надолго застревает в async_wake_up, проходя по списку созданных объектов.
Comment 17 Александр Морозов 2010-03-15 19:59:59 MSK
FindNextChangeNotification вызывается из находящейся в crypt32.dll функции, которая является обработчиком, зарегистрированным с помощью RegisterWaitForSingleObjectEx. При этом используется нулевой таймаут, и обработчик постоянно вызывается из-за того, что таймаут истекает.
Comment 18 Александр Морозов 2010-03-16 19:27:23 MSK
Аналогичный баг есть в багзилле апстримового wine:
http://bugs.winehq.org/show_bug.cgi?id=13687
Comment 19 Александр Морозов 2010-03-16 20:19:22 MSK
IE6 переходит по ссылкам с https и не перегружает процессор при запуске с WINDOWS_VERSION="win98" после копирования с winxp вот этих библиотек:
$ md5sum *.dll
228373d5d761dfdc68032fd64c734815  crypt32.dll
33408f79cbabd0dbef121ed6c1b5d26f  msasn1.dll
При запуске без WINDOWS_VERSION="win98" загрузки процессора с этими библиотеками также не наблюдается, только страницы при переходе по https не отображаются.
В общем, загрузка процессора вызывается версией crypt32.dll, которая ставится при установке IE.
Comment 20 Александр Морозов 2010-05-28 12:21:47 MSD
Это баг версии crypt32.dll, устанавливающейся вместе с IE, а не WINE.
Comment 21 Vitaly Lipatov 2010-05-28 13:20:27 MSD
Видимо, нужно
а) дать временный рецепт
б) запланировать багу по реализации необходимой части crypt32.dll в Wine
Comment 22 Александр Морозов 2010-05-28 13:23:50 MSD
> а) дать временный рецепт
Вроде ж выше написано, что надо делать.
Comment 23 Александр Морозов 2010-05-28 13:54:08 MSD
> б) запланировать багу по реализации
> необходимой части crypt32.dll в Wine
http://bugs.etersoft.ru/show_bug.cgi?id=5625
Comment 24 Силин Дмитрий 2010-05-29 09:31:16 MSD
(In reply to comment #22)
> > а) дать временный рецепт
> Вроде ж выше написано, что надо делать.
> 

Внятной инструкции что конкретно делать я не увидел.
Проблема осталась.
Хотя сейчас и не так актуально - ослик под последней сборкой вайна вообще дурной...
Пришлось везде ставить винду в виртуалбокс и так спасаться...
Comment 25 Александр Морозов 2010-05-29 17:29:51 MSD
> Внятной инструкции что конкретно делать я
> не увидел.
Надо скопировать crypt32.dll и msasn1.dll из Win 2000 или XP в wine_c/windows/system32.
Comment 26 Vitaly Lipatov 2010-05-29 19:30:30 MSD
(In reply to comment #24)
...
> Хотя сейчас и не так актуально - ослик под
> последней сборкой вайна вообще дурной...
Последняя сборка - это наша 1.0.12?
Comment 27 Силин Дмитрий 2010-05-30 15:43:14 MSD
(In reply to comment #26)
> (In reply to comment #24)
> ...
> > Хотя сейчас и не так актуально - ослик под
> > последней сборкой вайна вообще дурной...
> Последняя сборка - это наша 1.0.12?
> 

Да, я нативным вайном не пользуюсь, исключительно вашим :-)
Библиотеки переписал, но ослик так и не может попасть на нужную мне страницу...
Хотя и в памяти теперь не зависает...
Comment 28 Александр Морозов 2010-05-31 11:28:11 MSD
> Библиотеки переписал, но ослик так и не
> может попасть на нужную мне страницу...
А адрес у страницы какой? Если используется https, то надо прописать win98 для iexplore.exe в winecfg.
Comment 29 Силин Дмитрий 2010-05-31 16:30:48 MSD
(In reply to comment #28)
> > Библиотеки переписал, но ослик так и не
> > может попасть на нужную мне страницу...
> А адрес у страницы какой? Если используется
> https, то надо прописать win98 для iexplore.exe в winecfg.
> 

Да, протокол секретный, но я сразу ослика запускаю командой
wine98 iexplore, в противном случае вообще ничего не получается...
Comment 30 Александр Морозов 2010-05-31 18:00:30 MSD
> > > Библиотеки переписал, но ослик так и не
> > > может попасть на нужную мне страницу...
> > А адрес у страницы какой? Если используется
> > https, то надо прописать win98 для iexplore.exe в winecfg.

А какой адрес у нужной страницы? Хотелось бы посмотреть.

> Да, протокол секретный, но я сразу ослика
> запускаю командой
> wine98 iexplore, в противном случае вообще ничего
> не получается...

wine98 переопределяет ряд библиотек. Так что это не совсем то же, что запуск с настройкой Win98 в winecfg.
Comment 31 Силин Дмитрий 2010-05-31 18:21:09 MSD
(In reply to comment #30)
> > > > Библиотеки переписал, но ослик так и не
> > > > может попасть на нужную мне страницу...
> > > А адрес у страницы какой? Если используется
> > > https, то надо прописать win98 для iexplore.exe в winecfg.
> 
> А какой адрес у нужной страницы? Хотелось
> бы посмотреть.
https://www.faktura.ru/enter.jsp
Я высылал специальные для вас тестовые логин+пароль для отладки этого банк-клиента, но никакого эффекта...

> > Да, протокол секретный, но я сразу ослика
> > запускаю командой
> > wine98 iexplore, в противном случае вообще ничего
> > не получается...
> 
> wine98 переопределяет ряд библиотек. Так что
> это не совсем то же, что запуск с настройкой
> Win98 в winecfg.
> 

Ясно
Comment 32 Александр Морозов 2010-09-14 19:58:54 MSD
*** Bug 5936 has been marked as a duplicate of this bug. ***
Comment 33 Денис Баранов 2010-12-03 18:43:20 MSK
Закрываю.