Bug 296642 - Kate crashes after when copying contents from sql plugin resultset
Summary: Kate crashes after when copying contents from sql plugin resultset
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: application (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-23 21:20 UTC by Baze Petrushev
Modified: 2012-03-24 17:16 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.2
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Baze Petrushev 2012-03-23 21:20:30 UTC
Application: kate (3.8.1)
KDE Platform Version: 4.8.1 (4.8.1)
Qt Version: 4.8.0
Operating System: Linux 3.0.0-16-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed:
   - I executed sql query with the Kate sql plugin
   - Then I selected the contents of the resultset by clicking in the top-left box of the gridview.
   - Then I press Ctrl+C.

[Note: the bug does not apear if I right-click->copy.]

The crash can be reproduced every time.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fe2713197a0 (LWP 3025))]

Thread 3 (Thread 0x7fe25da81700 (LWP 3026)):
#0  0x00007fe270c63473 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe26dd99f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fe26dd9a429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe26eb67c26 in QEventDispatcherGlib::processEvents (this=0x17e2920, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fe26eb37402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fe26eb37657 in QEventLoop::exec (this=0x7fe25da80db0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fe26ea37067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fe26eb1717f in QInotifyFileSystemWatcherEngine::run (this=0x17d0ba0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fe26ea3a08b in QThreadPrivate::start (arg=0x17d0ba0) at thread/qthread_unix.cpp:298
#9  0x00007fe26e26befc in start_thread (arg=0x7fe25da81700) at pthread_create.c:304
#10 0x00007fe270c6f59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe255fc3700 (LWP 3029)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe25f043042 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007fe25f043079 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007fe26e26befc in start_thread (arg=0x7fe255fc3700) at pthread_create.c:304
#4  0x00007fe270c6f59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe2713197a0 (LWP 3025)):
[KCrash Handler]
#6  ref (this=0x200000007) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#7  QSqlRecord::QSqlRecord (this=0x7fffc773d2c0, other=...) at kernel/qsqlrecord.cpp:143
#8  0x00007fe25e1a92de in CachedSqlQueryModel::record (this=0x1944800, row=-1) at ../../../../kate/plugins/katesql/cachedsqlquerymodel.cpp:68
#9  0x00007fe25e1a9445 in CachedSqlQueryModel::data (this=<optimized out>, item=<optimized out>, role=<optimized out>) at ../../../../kate/plugins/katesql/cachedsqlquerymodel.cpp:39
#10 0x00007fe25e1a9e2e in DataOutputModel::data (this=0x1944800, index=..., role=0) at ../../../../kate/plugins/katesql/dataoutputmodel.cpp:119
#11 0x00007fe2705b3253 in QAbstractItemView::keyPressEvent (this=<optimized out>, event=0x7fffc773e2d0) at itemviews/qabstractitemview.cpp:2237
#12 0x00007fe2700dc998 in QWidget::event (this=0x1947d80, event=0x7fffc773e2d0) at kernel/qwidget.cpp:8396
#13 0x00007fe27049a636 in QFrame::event (this=0x1947d80, e=0x7fffc773e2d0) at widgets/qframe.cpp:557
#14 0x00007fe27051c993 in QAbstractScrollArea::event (this=0x1947d80, e=0x7fffc773e2d0) at widgets/qabstractscrollarea.cpp:996
#15 0x00007fe2705b9ceb in QAbstractItemView::event (this=0x1947d80, event=0x7fffc773e2d0) at itemviews/qabstractitemview.cpp:1580
#16 0x00007fe27008c104 in notify_helper (e=0x7fffc773e2d0, receiver=0x1947d80, this=0x1370b40) at kernel/qapplication.cpp:4555
#17 QApplicationPrivate::notify_helper (this=0x1370b40, receiver=0x1947d80, e=0x7fffc773e2d0) at kernel/qapplication.cpp:4527
#18 0x00007fe270091645 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fffc773e2d0) at kernel/qapplication.cpp:3996
#19 0x00007fe26f33f9a6 in KApplication::notify (this=0x7fffc773f240, receiver=0x1947d80, event=0x7fffc773e2d0) at ../../kdeui/kernel/kapplication.cpp:311
#20 0x00007fe26eb3861c in QCoreApplication::notifyInternal (this=0x7fffc773f240, receiver=0x1947d80, event=0x7fffc773e2d0) at kernel/qcoreapplication.cpp:876
#21 0x00007fe27012d179 in QKeyMapper::sendKeyEvent (keyWidget=0x1947d80, grab=<optimized out>, type=QEvent::KeyPress, code=67, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=54, nativeVirtualKey=99, nativeModifiers=4) at kernel/qkeymapper_x11.cpp:1866
#22 0x00007fe27012d5eb in QKeyMapperPrivate::translateKeyEvent (this=0x13b1990, keyWidget=0x1947d80, event=0x7fffc773edb0, grab=false) at kernel/qkeymapper_x11.cpp:1836
#23 0x00007fe270108164 in QApplication::x11ProcessEvent (this=0x7fffc773f240, event=0x7fffc773edb0) at kernel/qapplication_x11.cpp:3625
#24 0x00007fe270131602 in x11EventSourceDispatch (s=0x1374350, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#25 0x00007fe26dd99a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fe26dd9a258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fe26dd9a429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007fe26eb67bbf in QEventDispatcherGlib::processEvents (this=0x133bb30, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#29 0x00007fe27013128e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007fe26eb37402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007fe26eb37657 in QEventLoop::exec (this=0x7fffc773f180, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007fe26eb3c6e7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#33 0x00007fe270f330d5 in kdemain (argc=<optimized out>, argv=<optimized out>) at ../../../kate/app/katemain.cpp:377
#34 0x00007fe270bad30d in __libc_start_main (main=0x400630 <main(int, char**)>, argc=2, ubp_av=0x7fffc7740778, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffc7740768) at libc-start.c:226
#35 0x0000000000400661 in _start ()

Reported using DrKonqi
Comment 1 Baze Petrushev 2012-03-23 21:27:12 UTC
This is happening only if I try to copy some contents from the gridview with Ctrl+C and there is no cell actually focused. 
Also, if there is a cell focused but more cells are selected, pressing Ctrl+C will copy only the focused cell and not the selected area.
Comment 2 Dominik Haumann 2012-03-24 17:01:25 UTC
Marco, can you have a look?
Comment 3 Dominik Haumann 2012-03-24 17:15:37 UTC
Git commit 0fb7bd5bb7c93c20080778b9be67ef0f5fbc5161 by Dominik Haumann.
Committed on 24/03/2012 at 18:13.
Pushed by dhaumann into branch 'master'.

fix crash in sql plugin

FIXED-IN: 4.8.2

M  +3    -0    kate/plugins/katesql/cachedsqlquerymodel.cpp

http://commits.kde.org/kate/0fb7bd5bb7c93c20080778b9be67ef0f5fbc5161
Comment 4 Dominik Haumann 2012-03-24 17:16:35 UTC
Git commit 094d31c949f2b3935fb9c1b45c48f7eb7c891270 by Dominik Haumann.
Committed on 24/03/2012 at 18:13.
Pushed by dhaumann into branch 'KDE/4.8'.

fix crash in sql plugin

FIXED-IN: 4.8.2

M  +3    -0    kate/plugins/katesql/cachedsqlquerymodel.cpp

http://commits.kde.org/kate/094d31c949f2b3935fb9c1b45c48f7eb7c891270