Summary: | Crash when removing network-monitor applet | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kdeclarative | Reporter: | Jan Grulich <jgrulich> |
Component: | general | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | jappleii, jgrulich, kde, kdelibs-bugs, pastas4, sean_mccully |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kdeclarative/2617a2ab9d472a78559f11ee8d430d951e3335f2 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | Backtrace from crash in Plotter component |
Description
Jan Grulich
2015-01-30 16:00:30 UTC
Created attachment 90816 [details]
Backtrace from crash in Plotter component
Attachment from comment #1: #0 0x00007fffd2909382 in PlotTexture::fbo() const (this=0x4042f914c0000000) at /home/jgrulich/development/projects/KDE/frameworks/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp:199 #1 0x00007fffd2906c88 in Plotter::render() (this=0x2ed37f0) at /home/jgrulich/development/projects/KDE/frameworks/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp:605 #2 0x00007fffd290d586 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Plotter::*)()>::call(void (Plotter::*)(), Plotter*, void**) (f=(void (Plotter::*)(Plotter * const)) 0x7fffd2905af2 <Plotter::render()>, o=0x2ed37f0, arg=0x7fffffffcdf0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:500 #3 0x00007fffd290d45c in QtPrivate::FunctionPointer<void (Plotter::*)()>::call<QtPrivate::List<>, void>(void (Plotter::*)(), Plotter*, void**) (f=(void (Plotter::*)(Plotter * const)) 0x7fffd2905af2 <Plotter::render()>, o=0x2ed37f0, arg=0x7fffffffcdf0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:519 #4 0x00007fffd290c915 in QtPrivate::QSlotObject<void (Plotter::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xfd5fd0, r=0x2ed37f0, a=0x7fffffffcdf0, ret=0x0) at /usr/include/qt5/QtCore/qobject_impl.h:143 #5 0x0000003752cbd45a in QMetaObject::activate(QObject*, int, int, void**) (a=0x7fffffffcdf0, r=0x2ed37f0, this=0xfd5fd0) at ../../src/corelib/kernel/qobject_impl.h:124 #6 0x0000003752cbd45a in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x6e2740, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0) at kernel/qobject.cpp:3702 #7 0x0000003752cbe157 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x6e2740, m=m@entry=0x322ebcdc00 <QQuickWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0) at kernel/qobject.cpp:3582 #8 0x000000322e998b73 in QQuickWindow::beforeRendering() (this=this@entry=0x6e2740) at .moc/moc_qquickwindow.cpp:461 #9 0x000000322e99d5ee in QQuickWindowPrivate::renderSceneGraph(QSize const&) (this=this@entry=0x745000, size=...) at /usr/src/debug/qtdeclarative-opensource-src-5.4.0/src/quick/items/qquickwindow.cpp:365 #10 0x000000322e96cc96 in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (this=this@entry=0x7c9140, window=0x6e2740) at /usr/src/debug/qtdeclarative-opensource-src-5.4.0/src/quick/scenegraph/qsgrenderloop.cpp:369 #11 0x000000322e96d7b1 in QSGGuiThreadRenderLoop::event(QEvent*) (this=0x7c9140, e=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.0/src/quick/scenegraph/qsgrenderloop.cpp:467 #12 0x000000309b35ad3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x61d610, receiver=receiver@entry=0x7c9140, e=e@entry=0x7fffffffd290) at kernel/qapplication.cpp:3722 #13 0x000000309b360330 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd5f0, receiver=0x7c9140, e=0x7fffffffd290) at kernel/qapplication.cpp:3505 #14 0x0000003752c8e4ab in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffffffd5f0, receiver=0x7c9140, event=event@entry=0x7fffffffd290) at kernel/qcoreapplication.cpp:932 #15 0x0000003752ce4655 in QTimerInfoList::activateTimers() (event=0x7fffffffd290, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:228 #16 0x0000003752ce4655 in QTimerInfoList::activateTimers() (this=0x6568e0) at kernel/qtimerinfo_unix.cpp:635 #17 0x0000003752ce4a81 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177 #18 0x0000003743249aeb in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #19 0x0000003743249e88 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #20 0x0000003743249f3c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #21 0x0000003752ce5727 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x65b4b0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #22 0x0000003752c8bd42 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd4e0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #23 0x0000003752c937ec in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1185 #24 0x00000030998e2a7c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1532 #25 0x000000309b356df5 in QApplication::exec() () at kernel/qapplication.cpp:2956 #26 0x0000000000407699 in main(int, char**) (argc=3, argv=<optimized out>) at /home/jgrulich/development/projects/plasmate/plasmoidviewer/main.cpp:131 *** Bug 343866 has been marked as a duplicate of this bug. *** This looks resolved in my latest build. Git commit 2617a2ab9d472a78559f11ee8d430d951e3335f2 by Marco Martin. Committed on 05/02/2018 at 16:33. Pushed by mart into branch 'master'. disconnect render() on window change Summary: when the window changes, the node will be deleted, and render() will access an invalid pointer. disconnect the render slot when the window change, as it can't do anything useful until the next updatepaintnode. Make the managedtexturenode actually do the management, as textures were never deleted Related: bug 388508, bug 374280, bug 365052 Test Plan: The bug is easily reproducible without the patch, wasn't able to reproduce it anymore with it Reviewers: #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: davidedmundson, broulik, ngraham, plasma-devel, #frameworks Tags: #plasma, #frameworks Differential Revision: https://phabricator.kde.org/D10250 M +10 -2 src/qmlcontrols/kquickcontrolsaddons/plotter.cpp M +3 -1 src/qmlcontrols/kquickcontrolsaddons/plotter.h https://commits.kde.org/kdeclarative/2617a2ab9d472a78559f11ee8d430d951e3335f2 *** Bug 414847 has been marked as a duplicate of this bug. *** |