ObserverHerb / Celeste

A Twitch bot written in C++/Qt with a focus on multimedia and native performance
GNU General Public License v3.0
6 stars 0 forks source link

[Linux] Crash on exit #128

Closed ObserverHerb closed 1 year ago

ObserverHerb commented 1 year ago

CLI output:

pure virtual method called terminate called without an active exception

Stack trace:

1   __pthread_kill_implementation                                                             0x7ffff5eafe34 
2   raise                                                                                     0x7ffff5e5eb5e 
3   abort                                                                                     0x7ffff5e4787f 
4   __gnu_cxx::__verbose_terminate_handler() [clone .cold]                                    0x7ffff60a4d39 
5   __cxxabiv1::__terminate(void ( *)())                                                      0x7ffff60b503c 
6   std::terminate()                                                                          0x7ffff60b50a7 
7   __cxa_pure_virtual                                                                        0x7ffff60b5dd5 
8   QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject *, QEvent *)               0x7ffff6575c6e 
9   QApplicationPrivate::notify_helper(QObject *, QEvent *)                                   0x7ffff79b9688 
10  QCoreApplication::notifyInternal2(QObject *, QEvent *)                                    0x7ffff6575ee8 
11  QWidget::~QWidget()                                                                       0x7ffff7a12538 
12  QLabel::~QLabel()                                                                         0x7ffff7b4b9e5 
13  QObjectPrivate::deleteChildren()                                                          0x7ffff65d0d43 
14  QWidget::~QWidget()                                                                       0x7ffff7a12718 
15  UI::Options::Categories::Category::~Category                                widgets.h 235 0x4425ef       
16  UI::Options::Categories::Channel::~Channel                                  widgets.h 257 0x41837f       
17  UI::Options::Categories::Channel::~Channel                                  widgets.h 257 0x4183a0       
18  QObjectPrivate::deleteChildren()                                                          0x7ffff65d0d43 
19  QWidget::~QWidget()                                                                       0x7ffff7a12718 
20  UI::Options::Dialog::~Dialog                                                widgets.h 535 0x418df3       
... <More>                                                                                                   
ObserverHerb commented 1 year ago

I was able to track this down to this function in the base Category class.

QLabel* Label(const QString &text);

Something about creating labels on the heap is causing confusion when cleaning up.