e8tools / tool1cd

Инструмент для работы с файлами 1CD за авторством Валерия Агеева с адаптацией от сообщества
GNU General Public License v3.0
111 stars 29 forks source link

Неверное владение объектом в SupplierConfigBuilder #208

Closed dmpas closed 6 years ago

dmpas commented 6 years ago

тут создаётся уник_птр: https://github.com/dmpas/tool1cd/blob/develop/src/tool1cd/SupplierConfigBuilder.cpp#L127

тут передаётся владение объектом: https://github.com/dmpas/tool1cd/blob/develop/src/tool1cd/SupplierConfigBuilder.cpp#L140

уник_птр убивает объект, а новый владелец потом садится в лужу при его использовании.

ava57r commented 6 years ago

Согласен.

dmpas commented 6 years ago

Проявляется при анализе конфигураций поставщика. Так что можно заодно и тест на это забабахать.

ava57r commented 6 years ago

А тут другой вопрос, может стоит подумать о том чтобы переписать V8Catalog на владение потоком переданным ему в конструкторе? Не сейчас конечно, а позже.

ava57r commented 6 years ago

а у тебя прям падало? Думаю как под это дело тест написать...

dmpas commented 6 years ago

а у тебя прям падало?

default

сигсегв. Держи колстэк

dmpas commented 6 years ago

тупо вызвать T_1CD::supplier_configs()

ava57r commented 6 years ago

ммм

  1. тестирую у себя выгрузку не той конфы
  2. после багфикса поймал еще один сигсегв.

пошел разбираться.

ava57r commented 6 years ago

Во еще одна ошибка связана с тем что V8Catalog считает поток своим и пытается подчистить за собой.

ava57r commented 6 years ago

https://github.com/dmpas/tool1cd/blob/develop/tests/db838/db01/1Cv8.1CD что за конфа?

dmpas commented 6 years ago

что за конфа?

"разработка конфигураций с нуля" :). Один справочник, расширение с обработкой. Без конфы поставщика, сохранённая конфигурация отличается от конфигурации БД

ava57r commented 6 years ago

что за конфа?

"разработка конфигураций с нуля" :). Один справочник, расширение с обработкой. Без конфы поставщика, сохранённая конфигурация отличается от конфигурации БД

пора редми к таким файлам писать