Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 4053 - Падает DrvFRTst.exe при закрытии окна "Поиск оборудования"   Make a simular bug
Summary: Падает DrvFRTst.exe при закрытии окна "Поиск оборудования"
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Окна / фокус / перерисовка (show other bugs)
Version: 1.1
Hardware: PC Linux
: P4 minor
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact: Максим Георгиевский
URL:
Whiteboard: eterhack
Keywords:
Depends on:
Blocks: 42
  Show dependency treegraph
 
In work:
Reported: 2009-06-25 16:04 MSD by Александр Морозов
Modified: 2011-12-08 11:44 MSK (History)
1 user (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Александр Морозов 2009-06-25 16:04:05 MSD
Бутылка bugs/3895.

Запускаем
WINEDLLOVERRIDES="ole32,rpcrt4,oleaut32,olecnv32,olethk32,olepro32,msi,msiexec.exe=n" WINDOWS_VERSION=win98 ww DrvFRTst.exe

Настройка свойств -> Поиск оборудования... -> Закрыть

В консоли при этом появляется:
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x1100c8
  Serial number of failed request:  6640
  Current serial number in output stream:  6644

Воспроизводится на текущем eterhack. На 1.0.10-eter25/18 не падает.
Comment 1 Илья Шпигорь 2009-06-29 10:51:36 MSD
Выложил патч.

Причина падения - очистка памяти. В функции notify_forward_header в процессе работы используются 2 указателя - text и filter. Они ссылаются на поля локальных структур (значения которых берутся из структур входных параметров). В конце функции для этих указателей вызывается Free. Не понятно, зачем это делать если локальные структуры целиком удаляются по завершении работы функции.

Вероятнее всего, пока X-ы удаляли память по этим указателям, функция завершала свою работу. В результате происходила очистка одной и той же памяти в 2-х разных процессах.
Comment 2 Илья Шпигорь 2009-06-29 10:52:49 MSD
Забыл сказать - сломалось коммитом из оригинально wine:

commit 34b802caf088e526eadc23d785582e81ea5374cd
Author: Nikolay Sivov <bunglehead@gmail.com>
Date:   Tue Jun 16 01:46:11 2009 +0400

    comctl32/listview: Convert forwarded header notifications to ANSI if NFR_ANSI is current format.
Comment 3 Svetlana Zhukova 2011-12-08 11:44:07 MSK
Проверено 
bottle bugs/3895
WINE@Etersoft 1.0 SQL 1.0.12-eter14/28
eterhack bottle bugs/7915
WINE@Etersoft 1.0 SQL 2.0.0-eter0.12/2

c:/Program Files/ШТРИХ-М/Драйвер ФР 4.9/DrvFRTst.exe

Падений не было.