| Summary: | konsole process crashed when closing a tab | ||
|---|---|---|---|
| Product: | [Applications] konsole | Reporter: | Antonio Larrosa <larrosa> |
| Component: | general | Assignee: | Konsole Bugs <konsole-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | crash | CC: | ganellon, joapple, justin.zobel, martin.strecker, rion4ik |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 16.08.3 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Antonio Larrosa
2016-12-14 08:34:32 UTC
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@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@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
*** Bug 370211 has been marked as a duplicate of this bug. *** *** Bug 371624 has been marked as a duplicate of this bug. *** *** Bug 373016 has been marked as a duplicate of this bug. *** *** Bug 383600 has been marked as a duplicate of this bug. *** Thanks for the report, Antonio. As it's been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I've set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved" when you respond, thanks. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |