https://bugs.kde.org/show_bug.cgi?id=356276

            Bug ID: 356276
           Summary: Kate crashes when opened file is changed by external
                    program
           Product: kate
           Version: Git
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: application
          Assignee: kwrite-bugs-n...@kde.org
          Reporter: v...@pelcak.org

I have Kate 15.08.3

When I have file opened and changed in it and it gets changed by other program,
Kate crashes.

Reproducible: Always

Steps to Reproduce:
1) Open file in kate and change it, (without saving).
2) Then, edit that file in different program. 
3) Kate will ask you to reload that file. Confirm it.
4) Kate will ask you to save changes. Reject it.
5) Kate segfaults.

Actual Results:  
Segfault

Expected Results:  
Kate should continue working.

(gdb) bt
#0  0x00007ffff7b8b857 in KateMwModOnHdDialog::handleSelected(int)
(this=0xb24140, action=2)
    at /usr/src/debug/kate-15.08.3/kate/src/katemwmodonhddialog.cpp:214
#1  0x00007ffff2e6ce17 in QMetaObject::activate(QObject*, int, int, void**)
(a=0x7fffffffc530, r=0xb24140, this=<optimized out>)
    at ../../src/corelib/kernel/qobject_impl.h:124
#2  0x00007ffff2e6ce17 in QMetaObject::activate(QObject*, int, int, void**)
(sender=sender@entry=0xe19430, signalOffset=<optimized out>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fffffffc530)
at kernel/qobject.cpp:3698
#3  0x00007ffff2e6d787 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0xe19430, m=m@entry=0x7ffff4935bc0
<QAbstractButton::staticMetaObject>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fffffffc530)
at kernel/qobject.cpp:3578
#4  0x00007ffff45acf92 in QAbstractButton::clicked(bool)
(this=this@entry=0xe19430, _t1=false)
    at .moc/moc_qabstractbutton.cpp:303
#5  0x00007ffff4330e04 in QAbstractButtonPrivate::emitClicked()
(this=this@entry=0xd7b830) at widgets/qabstractbutton.cpp:534
#6  0x00007ffff4332309 in QAbstractButtonPrivate::click()
(this=this@entry=0xd7b830) at widgets/qabstractbutton.cpp:527
#7  0x00007ffff433245c in QAbstractButton::mouseReleaseEvent(QMouseEvent*)
(this=0xe19430, e=0x7fffffffc9c0)
    at widgets/qabstractbutton.cpp:1132
#8  0x00007ffff4279df8 in QWidget::event(QEvent*) (this=0xe19430,
event=0x7fffffffc9c0) at kernel/qwidget.cpp:9047
#9  0x00007ffff42398cc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x628880, receiver=receiver@entry=0xe19430,
e=e@entry=0x7fffffffc9c0) at kernel/qapplication.cpp:3716
#10 0x00007ffff423f511 in QApplication::notify(QObject*, QEvent*)
(this=<optimized out>, receiver=0xe19430, e=0x7fffffffc9c0)
    at kernel/qapplication.cpp:3276
#11 0x00007ffff2e3fcf3 in QCoreApplication::notifyInternal(QObject*, QEvent*)
(this=0x7fffffffdba0, receiver=receiver@entry=0xe19430,
event=event@entry=0x7fffffffc9c0) at kernel/qcoreapplication.cpp:965
#12 0x00007ffff423e082 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool)
(event=0x7fffffffc9c0, receiver=0xe19430) at
../../src/corelib/kernel/qcoreapplication.h:227
#13 0x00007ffff423e082 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool)
(receiver=receiver@entry=0xe19430, event=event@entry=0x7fffffffc9c0,
alienWidget=alienWidget@entry=0xe19430, nativeWidget=0xb24140,
buttonDown=buttonDown@entry=0x7ffff49446a0 <qt_button_down>,
lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:2770
#14 0x00007ffff4293dd3 in QWidgetWindow::handleMouseEvent(QMouseEvent*)
(this=this@entry=0xd56a10, event=event@entry=0x7fffffffcdc0) at
kernel/qwidgetwindow.cpp:555
#15 0x00007ffff429633b in QWidgetWindow::event(QEvent*) (this=0xd56a10,
event=0x7fffffffcdc0) at kernel/qwidgetwindow.cpp:210
#16 0x00007ffff42398cc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x628880, receiver=receiver@entry=0xd56a10,
e=e@entry=0x7fffffffcdc0) at kernel/qapplication.cpp:3716
#17 0x00007ffff423e9d6 in QApplication::notify(QObject*, QEvent*)
(this=0x7fffffffdba0, receiver=0xd56a10, e=0x7fffffffcdc0)
    at kernel/qapplication.cpp:3499
#18 0x00007ffff2e3fcf3 in QCoreApplication::notifyInternal(QObject*, QEvent*)
(this=0x7fffffffdba0, receiver=receiver@entry=0xd56a10,
event=event@entry=0x7fffffffcdc0) at kernel/qcoreapplication.cpp:965
#19 0x00007ffff3a9979e in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
(event=0x7fffffffcdc0, receiver=0xd56a10) at
../../src/corelib/kernel/qcoreapplication.h:227
#20 0x00007ffff3a9979e in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
(e=0xf68f40)
    at kernel/qguiapplication.cpp:1789
#21 0x00007ffff3a9b305 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
(e=e@entry=0xf68f40) at kernel/qguiapplication.cpp:1581
#22 0x00007ffff3a809f8 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(flags=...)
    at kernel/qwindowsysteminterface.cpp:625
#23 0x00007fffe5a08ed0 in userEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (source=<optimized out>)
    at eventdispatchers/qeventdispatcher_glib.cpp:70
#24 0x00007fffeeb39097 in g_main_context_dispatch (context=0x7fffdc0016f0) at
gmain.c:3154
#25 0x00007fffeeb39097 in g_main_context_dispatch
(context=context@entry=0x7fffdc0016f0) at gmain.c:3769
#26 0x00007fffeeb392c8 in g_main_context_iterate
(context=context@entry=0x7fffdc0016f0, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#27 0x00007fffeeb3936c in g_main_context_iteration (context=0x7fffdc0016f0,
may_block=may_block@entry=1) at gmain.c:3901
#28 0x00007ffff2e9350f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x668430, flags=...)
    at kernel/qeventdispatcher_glib.cpp:418
#29 0x00007ffff2e3d63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffffffd120, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:204
#30 0x00007ffff4421805 in QDialog::exec() (this=0xb24140) at
dialogs/qdialog.cpp:541
#31 0x00007ffff7b74e0c in
KateMainWindow::queueModifiedOnDisc(KTextEditor::Document*) (this=0x837f30,
doc=0xfa08c0)
    at /usr/src/debug/kate-15.08.3/kate/src/katemainwindow.cpp:1060
#32 0x00007ffff7badedd in KateMainWindow::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) (_o=0x837f30, _c=<optimized out>,
_id=<optimized out>, _a=0xd9e8b0) at
/usr/src/debug/kate-15.08.3/build/kate/src/moc_katemainwindow.cpp:389
#33 0x00007ffff2e6dd79 in QObject::event(QEvent*) (this=this@entry=0x837f30,
e=e@entry=0xf0fa40) at kernel/qobject.cpp:1239
#34 0x00007ffff4279fe3 in QWidget::event(QEvent*) (this=this@entry=0x837f30,
event=event@entry=0xf0fa40)
    at kernel/qwidget.cpp:9108
#35 0x00007ffff438792b in QMainWindow::event(QEvent*)
(this=this@entry=0x837f30, event=event@entry=0xf0fa40)
    at widgets/qmainwindow.cpp:1495
#36 0x00007ffff63c3557 in KMainWindow::event(QEvent*)
(this=this@entry=0x837f30, ev=ev@entry=0xf0fa40)
    at /usr/src/debug/kxmlgui-5.16.0/src/kmainwindow.cpp:834
#37 0x00007ffff63f9655 in KXmlGuiWindow::event(QEvent*) (this=0x837f30,
ev=0xf0fa40)
    at /usr/src/debug/kxmlgui-5.16.0/src/kxmlguiwindow.cpp:118
#38 0x00007ffff42398cc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x628880, receiver=receiver@entry=0x837f30,
e=e@entry=0xf0fa40) at kernel/qapplication.cpp:3716
#39 0x00007ffff423e9d6 in QApplication::notify(QObject*, QEvent*)
(this=0x7fffffffdba0, receiver=0x837f30, e=0xf0fa40)
    at kernel/qapplication.cpp:3499
#40 0x00007ffff2e3fcf3 in QCoreApplication::notifyInternal(QObject*, QEvent*)
(this=0x7fffffffdba0, receiver=0x837f30, event=event@entry=0xf0fa40) at
kernel/qcoreapplication.cpp:965
#41 0x00007ffff2e42016 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (event=0xf0fa40, receiver=<optimized out>) at
kernel/qcoreapplication.h:224
#42 0x00007ffff2e42016 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0,
data=0x61fdd0) at kernel/qcoreapplication.cpp:1593
#43 0x00007ffff2e424f8 in QCoreApplication::sendPostedEvents(QObject*, int)
(receiver=receiver@entry=0x0, event_type=event_type@entry=0) at
kernel/qcoreapplication.cpp:1451
#44 0x00007ffff2e93103 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x662120)
    at kernel/qeventdispatcher_glib.cpp:271
#45 0x00007fffeeb39097 in g_main_context_dispatch (context=0x7fffdc0016f0) at
gmain.c:3154
#46 0x00007fffeeb39097 in g_main_context_dispatch
(context=context@entry=0x7fffdc0016f0) at gmain.c:3769
#47 0x00007fffeeb392c8 in g_main_context_iterate
(context=context@entry=0x7fffdc0016f0, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#48 0x00007fffeeb3936c in g_main_context_iteration (context=0x7fffdc0016f0,
may_block=may_block@entry=1) at gmain.c:3901
#49 0x00007ffff2e9350f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x668430, flags=...)
    at kernel/qeventdispatcher_glib.cpp:418
#50 0x00007ffff2e3d63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffffffd8f0, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:204
#51 0x00007ffff2e452fd in QCoreApplication::exec() () at
kernel/qcoreapplication.cpp:1229
#52 0x00007ffff3a9153c in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1527
#53 0x00007ffff4235f75 in QApplication::exec() () at
kernel/qapplication.cpp:2976
#54 0x00007ffff7baa0c6 in kdemain(int, char**) (argc=1, argv=<optimized out>)
    at /usr/src/debug/kate-15.08.3/kate/src/main.cpp:439
#55 0x00007ffff77af610 in __libc_start_main (main=
    0x4007c0 <main(int, char**)>, argc=1, argv=0x7fffffffdd58, init=<optimized
out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffdd48) at libc-start.c:289
---Type <return> to continue, or q <return> to quit---
#56 0x00000000004007f9 in _start () at ../sysdeps/x86_64/start.S:118
(gdb) quit

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to