Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

terminate called after throwing an instance of 'std::bad_alloc' #44

Closed
Straven opened this issue Feb 2, 2016 · 6 comments
Closed

terminate called after throwing an instance of 'std::bad_alloc' #44

Straven opened this issue Feb 2, 2016 · 6 comments
Labels

Comments

@Straven
Copy link

Straven commented Feb 2, 2016

На openSUSE 42.1 x64 через пару дней работы перестала запускаться.
При запуске через терминал получаю вот такое сообщение:

$ ./TrackYourTime 
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
[1]    8895 abort      ./TrackYourTime

При запуске в обычном режиме висит в трее, но при поптыке как-то пообщаться с приложением (клик кнопкой мыши по иконке) тут же вылетает.

@Allexin
Copy link
Owner

Allexin commented Feb 2, 2016

Вероятно поврежден файл базы данных с активностью.
Попробуйте переименовать db.bin, чтобы к нему не было доступа.
Если это поможет, то я был бы благодарен за ссылку на ваш файл с активностью, чтобы я мог проанализировать что в нем сломалось. Понимаю что это личная информация, поэтому не настаиваю.

@Allexin Allexin added the bug label Feb 2, 2016
@f2404
Copy link

f2404 commented Feb 2, 2016

Может быть, ловить эксепшены от new и new [], чтобы выдавать более понятное сообщение об ошибке?

@Allexin
Copy link
Owner

Allexin commented Feb 2, 2016

Можно обернуть весь код в main в эксцепшн и выводить в случае краша всю информацию в лог, как тут товарищ предлагал:
#38
Наверно так и сделаю в следующей версии.

@f2404
Copy link

f2404 commented Feb 2, 2016

Весь код... а как понять, кто именно кинул тот же bad_alloc, например? стэк трейс выводить - понадобится своя имплементация для каждой платформы.

@Allexin
Copy link
Owner

Allexin commented Feb 2, 2016

Для части платформ если сделаю - уже хорошо.
перекрывать new и new[] не рискну, потому что это же Qt, она сама там много за кадром мутит. Могу стабильность поломать.
К примеру тот же std::bad_alloc - он не в моем коде падает. У меня вообще нигде не используется std, всё Qtшное только.

@Straven
Copy link
Author

Straven commented Feb 2, 2016

Вероятно поврежден файл базы данных с активностью.
Попробуйте переименовать db.bin, чтобы к нему не было доступа.
Если это поможет, то я был бы благодарен за ссылку на ваш файл с активностью, чтобы я мог проанализировать что в нем сломалось. Понимаю что это личная информация, поэтому не настаиваю.

Постпил по совету. Пока работает. Если сломается еще раз пришлю файл. Пока что закрываю.

@Straven Straven closed this as completed Feb 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants