Bug 257742

Summary: [projectwizard] A second click on "New project wizard" crashes Lokalize
Product: [Applications] lokalize Reporter: Stefan Böhmann <kde>
Component: generalAssignee: Nick Shaforostoff <shafff>
Status: RESOLVED FIXED    
Severity: crash CC: adrian, chaofeng111, lpapp, opensuse.lietuviu.kalba
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: segmentation fault while creating project

Description Stefan Böhmann 2010-11-23 23:27:56 UTC
Application: lokalize (1.1)
KDE Platform Version: 4.5.80 (4.6 Beta1) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.36-gentoo-r3 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
When I click on "Project" / "New project wizard" the first time nothing happens (not even a dialog pops up - really nothing).

But on a second click this crash occurs. Even when I use some other menu entries between the first and second click (I tried the About Dialog and the Settings Dialog).

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7fa33dcb7710 (LWP 30729)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa34ea58a23 in wait (this=<value optimized out>, mutex=0x1941940, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1941940, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fa351b46954 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1925e50, th=0x292f270) at /kdebuild/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fa351b48fe3 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1926380, th=0x292f270) at /kdebuild/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fa351b47dcf in ThreadWeaver::ThreadRunHelper::run (this=0x7fa33dcb6e30, parent=0x1925e50, th=0x292f270) at /kdebuild/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#6  0x00007fa351b47e58 in ThreadWeaver::Thread::run (this=0x292f270) at /kdebuild/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#7  0x00007fa34ea5833e in QThreadPrivate::start (arg=0x292f270) at thread/qthread_unix.cpp:285
#8  0x00007fa34e7c9d5c in start_thread (arg=0x7fa33dcb7710) at pthread_create.c:301
#9  0x00007fa34dd885ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fa353382760 (LWP 30726)):
[KCrash Handler]
#6  0x00007fa33a799477 in func_i18n (sipArgs=<value optimized out>) at sipkdecorepart0.cpp:3632
#7  0x00007fa33f80ba8d in call_function (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:3750
#8  PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:2412
#9  0x00007fa33f80d24c in PyEval_EvalCodeEx (co=0x7fa33c9f87b0, globals=<value optimized out>, locals=<value optimized out>, args=<value optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3000
#10 0x00007fa33f80d332 in PyEval_EvalCode (co=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>) at Python/ceval.c:541
#11 0x00007fa33fd3002f in Kross::PythonScript::execute (this=0x2fbd140) at /kdebuild/src/KDE/kdebindings/python/krosspython/pythonscript.cpp:337
#12 0x00007fa352d52c7d in Kross::Action::slotTriggered (this=0x2925160) at /kdebuild/src/KDE/kdelibs/kross/core/action.cpp:528
#13 0x00007fa352d54bd0 in Kross::Action::qt_metacall (this=0x2925160, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0x7fffb10856b0) at /kdebuild/build/KDE/kdelibs/kross/core/action.moc:186
#14 0x00007fa34eb51e87 in QMetaObject::activate (sender=0x2925160, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffb10856b0) at kernel/qobject.cpp:3272
#15 0x00007fa34f030ff2 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#16 0x00007fa34f0311ea in QAction::activate (this=0x2925160, event=<value optimized out>) at kernel/qaction.cpp:1257
#17 0x00007fa34f0326e2 in trigger (this=0x2925160, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7fffb1085980) at kernel/qaction.h:218
#18 QAction::qt_metacall (this=0x2925160, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7fffb1085980) at .moc/release-shared/moc_qaction.cpp:174
#19 0x00007fa352d54abd in Kross::Action::qt_metacall (this=0x2925160, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffb1085980) at /kdebuild/build/KDE/kdelibs/kross/core/action.moc:129
#20 0x00007fa34eb51e87 in QMetaObject::activate (sender=0x28da810, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffb1085980) at kernel/qobject.cpp:3272
#21 0x00007fa34f030ff2 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#22 0x00007fa34f0311ea in QAction::activate (this=0x28da810, event=<value optimized out>) at kernel/qaction.cpp:1257
#23 0x00007fa34f4446a3 in QMenuPrivate::activateCausedStack (this=0x2873bb0, causedStack=..., action=0x28da810, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#24 0x00007fa34f44a552 in QMenuPrivate::activateAction (this=0x2873bb0, action=0x28da810, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1085
#25 0x00007fa3520683ed in KMenu::mouseReleaseEvent (this=0x286b0b0, e=<value optimized out>) at /kdebuild/src/KDE/kdelibs/kdeui/widgets/kmenu.cpp:458
#26 0x00007fa34f087d17 in QWidget::event (this=0x286b0b0, event=0x7fffb1086780) at kernel/qwidget.cpp:8200
#27 0x00007fa34f44b71b in QMenu::event (this=0x286b0b0, e=0x7fffb1086780) at widgets/qmenu.cpp:2410
#28 0x00007fa34f037504 in QApplicationPrivate::notify_helper (this=0x183e730, receiver=0x286b0b0, e=0x7fffb1086780) at kernel/qapplication.cpp:4445
#29 0x00007fa34f03c7c2 in QApplication::notify (this=<value optimized out>, receiver=0x286b0b0, e=0x7fffb1086780) at kernel/qapplication.cpp:4006
#30 0x00007fa351f9efa6 in KApplication::notify (this=0x7fffb10872e0, receiver=0x286b0b0, event=0x7fffb1086780) at /kdebuild/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#31 0x00007fa34eb3dad3 in QCoreApplication::notifyInternal (this=0x7fffb10872e0, receiver=0x286b0b0, event=0x7fffb1086780) at kernel/qcoreapplication.cpp:732
#32 0x00007fa34f0384c6 in sendEvent (receiver=0x286b0b0, event=0x7fffb1086780, alienWidget=0x0, nativeWidget=0x286b0b0, buttonDown=0x7fa34fadb0f8, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#33 QApplicationPrivate::sendMouseEvent (receiver=0x286b0b0, event=0x7fffb1086780, alienWidget=0x0, nativeWidget=0x286b0b0, buttonDown=0x7fa34fadb0f8, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3105
#34 0x00007fa34f0b53e3 in QETWidget::translateMouseEvent (this=0x286b0b0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4372
#35 0x00007fa34f0b3859 in QApplication::x11ProcessEvent (this=0x7fffb10872e0, event=0x7fffb1086f30) at kernel/qapplication_x11.cpp:3564
#36 0x00007fa34f0da53a in x11EventSourceDispatch (s=0x1842660, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#37 0x00007fa349e55bd2 in g_main_dispatch (context=0x18411f0) at gmain.c:2149
#38 g_main_context_dispatch (context=0x18411f0) at gmain.c:2702
#39 0x00007fa349e56380 in g_main_context_iterate (context=0x18411f0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#40 0x00007fa349e5661d in g_main_context_iteration (context=0x18411f0, may_block=1) at gmain.c:2843
#41 0x00007fa34eb680cf in QEventDispatcherGlib::processEvents (this=0x1824ec0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#42 0x00007fa34f0da1ee in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#43 0x00007fa34eb3cee2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#44 0x00007fa34eb3d124 in QEventLoop::exec (this=0x7fffb1087230, flags=...) at kernel/qeventloop.cpp:201
#45 0x00007fa34eb414c3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#46 0x0000000000438801 in main (argc=5, argv=0x7fffb1087a18) at /kdebuild/src/KDE/kdesdk/lokalize/src/main.cpp:118

