Форум » [x]Harbour » Error BASE/1301 » Ответить

Error BASE/1301

Dima: Месяц работала прога на Harbour 24 часа в сутки а сегодня упала с ошибкой. Error BASE/1301 Object destructor failure: Reference to freed block Что бы это значило ? PS Где конкретно упала не ясно.

Ответов - 7

AlexMyr: Dima пишет: Что бы это значило ? немного по теме http://comments.gmane.org/gmane.comp.lang.harbour.devel/942 может что и прояснится.

Dima: AlexMyr яснее не стало , так как прога зависла так что ее пришлось снимать. соответственно нет лога и где упала точно не понятно.

AlexMyr: Старый harbour собирался с FM_STATISTICS и при падении проги создавался fm.log, сейчас этот флаг нужно установить при сборке harbour если не ошибаюсь, а потом по адресу в памяти можно вычислить тот кусок где произошел сбой, но это уже другая опера. А по теме где то проблема в деструкторе при освобождении памяти, и проблема может возникнуть не в harbour а в сторонней библе или не правильном использовании самого деструктора, если конечно используете. И приблизительно по времени смотреть что происходило вокруг и какая ф-я могла работать и потом делать разбор полетов.


Pasha: Могу только сказать, что ошибка возникла в сборщике мусора. Лучше спросить у Пшемека, он эти вещи понимает глубоко, может быть подскажет возможную причину.

Dima: Pasha Надо ждать очередного падения если оно будет. С апреля месяца это уже второй раз. Попробую поймать номер строки где падает.

Pasha: Эта ошибка время от времени возникает. Одна из возможных причин: в деструкторе какого-то класса ссылка на обьект, который уничтожается, сохраняется в какой-то переменной. Пример см. tests\destruct.prg

Dima: Забыл сказать что задача MT. На протяжении месяца абсолютно все функции этой задачи срабатывали нормально и не раз. И бац на 25 раз (условно) всплыла 1301 destruct.prg чес слово пока ни о чем не говорит мне. Жду снова этого глюка.........



полная версия страницы