| Summary: | Kate segfaults when closing edited file | ||
|---|---|---|---|
| Product: | [Applications] kate | Reporter: | Vit Pelcak <vit> |
| Component: | application | Assignee: | KWrite Developers <kwrite-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | christoph |
| Priority: | NOR | ||
| Version First Reported In: | 5.0.0 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
kate-15.04.2-3.1.x86_64 Program received signal SIGSEGV, Segmentation fault.
KateMainWindow::queueModifiedOnDisc (this=0x8055a0, doc=0x21bf2e0)
at /usr/src/debug/kate-15.04.2/kate/src/katemainwindow.cpp:1043
1043 bool modOnDisk = (uint)KateApp::self()->documentManager()->documentInfo(doc)->modifiedOnDisc;
commit 34b3f6fa4cbe218d2718d5a851b6c49f51fa7f6f Author: Kåre Särs <kare.sars@iki.fi> Date: Tue Jul 7 13:37:26 2015 +0300 Fix crash on closing of unsaved, untitled document discarding changes The KateDocumentInfo pointer was not checked before use. |
Open new file, edit it, close it and ignore changes. (gdb) bt full #0 KateMainWindow::queueModifiedOnDisc (this=0x8055a0, doc=0x21bf2e0) at /usr/src/debug/kate-15.04.2/kate/src/katemainwindow.cpp:1043 modOnDisk = <optimized out> #1 0x00007ffff7bae401 in KateMainWindow::qt_static_metacall (_o=0x8055a0, _c=<optimized out>, _id=<optimized out>, _a=0x210cdf0) at /usr/src/debug/kate-15.04.2/build/kate/src/moc_katemainwindow.cpp:388 No locals. #2 0x00007ffff3221b66 in QObject::event (this=this@entry=0x8055a0, e=e@entry=0x1ba2340) at kernel/qobject.cpp:1245 mce = 0x1ba2340 sw = {receiver = 0x8055a0, previousSender = 0x0, currentSender = {sender = 0x0, signal = -1, ref = 1}, switched = true} #3 0x00007ffff43af4d4 in QWidget::event (this=this@entry=0x8055a0, event=event@entry=0x1ba2340) at kernel/qwidget.cpp:9087 No locals. #4 0x00007ffff44bc01b in QMainWindow::event (this=this@entry=0x8055a0, event=event@entry=0x1ba2340) at widgets/qmainwindow.cpp:1495 No locals. #5 0x00007ffff6728c47 in KMainWindow::event (this=this@entry=0x8055a0, ev=ev@entry=0x1ba2340) at /usr/src/debug/kxmlgui-5.10.0/src/kmainwindow.cpp:821 No locals. #6 0x00007ffff675ff05 in KXmlGuiWindow::event (this=0x8055a0, ev=0x1ba2340) at /usr/src/debug/kxmlgui-5.10.0/src/kxmlguiwindow.cpp:118 ret = <optimized out> #7 0x00007ffff436fbac in QApplicationPrivate::notify_helper (this=this@entry=0x60f520, receiver=receiver@entry=0x8055a0, e=e@entry=0x1ba2340) at kernel/qapplication.cpp:3720 consumed = <optimized out> #8 0x00007ffff4374a00 in QApplication::notify (this=0x7fffffffdb70, receiver=0x8055a0, e=0x1ba2340) at kernel/qapplication.cpp:3503 w = 0x8055a0 extra = <optimized out> isProxyWidget = <optimized out> res = <optimized out> #9 0x00007ffff31f14b5 in QCoreApplication::notifyInternal (this=0x7fffffffdb70, receiver=0x8055a0, event=event@entry=0x1ba2340) at kernel/qcoreapplication.cpp:935 threadData = 0x60dce0 loopLevelCounter = {threadData = 0x60dce0} result = false cbdata = {0x8055a0, 0x1ba2340, 0x7fffffffd5d0} d = <optimized out> #10 0x00007ffff31f334f in sendEvent (event=0x1ba2340, receiver=<optimized out>) at kernel/qcoreapplication.h:228 No locals. #11 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x60dce0) at kernel/qcoreapplication.cpp:1552 e = 0x1ba2340 pe = <optimized out> r = <optimized out> unlocker = {m = <synthetic pointer>} event_deleter = {d = 0x1ba2340} locker = {val = 6348040} startOffset = 0 i = @0x60dcfc: 22 cleanup = {receiver = 0x0, event_type = 0, data = 0x60dce0, exceptionCaught = true} #12 0x00007ffff31f3988 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1410 data = <optimized out> #13 0x00007ffff3249383 in postEventSourceDispatch (s=0x658840) at kernel/qeventdispatcher_glib.cpp:271 source = 0x658840 #14 0x00007fffee8d9c74 in g_main_dispatch (context=0x7fffdc0016f0) at gmain.c:3122 dispatch = 0x7ffff3249370 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)> prev_source = 0x0 was_in_call = 0 user_data = 0x0 callback = 0x0 cb_funcs = <optimized out> cb_data = 0x0 need_destroy = <optimized out> source = 0x658840 current = 0x60bd80 i = 0 #15 g_main_context_dispatch (context=context@entry=0x7fffdc0016f0) at gmain.c:3737 No locals. #16 0x00007fffee8d9ec8 in g_main_context_iterate (context=context@entry=0x7fffdc0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3808 max_priority = 0 timeout = 0 some_ready = 1 nfds = <optimized out> allocated_nfds = 15 fds = 0x1c5e410 #17 0x00007fffee8d9f6c in g_main_context_iteration (context=0x7fffdc0016f0, may_block=1) at gmain.c:3869 retval = <optimized out> #18 0x00007ffff32487fc in QEventDispatcherGlib::processEvents (this=0x6a9c00, flags=...) at kernel/qeventdispatcher_glib.cpp:418 d = 0x64bbb0 canWait = true savedFlags = {i = 0} result = <optimized out> #19 0x00007ffff31ef40b in QEventLoop::exec (this=this@entry=0x7fffffffd8a0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 locker = {val = 6353056} ref = {d = 0x1c5e380, locker = @0x7fffffffd820, exceptionCaught = true} d = 0x1c5e380 #20 0x00007ffff31f6a96 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188 threadData = 0x60dce0 eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff362c470 <vtable for QEventLoop+16>, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff333df80 <qt_meta_stringdata_QObject>, data = 0x7ffff333de60 <qt_meta_data_QObject>, static_metacall = 0x7ffff3229840 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x1c5e380}, static staticQtMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff3387cc0 <qt_meta_stringdata_Qt>, data = 0x7ffff3385440 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x7ffff3628e80 <QObject::staticMetaObject>, stringdata = 0x7ffff339ba80 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff339ba20 <qt_meta_data_QEventLoop>, static_metacall = 0x7ffff329d820 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} ---Type <return> to continue, or q <return> to quit--- returnCode = <optimized out> #21 0x00007ffff3bde0cc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1507 No locals. #22 0x00007ffff436c275 in QApplication::exec () at kernel/qapplication.cpp:2956 No locals. #23 0x00007ffff7ba9dae in kdemain (argc=1, argv=<optimized out>) at /usr/src/debug/kate-15.04.2/kate/src/main.cpp:439 gotoColumnOption = {d = {d = 0x6fc7e0}} readStdInOption = {d = {d = 0x6fc940}} aboutData = {d = 0x6d40f0} startAnonymousSessionOption = {d = {d = 0x6ec370}} app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = { _vptr.QObject = 0x7ffff4a50a10 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff333df80 <qt_meta_stringdata_QObject>, data = 0x7ffff333de60 <qt_meta_data_QObject>, static_metacall = 0x7ffff3229840 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x60f520}, static staticQtMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff3387cc0 <qt_meta_stringdata_Qt>, data = 0x7ffff3385440 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff3628e80 <QObject::staticMetaObject>, stringdata = 0x7ffff339bc60 <qt_meta_stringdata_QCoreApplication>, data = 0x7ffff339bb40 <qt_meta_data_QCoreApplication>, static_metacall = 0x7ffff329d9a0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fffffffdb70}, static staticMetaObject = {d = { superdata = 0x7ffff362c5c0 <QCoreApplication::staticMetaObject>, stringdata = 0x7ffff3f413a0 <qt_meta_stringdata_QGuiApplication>, data = 0x7ffff3f411a0 <qt_meta_data_QGuiApplication>, static_metacall = 0x7ffff3be72f0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x7ffff41f7a80 <QGuiApplication::staticMetaObject>, stringdata = 0x7ffff46fbcc0 <qt_meta_stringdata_QApplication>, data = 0x7ffff46fbb40 <qt_meta_data_QApplication>, static_metacall = 0x7ffff4372100 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} tempfileOption = {d = {d = 0x6fcaa0}} parser = {d = 0x6fefc0} startSessionOption = {d = {d = 0x6fc410}} usePidOption = {d = {d = 0x6fd0c0}} gotoLineOption = {d = {d = 0x6fe4f0}} kateApp = {<QObject> = {_vptr.QObject = 0x7ffff7dd3b30 <vtable for KateApp+16>, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff333df80 <qt_meta_stringdata_QObject>, data = 0x7ffff333de60 <qt_meta_data_QObject>, static_metacall = 0x7ffff3229840 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x6c7970}, static staticQtMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff3387cc0 <qt_meta_stringdata_Qt>, data = 0x7ffff3385440 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x7ffff3628e80 <QObject::staticMetaObject>, stringdata = 0x7ffff7bc46e0 <qt_meta_stringdata_KateApp>, data = 0x7ffff7bc4560 <qt_meta_data_KateApp>, static_metacall = 0x7ffff7baf360 <KateApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static s_self = 0x7fffffffdbc0, m_args = @0x7fffffffda10, m_docManager = 0x6fcd60, m_pluginManager = 0x7be9e0, m_sessionManager = 0x7d1dd0, m_adaptor = 0x77f8a0, m_mainWindows = {<QListSpecialMethods<KateMainWindow*>> = {<No data fields>}, {p = {static shared_null = {ref = { atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0xffa710}, d = 0xffa710}}, m_wrapper = 0x6f9950} dbusService = {<QObject> = {_vptr.QObject = 0x7ffff5d77bd0 <vtable for KDBusService+16>, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff333df80 <qt_meta_stringdata_QObject>, data = 0x7ffff333de60 <qt_meta_data_QObject>, static_metacall = 0x7ffff3229840 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x1c148e0}, static staticQtMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff3387cc0 <qt_meta_stringdata_Qt>, data = 0x7ffff3385440 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x7ffff3628e80 <QObject::staticMetaObject>, stringdata = 0x7ffff5b75680 <qt_meta_stringdata_KDBusService>, data = 0x7ffff5b75560 <qt_meta_data_KDBusService>, static_metacall = 0x7ffff5b72ba0 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x1c11e50} startNewInstanceOption = {d = {d = 0x6fe2a0}} startBlockingOption = {d = {d = 0x6fd1c0}} useEncodingOption = {d = {d = 0x6fe890}} #24 0x00007ffff77b18c5 in __libc_start_main (main=0x4007c0 <main(int, char**)>, argc=1, argv=0x7fffffffdd28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd18) at libc-start.c:289 result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 6987939756484401251, 4196304, 140737488346400, 0, 0, -6987939755498071965, -6987958410818938781}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x4008d0 <__libc_csu_init>, 0x7fffffffdd28}, data = {prev = 0x0, cleanup = 0x0, canceltype = 4196560}}} not_first_call = <optimized out> #25 0x00000000004007f9 in _start () at ../sysdeps/x86_64/start.S:118 No locals. Reproducible: Always