[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