Bug 314516 - Crash applying style
Summary: Crash applying style
Status: RESOLVED FIXED
Alias: None
Product: calligrawords
Classification: Applications
Component: general (show other bugs)
Version: 2.5.3
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Words Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-06 14:04 UTC by Joshua Eckroth
Modified: 2013-03-28 04:57 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Eckroth 2013-02-06 14:04:55 UTC
Application: calligrawords (2.5.3)
KDE Platform Version: 4.9.4
Qt Version: 4.8.3
Operating System: Linux 3.5.0-23-generic x86_64
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:

Created a new character style, clicked Apply. The crash might not manifest unless this is done twice, possibly with some tab-switching as well.

The crash can be reproduced every time.

-- Backtrace:
Application: Calligra Words (calligrawords), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9d0ff66780 (LWP 19196))]

Thread 3 (Thread 0x7f9cf7121700 (LWP 19199)):
#0  0x00007f9d0f85e303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9d09eedd84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d09eee1e2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9cfd8784a6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f9d09f11645 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9d0a3bce9a in start_thread (arg=0x7f9cf7121700) at pthread_create.c:308
#6  0x00007f9d0f869cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9cdd002700 (LWP 19201)):
#0  0x00007f9d0f85e303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9d09eedd84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d09eedea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d0df78c16 in QEventDispatcherGlib::processEvents (this=0x7f9cd80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f9d0df492bf in QEventLoop::processEvents (this=this@entry=0x7f9cdd001dd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f9d0df49548 in QEventLoop::exec (this=0x7f9cdd001dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f9d0de4ab10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f9d0df299af in QInotifyFileSystemWatcherEngine::run (this=0x25617e0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f9d0de4daec in QThreadPrivate::start (arg=0x25617e0) at thread/qthread_unix.cpp:338
#9  0x00007f9d0a3bce9a in start_thread (arg=0x7f9cdd002700) at pthread_create.c:308
#10 0x00007f9d0f869cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9d0ff66780 (LWP 19196)):
[KCrash Handler]
#6  QString (other=<error reading variable: Cannot access memory at address 0x10>, this=0x7fffb3feb4a0) at /usr/include/qt4/QtCore/qstring.h:725
#7  KoCharacterStyle::name (this=0x0) at /build/buildd/calligra-2.5.3/libs/kotext/styles/KoCharacterStyle.cpp:890
#8  0x00007f9ce1bcdb9d in StyleManager::checkUniqueStyleName (this=0x256f040) at /build/buildd/calligra-2.5.3/plugins/textshape/dialogs/StyleManager.cpp:426
#9  0x00007f9ce1bce077 in StyleManager::tabChanged (this=0x256f040, index=0) at /build/buildd/calligra-2.5.3/plugins/textshape/dialogs/StyleManager.cpp:366
#10 0x00007f9ce1bcf2fb in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /build/buildd/calligra-2.5.3/obj-x86_64-linux-gnu/plugins/textshape/StyleManager.moc:86
#11 StyleManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /build/buildd/calligra-2.5.3/obj-x86_64-linux-gnu/plugins/textshape/StyleManager.moc:67
#12 0x00007f9d0df5ff5f in QMetaObject::activate (sender=0x2a35bf0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffb3feb780) at kernel/qobject.cpp:3547
#13 0x00007f9d0ed92c4e in QTabWidget::currentChanged (this=this@entry=0x2a35bf0, _t1=_t1@entry=0) at .moc/release-shared/moc_qtabwidget.cpp:214
#14 0x00007f9d0ed92d59 in QTabWidgetPrivate::_q_showTab (this=0x273c2e0, index=0) at widgets/qtabwidget.cpp:745
#15 0x00007f9d0df5ff5f in QMetaObject::activate (sender=0x28019c0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffb3feb900) at kernel/qobject.cpp:3547
#16 0x00007f9d0ed8817e in QTabBar::currentChanged (this=<optimized out>, _t1=0) at .moc/release-shared/moc_qtabbar.cpp:215
#17 0x00007f9d0ed8ba9e in QTabBar::setCurrentIndex (this=<optimized out>, index=<optimized out>) at widgets/qtabbar.cpp:1233
#18 0x00007f9d0ed8d95d in QTabBar::mousePressEvent (this=0x28019c0, event=0x7fffb3fec240) at widgets/qtabbar.cpp:1762
#19 0x00007f9d0e97ccf3 in QWidget::event (this=0x28019c0, event=0x7fffb3fec240) at kernel/qwidget.cpp:8367
#20 0x00007f9d0ed8d9f6 in QTabBar::event (this=0x28019c0, event=0x7fffb3fec240) at widgets/qtabbar.cpp:1514
#21 0x00007f9d0e92ce9c in QApplicationPrivate::notify_helper (this=this@entry=0x1d3d620, receiver=receiver@entry=0x28019c0, e=e@entry=0x7fffb3fec240) at kernel/qapplication.cpp:4562
#22 0x00007f9d0e931b6b in QApplication::notify (this=<optimized out>, receiver=0x28019c0, e=0x7fffb3fec240) at kernel/qapplication.cpp:4105
#23 0x00007f9d0afad1d6 in KApplication::notify (this=0x7fffb3fece20, receiver=0x28019c0, event=0x7fffb3fec240) at ../../kdeui/kernel/kapplication.cpp:311
#24 0x00007f9d0df4a56e in QCoreApplication::notifyInternal (this=0x7fffb3fece20, receiver=0x28019c0, event=0x7fffb3fec240) at kernel/qcoreapplication.cpp:915
#25 0x00007f9d0e92dcd3 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#26 QApplicationPrivate::sendMouseEvent (receiver=0x28019c0, event=0x7fffb3fec240, alienWidget=0x28019c0, nativeWidget=0x4340860, buttonDown=0x7f9d0f409308 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#27 0x00007f9d0e9ab554 in QETWidget::translateMouseEvent (this=this@entry=0x4340860, event=event@entry=0x7fffb3fec9c0) at kernel/qapplication_x11.cpp:4622
#28 0x00007f9d0e9aa44f in QApplication::x11ProcessEvent (this=0x7fffb3fece20, event=0x7fffb3fec9c0) at kernel/qapplication_x11.cpp:3737
#29 0x00007f9d0e9d1fa2 in x11EventSourceDispatch (s=0x1d43470, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#30 0x00007f9d09eedab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f9d09eedde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f9d09eedea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f9d0df78bf6 in QEventDispatcherGlib::processEvents (this=0x1cc1b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#34 0x00007f9d0e9d1c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007f9d0df492bf in QEventLoop::processEvents (this=this@entry=0x7fffb3fecd90, flags=...) at kernel/qeventloop.cpp:149
#36 0x00007f9d0df49548 in QEventLoop::exec (this=0x7fffb3fecd90, flags=...) at kernel/qeventloop.cpp:204
#37 0x00007f9d0df4e708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#38 0x00007f9d0fb62bc5 in kdemain (argc=<optimized out>, argv=0x7fffb3fecf38) at /build/buildd/calligra-2.5.3/words/part/main.cpp:43
#39 0x00007f9d0f79776d in __libc_start_main (main=0x4006a0 <main(int, char**)>, argc=1, ubp_av=0x7fffb3fecf38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb3fecf28) at libc-start.c:226
#40 0x00000000004006d1 in _start ()