Reported using DrKonqi
Comment 1 opensuse.lietuviu.kalba 2011-01-16 13:10:12 UTC
I have openSUSE 11.4 Milestone 5 installed from KDE liveCD and updated to KDE4.6rc2

If I start Lokalize from menu, go to Project > New project wizard, it _always_ do nothing.
If I start from konsole (terminal), I can successfully create project.
Comment 2 Chao Feng 2013-05-06 13:00:10 UTC
From backtrace it seem to related to python binding. Do you still have this bug in latest gentoo package?
Comment 3 opensuse.lietuviu.kalba 2013-05-06 19:32:17 UTC
I use openSUSE 12.3 64 bit, Lokalize 1.5 with KDE 4.10.2 "release 1".

If I start Lokalize from menu, go to Project > New project wizard, it _always_ do nothing.
If I start from konsole (terminal), It starts creating of project, but at last step it crash.
So I can confirm at least in openSUSE.
Comment 4 opensuse.lietuviu.kalba 2013-05-06 19:35:21 UTC
Created attachment 79739 [details]
segmentation fault while creating project

P.S. There is two python versions installed: python-2.7.3 and python3-3.3.0.
Comment 5 Adrián Chaves (Gallaecio) 2013-08-26 05:19:44 UTC
I have both Python 2.x and Python 3.x installed and still cannot reproduce the issue.

