View Single Post
Old 11-13-2019, 09:44 AM   #86
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 7,647
Karma: 5433388
Join Date: Nov 2009
Device: many
This one I can recreate:
Code:
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

Thread 0 Crashed:: CrBrowserMain  Dispatch queue: com.apple.main-thread
0   org.qt-project.QtCore         	0x0000000112d05b48 QObject::disconnect(QObject const*, char const*, QObject const*, char const*) + 680
1   com.sigil-ebook.Sigil.app     	0x000000010a1fd57b MainWindow::BreakTabConnections(ContentTab*) + 683
2   com.sigil-ebook.Sigil.app     	0x000000010a1d70f8 MainWindow::ChangeSignalsWhenTabChanges(ContentTab*, ContentTab*) + 24
3   org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
4   com.sigil-ebook.Sigil.app     	0x000000010a24d488 TabManager::TabChanged(ContentTab*, ContentTab*) + 72
5   com.sigil-ebook.Sigil.app     	0x0000000109ee6322 TabManager::EmitTabChanged() + 98
6   org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
7   org.qt-project.QtWidgets      	0x000000010acd983d 0x10aafa000 + 1964093
8   org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
9   org.qt-project.QtWidgets      	0x000000010acbb736 QTabBar::setCurrentIndex(int) + 406
10  org.qt-project.QtWidgets      	0x000000010acbbea1 QTabBar::removeTab(int) + 1217
11  org.qt-project.QtWidgets      	0x000000010acd987e 0x10aafa000 + 1964158
12  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
13  org.qt-project.QtWidgets      	0x000000010acb600e 0x10aafa000 + 1818638
14  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
15  org.qt-project.QtWidgets      	0x000000010ab2db06 QStackedLayout::takeAt(int) + 438
16  org.qt-project.QtWidgets      	0x000000010ab2844f QLayout::removeWidget(QWidget*) + 95
17  com.sigil-ebook.Sigil.app     	0x0000000109ee637c TabManager::DeleteTab(ContentTab*) + 28
18  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
19  com.sigil-ebook.Sigil.app     	0x000000010a24a89c ContentTab::DeleteMe(ContentTab*) + 60
20  com.sigil-ebook.Sigil.app     	0x0000000109ee443b TabManager::CloseTab(int, bool) + 91
21  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
22  org.qt-project.QtWidgets      	0x000000010acd983d 0x10aafa000 + 1964093
23  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
24  org.qt-project.QtWidgets      	0x000000010acba80b QTabBarPrivate::_q_closeTab() + 203
25  org.qt-project.QtCore         	0x0000000112d08bec QMetaObject::activate(QObject*, int, int, void**) + 3132
26  org.qt-project.QtWidgets      	0x000000010abf49ff 0x10aafa000 + 1026559
27  org.qt-project.QtWidgets      	0x000000010abf489c 0x10aafa000 + 1026204
28  org.qt-project.QtWidgets      	0x000000010abf59cf QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 271
29  org.qt-project.QtWidgets      	0x000000010ab4621d QWidget::event(QEvent*) + 445
30  org.qt-project.QtWidgets      	0x000000010ab0a4bd QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
31  org.qt-project.QtWidgets      	0x000000010ab0d318 QApplication::notify(QObject*, QEvent*) + 7336
32  org.qt-project.QtCore         	0x0000000112cd7994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
33  org.qt-project.QtWidgets      	0x000000010ab0ade0 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 896
So it appears that diconnecting the signals from the deleted tab is causing the segfault. I will try to add some debug print statements in this code to see if we can detect what exactly is going wrong here.

KevinH

Quote:
Originally Posted by snarkophilus View Post
Using 0.991-18, if I open many files (say 20ish) from one book, then click quickly on the close tab red "x" without moving the mouse to close the files, Sigil crashes. This happens for one particular book and is repeatable, but doesn't happen on a couple of other books I tried. This particular book is copyright, so I can't post it here.

I can see a compile time debug option at https://github.com/Sigil-Ebook/Sigil...o/DEBUGGING.md. Is there anything I can do to provide debug output from a standard build, or anything else to help track down where the crash is?
KevinH is offline   Reply With Quote