Reported using DrKonqi
Comment 1 T Zachmann 2013-03-26 17:40:33 UTC
Git commit 4a46fc511efd200c11395ed22801f9ef185b5347 by Thorsten Zachmann.
Committed on 26/03/2013 at 18:02.
Pushed by zachmann into branch 'master'.

Rework stylesmanager

This fixes various crash conditions which where present in the styles manager.
It used a different model for the style manager that handles the temporary styles
during they are modified and not yet saved.

REVIEW: 109651

M  +1    -0    libs/kotext/styles/KoCharacterStyle.h
M  +9    -5    libs/textlayout/KoStyleThumbnailer.cpp
M  +2    -0    plugins/textshape/CMakeLists.txt
M  +5    -0    plugins/textshape/dialogs/CharacterGeneral.cpp
M  +2    -0    plugins/textshape/dialogs/CharacterGeneral.h
M  +5    -0    plugins/textshape/dialogs/ParagraphGeneral.cpp
M  +2    -0    plugins/textshape/dialogs/ParagraphGeneral.h
M  +243  -238  plugins/textshape/dialogs/StyleManager.cpp
M  +17   -15   plugins/textshape/dialogs/StyleManager.h
A  +143  -0    plugins/textshape/dialogs/StylesManagerModel.cpp     [License: LGPL (v2+)]
A  +55   -0    plugins/textshape/dialogs/StylesManagerModel.h     [License: LGPL (v2+)]
A  +37   -0    plugins/textshape/dialogs/StylesSortFilterProxyModel.cpp     [License: LGPL (v2+)]
A  +34   -0    plugins/textshape/dialogs/StylesSortFilterProxyModel.h     [License: LGPL (v2+)]

http://commits.kde.org/calligra/4a46fc511efd200c11395ed22801f9ef185b5347
Comment 2 T Zachmann 2013-03-28 04:57:54 UTC
Git commit d91e0681b7d43eb3c91a0e7fe5051e3a93fa2386 by Thorsten Zachmann.
Committed on 28/03/2013 at 05:32.
Pushed by zachmann into branch 'calligra/2.6'.

Rework stylesmanager

This fixes various crash conditions which where present in the styles manager.
It used a different model for the style manager that handles the temporary styles
during they are modified and not yet saved.

REVIEW: 109651
(cherry picked from commit 4a46fc511efd200c11395ed22801f9ef185b5347)

Conflicts:

	plugins/textshape/CMakeLists.txt
	plugins/textshape/dialogs/StyleManager.cpp
	plugins/textshape/dialogs/StyleManager.h

M  +1    -0    libs/kotext/styles/KoCharacterStyle.h
M  +9    -5    libs/textlayout/KoStyleThumbnailer.cpp
M  +2    -0    plugins/textshape/CMakeLists.txt
M  +5    -0    plugins/textshape/dialogs/CharacterGeneral.cpp
M  +2    -0    plugins/textshape/dialogs/CharacterGeneral.h
M  +5    -0    plugins/textshape/dialogs/ParagraphGeneral.cpp
M  +2    -0    plugins/textshape/dialogs/ParagraphGeneral.h
M  +242  -261  plugins/textshape/dialogs/StyleManager.cpp
M  +18   -18   plugins/textshape/dialogs/StyleManager.h
A  +143  -0    plugins/textshape/dialogs/StylesManagerModel.cpp     [License: LGPL (v2+)]
A  +55   -0    plugins/textshape/dialogs/StylesManagerModel.h     [License: LGPL (v2+)]
A  +37   -0    plugins/textshape/dialogs/StylesSortFilterProxyModel.cpp     [License: LGPL (v2+)]
A  +34   -0    plugins/textshape/dialogs/StylesSortFilterProxyModel.h     [License: LGPL (v2+)]

http://commits.kde.org/calligra/d91e0681b7d43eb3c91a0e7fe5051e3a93fa2386