• Does /usr/bin/python point to the Python 2.x executable, or is it the Python 3.x executable?
• What happens if before performing those steps to reproduce that you mention, you remove (previously backing them up somewhere else, you don’t really want to remove them for good) the following file and folder?
    • ~/.kde4/share/config/lokalizerc
    • ~/.kde4/share/apps/lokalize/
Comment 6 opensuse.lietuviu.kalba 2013-08-27 05:31:22 UTC
Now I use openSUSE 12.3 64 bit, Lokalize 1.5 with KDE 4.10.5 

/usr/bin/python >  /usr/bin/python2.7

If I start Lokalize from applications menu:
going to  Project > New project wizard, 
for first time – it do nothing.
for second click – also do nothing.

Now If I start Lokalize from konsole, it opens dialog for new project as expected (both, first and second and any later click).
Comment 7 Adrián Chaves (Gallaecio) 2014-02-16 20:36:05 UTC
Can you find out how is Lokalize actually called from the menu? Maybe it is being passed some parameter or something else. The .desktop file that contains the menu definition is usually at “/usr/share/applications/kde4/lokalize.desktop”. Mine calls Lokalize with “lokalize %i -caption %c”.

Maybe you can call Lokalize from the command line using the same command as the .desktop file and provide the command-line output when the issue happens.
Comment 8 Nick Shaforostoff 2015-01-19 00:53:00 UTC
Git commit 54e1a864dab2a6fbfc3631b9b7f043801e546e93 by Nick Shaforostoff.
Committed on 19/01/2015 at 02:47.
Pushed by shaforo into branch 'master'.

get rid of python-based newprojectwizard
i have added 'translate opendocument' button instead.
todo: implement xliff2odf call from c++ code
todo: odf2xliff on osx and windows
Related: bug 329723, bug 305368, bug 272977, bug 269201

M  +3    -11   scripts/CMakeLists.txt
D  +0    -556  scripts/newprojectwizard.py
D  +0    -10   scripts/newprojectwizard.rc
D  +0    -31   scripts/newprojectwizard_win.py
D  +0    -10   scripts/newprojectwizard_win.rc
M  +1    -0    src/CMakeLists.txt
M  +8    -8    src/catalog/catalog.cpp
M  +8    -8    src/catalog/xliff/xliffstorage.cpp
M  +8    -7    src/common/languagelistmodel.cpp
M  +7    -1    src/common/languagelistmodel.h
M  +1    -1    src/editortab.cpp
M  +8    -4    src/lokalizemainwindow.cpp
M  +2    -1    src/lokalizemainwindowui.rc
M  +1    -0    src/prefs/prefs.cpp
M  +2    -2    src/prefs/prefs.h
M  +52   -2    src/project/project.cpp
M  +4    -1    src/project/project.h
M  +18   -3    src/project/projectmodel.cpp
M  +8    -4    src/project/projecttab.cpp
M  +0    -4    src/project/projectwidget.cpp
A  +188  -0    src/project/xliffextractor.cpp     [License: LGPL (v2.1+)]
A  +37   -0    src/project/xliffextractor.h     [License: LGPL (v2.1+)]
M  +2    -2    src/tm/jobs.cpp

http://commits.kde.org/lokalize/54e1a864dab2a6fbfc3631b9b7f043801e546e93