Bug 4053

Summary: Падает DrvFRTst.exe при закрытии окна "Поиск оборудования"
Product: WINE@Etersoft Reporter: Александр Морозов <amorozov>
Component: Окна / фокус / перерисовкаAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact: Максим Георгиевский <coust>
Severity: minor    
Priority: P4 CC: svzhu
Version: 1.1   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: eterhack
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 42    

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

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