Bug 244219

Summary: [4.4.92] Lokalize: Cannot merge plural messages to /branches
Product: [Applications] lokalize Reporter: Johannes Obermayr <johannesobermayr>
Component: generalAssignee: Nick Shaforostoff <shafff>
Status: RESOLVED FIXED    
Severity: crash CC: dglent, lpapp
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Johannes Obermayr 2010-07-11 14:27:42 UTC
Application: lokalize (1.1)
KDE Platform Version: 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2)) "release 2"
Qt Version: 4.6.3
Operating System: Linux 2.6.34-12-default i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
1. Configure KDE /trunk and /branches (as branch folder)
2. Open a file with plural messages
3. "Copy to merging source" the "Plural Form 1" message
4. Choose tab "Plural Form 2"
5. "Copy to merging source" the "Plural Form 2" message
6. Lokalize crashes

I can reproduce it on 2 systems (i586 and x86_64).

The crash can be reproduced every time.

-- Backtrace:
Application: Lokalize (lokalize), signal: Segmentation fault
[Current thread is 1 (Thread 0xb4ec2710 (LWP 6909))]

Thread 3 (Thread 0xb254ab70 (LWP 6912)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb5637125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
#2  0xb5e0624c in __pthread_cond_wait (cond=0x8259850, mutex=0x8259838) at forward.c:139
#3  0xb602d710 in wait (this=0x8259778, mutex=0x8259500, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8259778, mutex=0x8259500, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb70c6c9a in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8259760, th=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb70c961b in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8259458, th=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb70c685a in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8259760, th=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb70c9714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8259458, th=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb70c6773 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8259760, th=0x8418200, previous=0x8f99e20) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb70c8284 in ThreadWeaver::ThreadRunHelper::run (this=0xb254a314, parent=0x8259760, th=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/Thread.cpp:87
#11 0xb70c833a in ThreadWeaver::Thread::run (this=0x8418200) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/Thread.cpp:142
#12 0xb602d04f in QThreadPrivate::start (arg=0x8418200) at thread/qthread_unix.cpp:248
#13 0xb5632b25 in start_thread (arg=0xb254ab70) at pthread_create.c:297
#14 0xb5df846e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb1c98b70 (LWP 6914)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb5637125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
#2  0xb5e0624c in __pthread_cond_wait (cond=0x825c9e0, mutex=0x825c9c8) at forward.c:139
#3  0xb602d710 in wait (this=0x825c8b8, mutex=0x82518e8, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x825c8b8, mutex=0x82518e8, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb70c6c9a in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x825c8a0, th=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb70c961b in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8251898, th=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb70c685a in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x825c8a0, th=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb70c9714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8251898, th=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb70c6773 in ThreadWeaver::WeaverImpl::applyForWork (this=0x825c8a0, th=0x8195530, previous=0x8dd0600) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb70c8284 in ThreadWeaver::ThreadRunHelper::run (this=0xb1c98314, parent=0x825c8a0, th=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/Thread.cpp:87
#11 0xb70c833a in ThreadWeaver::Thread::run (this=0x8195530) at /usr/src/debug/kdelibs-4.4.92/threadweaver/Weaver/Thread.cpp:142
#12 0xb602d04f in QThreadPrivate::start (arg=0x8195530) at thread/qthread_unix.cpp:248
#13 0xb5632b25 in start_thread (arg=0xb1c98b70) at pthread_create.c:297
#14 0xb5df846e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb4ec2710 (LWP 6909)):
[KCrash Handler]
#7  deref (this=0x8f7b48c, other=@0xbfdc6c9c) at ../../src/corelib/arch/qatomic_i386.h:132
#8  QString::operator= (this=0x8f7b48c, other=@0xbfdc6c9c) at tools/qstring.cpp:1281
#9  0x080b8da8 in MergeCatalog::copyFromBaseCatalog (this=0x8f610d8, pos=..., options=1) at /usr/src/debug/kdesdk-4.4.92/lokalize/src/mergemode/mergecatalog.cpp:61
#10 0x080bb16f in copyFromBaseCatalog (this=0x8e37c20) at /usr/src/debug/kdesdk-4.4.92/lokalize/src/mergemode/mergecatalog.h:106
#11 MergeView::mergeBack (this=0x8e37c20) at /usr/src/debug/kdesdk-4.4.92/lokalize/src/mergemode/mergeview.cpp:317
#12 0x080bc38c in MergeView::qt_metacall (this=0x8e37c20, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfdc6e08)
    at /usr/src/debug/kdesdk-4.4.92/build/lokalize/src/mergeview.moc:108
#13 0xb612cefd in QMetaObject::metacall (object=0x8e37c20, cl=QMetaObject::InvokeMetaMethod, idx=47, argv=0xbfdc6e08) at kernel/qmetaobject.cpp:237
#14 0xb613bfe8 in QMetaObject::activate (sender=0x8eb3498, m=0xb6cacd28, local_signal_index=1, argv=0xbfdc6e08) at kernel/qobject.cpp:3295
#15 0xb6376a0d in QAction::triggered (this=0x8eb3498, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#16 0xb6376cab in QAction::activate (this=0x8eb3498, event=QAction::Trigger) at kernel/qaction.cpp:1255
#17 0xb6810fb5 in QMenuPrivate::activateCausedStack (this=0x9097340, causedStack=..., action=0x8eb3498, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1002
#18 0xb6817c87 in QMenuPrivate::activateAction (this=0x9097340, action=0x8eb3498, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1094
#19 0xb6819058 in QMenu::mouseReleaseEvent (this=0xbfdc7df8, e=0xbfdc75d4) at widgets/qmenu.cpp:2312
#20 0xb63d6f00 in QWidget::event (this=0xbfdc7df8, event=0xbfdc75d4) at kernel/qwidget.cpp:8044
#21 0xb68190dc in QMenu::event (this=0xbfdc7df8, e=0xbfdc75d4) at widgets/qmenu.cpp:2421
#22 0xb637dc64 in QApplicationPrivate::notify_helper (this=0x818f540, receiver=0xbfdc7df8, e=0xbfdc75d4) at kernel/qapplication.cpp:4302
#23 0xb6386750 in QApplication::notify (this=0xbfdc72ec, receiver=0xbfdc7df8, e=0xbfdc75d4) at kernel/qapplication.cpp:3867
#24 0xb729d011 in KApplication::notify (this=0xbfdc8c70, receiver=0xbfdc7df8, event=0xbfdc75d4) at /usr/src/debug/kdelibs-4.4.92/kdeui/kernel/kapplication.cpp:309
#25 0xb6126e0e in QCoreApplication::notifyInternal (this=0xbfdc8c70, receiver=0xbfdc7df8, event=0xbfdc75d4) at kernel/qcoreapplication.cpp:726
#26 0xb637ec4c in sendSpontaneousEvent (receiver=0xbfdc7df8, event=0xbfdc75d4, alienWidget=0x0, nativeWidget=0xbfdc7df8, buttonDown=0xb6cc8078, lastMouseReceiver=..., spontaneous=true)
    at ../../src/corelib/kernel/qcoreapplication.h:218
#27 QApplicationPrivate::sendMouseEvent (receiver=0xbfdc7df8, event=0xbfdc75d4, alienWidget=0x0, nativeWidget=0xbfdc7df8, buttonDown=0xb6cc8078, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:2965
#28 0xb6406766 in QETWidget::translateMouseEvent (this=0xbfdc7df8, event=0xbfdc7aec) at kernel/qapplication_x11.cpp:4314
#29 0xb640573e in QApplication::x11ProcessEvent (this=0xbfdc8c70, event=0xbfdc7aec) at kernel/qapplication_x11.cpp:3391
#30 0xb642e570 in x11EventSourceDispatch (s=0x81927f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0xb542db49 in g_main_dispatch (context=0x8191898) at gmain.c:1960
#32 IA__g_main_context_dispatch (context=0x8191898) at gmain.c:2513
#33 0xb542e350 in g_main_context_iterate (context=0x8191898, block=1, dispatch=1, self=0x818f6d8) at gmain.c:2591
#34 0xb542e60e in IA__g_main_context_iteration (context=0x8191898, may_block=1) at gmain.c:2654
#35 0xb6152d4b in QEventDispatcherGlib::processEvents (this=0x818f520, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#36 0xb642e19a in QGuiEventDispatcherGlib::processEvents (this=0x818f520, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#37 0xb612611d in QEventLoop::processEvents (this=0xbfdc7da0, flags=...) at kernel/qeventloop.cpp:149
#38 0xb6126319 in QEventLoop::exec (this=0xbfdc7da0, flags=...) at kernel/qeventloop.cpp:201
#39 0xb6814ed7 in QMenu::exec (this=0xbfdc7df8, p=..., action=0x0) at widgets/qmenu.cpp:2063
#40 0xb6814fd8 in QMenu::exec (actions=..., pos=..., at=0x0, parent=0x8e37c20) at widgets/qmenu.cpp:2099
#41 0xb63d7d2b in QWidget::event (this=0x8e37c20, event=0xbfdc81b4) at kernel/qwidget.cpp:8220
#42 0x080bbf5e in MergeView::event (this=0x8e37c20, event=0xbfdc81b4) at /usr/src/debug/kdesdk-4.4.92/lokalize/src/mergemode/mergeview.cpp:357
#43 0xb637dc64 in QApplicationPrivate::notify_helper (this=0x818f540, receiver=0x8e37c20, e=0xbfdc81b4) at kernel/qapplication.cpp:4302
#44 0xb6385fa8 in QApplication::notify (this=0x8e37c20, receiver=0x8e3c678, e=0xbfdc842c) at kernel/qapplication.cpp:3946
#45 0xb729d011 in KApplication::notify (this=0xbfdc8c70, receiver=0x8e3c678, event=0xbfdc842c) at /usr/src/debug/kdelibs-4.4.92/kdeui/kernel/kapplication.cpp:309
#46 0xb6126e0e in QCoreApplication::notifyInternal (this=0xbfdc8c70, receiver=0x8e3c678, event=0xbfdc842c) at kernel/qcoreapplication.cpp:726
#47 0xb6406609 in sendSpontaneousEvent (this=0x8ddc8f8, event=0xbfdc891c) at ../../src/corelib/kernel/qcoreapplication.h:218
#48 QETWidget::translateMouseEvent (this=0x8ddc8f8, event=0xbfdc891c) at kernel/qapplication_x11.cpp:4385
#49 0xb640573e in QApplication::x11ProcessEvent (this=0xbfdc8c70, event=0xbfdc891c) at kernel/qapplication_x11.cpp:3391
#50 0xb642e570 in x11EventSourceDispatch (s=0x81927f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#51 0xb542db49 in g_main_dispatch (context=0x8191898) at gmain.c:1960
#52 IA__g_main_context_dispatch (context=0x8191898) at gmain.c:2513
#53 0xb542e350 in g_main_context_iterate (context=0x8191898, block=1, dispatch=1, self=0x818f6d8) at gmain.c:2591
#54 0xb542e60e in IA__g_main_context_iteration (context=0x8191898, may_block=1) at gmain.c:2654
#55 0xb6152d4b in QEventDispatcherGlib::processEvents (this=0x818f520, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#56 0xb642e19a in QGuiEventDispatcherGlib::processEvents (this=0x818f520, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#57 0xb612611d in QEventLoop::processEvents (this=0xbfdc8bd4, flags=...) at kernel/qeventloop.cpp:149
#58 0xb6126319 in QEventLoop::exec (this=0xbfdc8bd4, flags=...) at kernel/qeventloop.cpp:201
#59 0xb612ac70 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#60 0xb637b164 in QApplication::exec () at kernel/qapplication.cpp:3581
#61 0x080752f9 in main (argc=1, argv=0x2) at /usr/src/debug/kdesdk-4.4.92/lokalize/src/main.cpp:118

Reported using DrKonqi
Comment 1 Nick Shaforostoff 2010-11-26 17:57:19 UTC
sorry for not responding for so long. can you provide me the two files from your branch?
Comment 2 Johannes Obermayr 2010-11-29 22:59:28 UTC
Seems to be fixed in KDE 4.5.80 / Qt 4.7.1
Comment 3 Dimitrios Glentadakis 2012-05-31 06:14:44 UTC
Created attachment 71457 [details]
New crash information added by DrKonqi

lokalize (1.4) on KDE Platform 4.8.2 (4.8.2) using Qt 4.8.1

When i want to synchronize the trunk with the branch in a plural string , lokalize crashes

-- Backtrace (Reduced):
#7  QString::operator= (this=0x5b0c7f8, other=...) at tools/qstring.cpp:1411
#8  0x000000000047d4ef in MergeCatalog::copyFromBaseCatalog (this=0x59dbd60, pos=..., options=<optimized out>) at /usr/src/debug/kdesdk-4.8.2/lokalize/src/mergemode/mergecatalog.cpp:62
#9  0x000000000047fb49 in copyFromBaseCatalog (pos=..., this=<optimized out>) at /usr/src/debug/kdesdk-4.8.2/lokalize/src/mergemode/mergecatalog.h:106
#10 MergeView::mergeBack (this=0x595f6f0) at /usr/src/debug/kdesdk-4.8.2/lokalize/src/mergemode/mergeview.cpp:324
#11 0x0000000000480925 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=0x595f6f0, _c=<optimized out>) at /usr/src/debug/kdesdk-4.8.2/build/lokalize/src/mergeview.moc:85