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

Отработанное время:
Продуктивное время:
Bug 2135 - Перепроверить освобождение COM-объектов и кольцевые ссылки в текущей C-реализации   Make a simular bug
Summary: Перепроверить освобождение COM-объектов и кольцевые ссылки в текущей C-реализ...
Status: REOPENED
Alias: None
Product: UniOffice@Etersoft
Classification: Продукты (Products)
Component: Excel (show other bugs)
Version: 0.2
Hardware: PC All
: P4 minor
Target Milestone: ---
Deadline: 2009-10-17
Assignee: Синицын Иван
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 3561
  Show dependency tree / graph
 
In work:
Reported: 2008-07-21 11:27 MSD by Синицын Иван
Modified: 2026-11-06 22:21 MSK (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Синицын Иван 2008-07-21 11:27:37 MSD
В конце работы dll остается не освобожденная память. Возможна проблема в кольцевых ссылках. Надо разобраться.
Comment 1 Синицын Иван 2008-07-21 12:01:01 MSD
интерфейс IFont правильно, все ссылки уничтожаются.
Comment 2 Синицын Иван 2008-07-21 12:03:19 MSD
интерфейс IBorder, IBorders, IInterior тоже правильно, все ссылки
уничтожаются.
Comment 3 Синицын Иван 2008-07-21 12:05:43 MSD
IPageSetup тоже правильно.
Comment 4 Синицын Иван 2008-07-29 14:40:27 MSD
Исправлена кольцевая ссылка между IWorksheet и IRange.
Comment 5 Синицын Иван 2008-09-25 18:20:39 MSD
Ошибка наблюдается в программах на FoxPro (Налогоплательщик, БухСофт).
Comment 6 Синицын Иван 2008-10-16 13:12:12 MSD
К 0.4 не успеваю. Переношу на 0.5
Comment 7 Синицын Иван 2009-01-14 22:16:44 MSK
модернизирована система логов, теперь легче будет отледить где происходит ошибка и какие объенкты не удаляюся...
Постепенно все интерфейсы переводятся на использование макросов, чтобы избавится от возможных ошибок при приведении типов...
Comment 8 Синицын Иван 2009-10-17 16:59:35 MSD
И так новая версия ( написанная на С++ )..не страдает этим недостатком....Закрываю ошибку, как не актуальную, для новой версии.
Comment 9 Vitaly Lipatov 2026-11-06 22:21:29 MSK
Аудит UniOffice от 2026-11-06. Закрытие FIXED в комментарии 8 относится к новой версии на C++, а текущая поставляемая Excel-реализация — C. Это не подтверждает устранение исходной утечки в сегодняшнем коде.

В текущей реализации Workbooks хранит ссылки на книги, а Workbook_Initialize/Initialize2 удерживают Workbooks через AddRef; нормальные Close/Quit должны разрывать эту связь. Нужен целевой тест завершения: создать книгу и дочерние объекты, освободить ссылки/закрыть книгу/Quit, проверить возврат счётчика живых объектов и DllCanUnloadNow к исходному значению, включая ошибочные пути и старый FoxPro-сценарий.
https://gitlab.eterfund.ru/etersoft/unioffice/-/blob/9ac6620/unioffice_excel/special_functions.c
https://gitlab.eterfund.ru/etersoft/unioffice/-/blob/9ac6620/unioffice_excel/i_workbooks.c

Переоткрываю для проверки текущей ветки. Отдельные современные исправления владения Range/ITypeInfo и успешные функциональные скрипты не являются исчерпывающим тестом исходной утечки. Само исходное FoxPro-приложение в этом аудите заново не запускалось; новая утечка в нём не утверждается.