[konsole] [Bug 373633] konsole process crashed when closing a tab
Antonio Larrosa
bugzilla_noreply at kde.org
Wed Dec 14 08:37:16 UTC 2016
https://bugs.kde.org/show_bug.cgi?id=373633
--- Comment #1 from Antonio Larrosa <larrosa at kde.org> ---
Just in case it helps, I'll add here the source lines around each frame in the
backtrace:
(gdb) frame 7
#7 0x00007fb7075f2b84 in QObjectPrivate::Connection::~Connection
(this=0x4578030, __in_chrg=<optimized out>) at kernel/qobject.cpp:1056
1056 delete [] v;
(gdb) l
1051 QObjectPrivate::Connection::~Connection()
1052 {
1053 if (ownArgumentTypes) {
1054 const int *v = argumentTypes.load();
1055 if (v != &DIRECT_CONNECTION_ONLY)
1056 delete [] v;
1057 }
1058 if (isSlotObject)
1059 slotObj->destroyIfLastRef();
1060 }
(gdb) frame 8
#8 0x00007fb7075fc71c in QObjectPrivate::Connection::deref (this=<optimized
out>) at kernel/qobject_p.h:156
156 delete this;
(gdb) l
151 int method() const { Q_ASSERT(!isSlotObject); return
method_offset + method_relative; }
152 void ref() { ref_.ref(); }
153 void deref() {
154 if (!ref_.deref()) {
155 Q_ASSERT(!receiver);
156 delete this;
157 }
158 }
159 };
160 // ConnectionList is a singly-linked list
(gdb) frame 9
#9 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at
kernel/qobject.cpp:977
977 c->deref();
(gdb) l
972 c->isSlotObject = false;
973 locker.unlock();
974 c->slotObj->destroyIfLastRef();
975 locker.relock();
976 }
977 c->deref();
978 }
979 }
980
981 if (!--d->connectionLists->inUse) {
(gdb) frame 10
#10 0x00007fb70854bea9 in QAction::~QAction (this=0x10dccf40,
__in_chrg=<optimized out>) at kernel/qaction.cpp:570
570 QAction::~QAction()
(gdb) l
565
566
567 /*!
568 Destroys the object and frees allocated resources.
569 */
570 QAction::~QAction()
571 {
572 Q_D(QAction);
573 for (int i = d->widgets.size()-1; i >= 0; --i) {
574 QWidget *w = d->widgets.at(i);
(gdb) frame 11
#11 0x00007fb70854bed9 in QAction::~QAction (this=0x10dccf40,
__in_chrg=<optimized out>) at kernel/qaction.cpp:594
594 }
(gdb) l
589 const int id = d->alternateShortcutIds.at(i);
590 qApp->d_func()->shortcutMap.removeShortcut(id, this);
591 }
592 }
593 #endif
594 }
595
596 /*!
597 Sets this action group to \a group. The action will be automatically
598 added to the group's list of actions.
(gdb) frame 12
#12 0x00007fb7075f36d1 in QObjectPrivate::deleteChildren
(this=this at entry=0x248f230) at kernel/qobject.cpp:1970
1970 delete currentChildBeingDeleted;
(gdb) l
1965 // don't use qDeleteAll as the destructor of the child might
1966 // delete siblings
1967 for (int i = 0; i < children.count(); ++i) {
1968 currentChildBeingDeleted = children.at(i);
1969 children[i] = 0;
1970 delete currentChildBeingDeleted;
1971 }
1972 children.clear();
1973 currentChildBeingDeleted = 0;
1974 isDeletingChildren = false;
(gdb) frame 13
#13 0x00007fb7075fca4f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at kernel/qobject.cpp:1041
1041 d->deleteChildren();
(gdb) l
1036 }
1037 }
1038 }
1039
1040 if (!d->children.isEmpty())
1041 d->deleteChildren();
1042
1043 qt_removeObject(this);
1044 if (Q_UNLIKELY(qtHookData[QHooks::RemoveQObject]))
1045
reinterpret_cast<QHooks::RemoveQObjectCallback>(qtHookData[QHooks::RemoveQObject])(this);
(gdb) frame 14
#14 0x00007fb70854bea9 in QAction::~QAction (this=0x78a53a0,
__in_chrg=<optimized out>) at kernel/qaction.cpp:570
570 QAction::~QAction()
(gdb) l
565
566
567 /*!
568 Destroys the object and frees allocated resources.
569 */
570 QAction::~QAction()
571 {
572 Q_D(QAction);
573 for (int i = d->widgets.size()-1; i >= 0; --i) {
574 QWidget *w = d->widgets.at(i);
(gdb) frame 15
#15 0x00007fb70859ca8d in QWidgetAction::~QWidgetAction (this=0x78a53a0,
__in_chrg=<optimized out>) at kernel/qwidgetaction.cpp:118
118 QWidgetAction::~QWidgetAction()
(gdb) l
113 }
114
115 /*!
116 Destroys the object and frees allocated resources.
117 */
118 QWidgetAction::~QWidgetAction()
119 {
120 Q_D(QWidgetAction);
121 for (int i = 0; i < d->createdWidgets.count(); ++i)
122 disconnect(d->createdWidgets.at(i),
SIGNAL(destroyed(QObject*)),
(gdb) frame 16
#16 0x00007fb7093cf6c1 in KSelectAction::~KSelectAction (this=0x78a53a0,
__in_chrg=<optimized out>) at
/usr/src/debug/kwidgetsaddons-5.28.0/src/kselectaction.cpp:98
98 KSelectAction::~KSelectAction()
(gdb) l
93 {
94 Q_D(KSelectAction);
95 d->init(this);
96 }
97
98 KSelectAction::~KSelectAction()
99 {
100 menu()->deleteLater();
101 delete d_ptr;
102 }
(gdb) frame 17
#17 0x00007fb709d32219 in KCodecAction::~KCodecAction (this=0x78a53a0,
__in_chrg=<optimized out>) at
/usr/src/debug/kconfigwidgets-5.28.0/src/kcodecaction.cpp:85
85 }
(gdb) l
80 }
81
82 KCodecAction::~KCodecAction()
83 {
84 delete d;
85 }
86
87 void KCodecAction::Private::init(bool showAutoOptions)
88 {
89 q->setToolBarMode(MenuMode);
(gdb) frame 18
#18 0x00007fb7075f36d1 in QObjectPrivate::deleteChildren
(this=this at entry=0x24b3480) at kernel/qobject.cpp:1970
1970 delete currentChildBeingDeleted;
(gdb) l
1965 // don't use qDeleteAll as the destructor of the child might
1966 // delete siblings
1967 for (int i = 0; i < children.count(); ++i) {
1968 currentChildBeingDeleted = children.at(i);
1969 children[i] = 0;
1970 delete currentChildBeingDeleted;
1971 }
1972 children.clear();
1973 currentChildBeingDeleted = 0;
1974 isDeletingChildren = false;
(gdb) frame 19
#19 0x00007fb7075fca4f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at kernel/qobject.cpp:1041
1041 d->deleteChildren();
(gdb) l
1036 }
1037 }
1038 }
1039
1040 if (!d->children.isEmpty())
1041 d->deleteChildren();
1042
1043 qt_removeObject(this);
1044 if (Q_UNLIKELY(qtHookData[QHooks::RemoveQObject]))
1045
reinterpret_cast<QHooks::RemoveQObjectCallback>(qtHookData[QHooks::RemoveQObject])(this);
(gdb) frame 20
#20 0x00007fb70acb8429 in Konsole::SessionController::~SessionController
(this=0x24b3350, __in_chrg=<optimized out>) at
/usr/src/debug/konsole-16.08.3/src/SessionController.cpp:212
212 SessionController::~SessionController()
(gdb) l
207 // before outputting bookmark.
208 _bookmarkValidProgramsToClear << "bash" << "fish" << "sh";
209 _bookmarkValidProgramsToClear << "tcsh" << "zsh";
210 }
211
212 SessionController::~SessionController()
213 {
214 if (_view)
215 _view->setScreenWindow(0);
216
(gdb) frame 21
#21 0x00007fb70acb8469 in Konsole::SessionController::~SessionController
(this=0x24b3350, __in_chrg=<optimized out>) at
/usr/src/debug/konsole-16.08.3/src/SessionController.cpp:222
222 }
(gdb) l
217 _allControllers.remove(this);
218
219 if (!_editProfileDialog.isNull()) {
220 delete _editProfileDialog.data();
221 }
222 }
223 void SessionController::trackOutput(QKeyEvent* event)
224 {
225 Q_ASSERT(_view->screenWindow());
226
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the konsole-devel
mailing list