crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> SEGFAULT во время выполнения скриптов
mva
  опции профиля:
сообщение 23.3.2015, 15:58
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Добрый день!

Отлавливаю ошибку в своем приложении, которое на небольших входных данных работает нормально. Если взять входной файл подлиннее, во время выполнения скриптов, которые вызывают функцию из основного приложения, случайным образом происходит ошибка сегментации. Свойство одного из классов почему-то становится равным нулю в недрах библиотеки libQtCore. С помощью gdb я отследил этот момент и выяснил, что проиходит это в фунциии QObjectPrivate::clearGuards(QObject*) в QtCore.
Нашел исходный код этой функции, вот он:
void QObjectPrivate::clearGuards(QObject *object)
{
  if (!QObjectPrivate::get(object)->hasGuards)
    return;
  GuardHash *hash = guardHash();
  if (hash) {
    QMutexLocker locker(guardHashLock());
    GuardHash::iterator it = hash->find(object);
    const GuardHash::iterator end = hash->end();
    while (it.key() == object && it != end) {
      *it.value() = 0;
      it = hash->erase(it);
    }
  }
}

Как понять, что тут проиходит, и что мне делать?
Свой код я пока не выкладываю, ввиду его сложности.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mva
  опции профиля:
сообщение 23.3.2015, 19:43
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Вопрос снимается. Разобрался сам.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.10.2019, 7:33