Bug 404635 - Lokalize crashes on project overview during file update
Summary: Lokalize crashes on project overview during file update
Status: RESOLVED WORKSFORME
Alias: None
Product: lokalize
Classification: Applications
Component: general (other bugs)
Version First Reported In: 18.12.2
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Simon Depiets
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-02-21 07:57 UTC by Alex Minton
Modified: 2022-10-21 05:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Minton 2019-02-21 07:57:45 UTC
Application: lokalize (18.12.2)

Qt Version: 5.12.0
Frameworks Version: 5.55.0
Operating System: Linux 4.20.7-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
I was downloading new translations from server. There are approx.150 files in my project, so I update them in batch via helper script - and I noticed that if Lokalize window is open while my script update files one by one, Lokalize crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Lokalize (lokalize), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7159f4c980 (LWP 7419))]

Thread 8 (Thread 0x7f70afbe7700 (LWP 7432)):
[KCrash Handler]
#6  0x00000000004d4d79 in std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x80000000) at /usr/include/c++/8/bits/atomic_base.h:390
#7  QAtomicOps<int>::load<int> (_q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:227
#8  QBasicAtomicInteger<int>::load (this=0x80000000) at /usr/include/qt5/QtCore/qbasicatomic.h:103
#9  QtPrivate::RefCount::isShared (this=0x80000000) at /usr/include/qt5/QtCore/qrefcount.h:101
#10 QList<FileMetaData>::append (t=..., this=0x3ffef08) at /usr/include/qt5/QtCore/qlist.h:584
#11 UpdateStatsJob::run (this=0x3ffeee0) at /usr/src/debug/lokalize-18.12.2-1.1.x86_64/src/project/projectmodel.cpp:1420
#12 0x00007f715c2505b1 in QThreadPoolThread::run (this=0x3ee33d0) at thread/qthreadpool.cpp:99
#13 0x00007f715c24c6e2 in QThreadPrivate::start (arg=0x3ee33d0) at thread/qthread_unix.cpp:361
#14 0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#15 0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f714d934700 (LWP 7431)):
#0  0x00007f715b237fdc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f715b77209a in ?? () from /usr/lib64/libQt5Script.so.5
#2  0x00007f715b7720bb in ?? () from /usr/lib64/libQt5Script.so.5
#3  0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#4  0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f714ead5700 (LWP 7426)):
#0  0x00007f715b237fdc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f715c252613 in QWaitConditionPrivate::wait (deadline=..., this=0x2be6760) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x15b8ab0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f715c2526f9 in QWaitCondition::wait (this=this@entry=0x2b6f9a0, mutex=mutex@entry=0x15b8ab0, time=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#4  0x00007f715c2507c2 in QThreadPoolThread::run (this=0x2b6f990) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:240
#5  0x00007f715c24c6e2 in QThreadPrivate::start (arg=0x2b6f990) at thread/qthread_unix.cpp:361
#6  0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#7  0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f714f2d6700 (LWP 7424)):
#0  0x00007f715b237fdc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f715c252613 in QWaitConditionPrivate::wait (deadline=..., this=0x2b40690) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2682aa8, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f715c2526f9 in QWaitCondition::wait (this=0x2682ab0, mutex=0x2682aa8, time=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#4  0x00007f715d18bc05 in ?? () from /usr/lib64/libQt5Widgets.so.5
#5  0x00007f715c24c6e2 in QThreadPrivate::start (arg=0x2682a98) at thread/qthread_unix.cpp:361
#6  0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#7  0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f714ffff700 (LWP 7423)):
#0  0x00007f715b237fdc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f7154899053 in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f7154898da7 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#4  0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f715698f700 (LWP 7422)):
#0  0x00007f715bdd7684 in read () from /lib64/libc.so.6
#1  0x00007f715a978b10 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f715a932b0f in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f715a932fe0 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f715a93315c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f715c456c5b in QEventDispatcherGlib::processEvents (this=0x7f7148000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007f715c4014fb in QEventLoop::exec (this=this@entry=0x7f715698ebf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#7  0x00007f715c24b396 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#8  0x00007f715c7ba565 in ?? () from /usr/lib64/libQt5DBus.so.5
#9  0x00007f715c24c6e2 in QThreadPrivate::start (arg=0x7f715c834d80) at thread/qthread_unix.cpp:361
#10 0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#11 0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f7157f39700 (LWP 7421)):
#0  0x00007f715bddbaa9 in poll () from /lib64/libc.so.6
#1  0x00007f715a4eccc7 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f715a4ee8ea in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f715814280a in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f715c24c6e2 in QThreadPrivate::start (arg=0x15db2c0) at thread/qthread_unix.cpp:361
#5  0x00007f715b231fab in start_thread () from /lib64/libpthread.so.0
#6  0x00007f715bde666f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f7159f4c980 (LWP 7419)):
#0  0x00007f715bddbaa9 in poll () from /lib64/libc.so.6
#1  0x00007f715a933036 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f715a93315c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f715c456c43 in QEventDispatcherGlib::processEvents (this=0x1690260, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f715c4014fb in QEventLoop::exec (this=this@entry=0x7ffc644c6170, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007f715c409652 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x000000000045583f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/lokalize-18.12.2-1.1.x86_64/src/main.cpp:136
[Inferior 1 (process 7419) detached]

Possible duplicates by query: bug 384419.

Reported using DrKonqi
Comment 1 Simon Depiets 2019-03-05 14:54:57 UTC
May I ask how do you update the files in order to reproduce the bug ?

I often do "svn up" while having my lokalize opened and it doesn't crash even with hundred of files updated.
Comment 2 Alex Minton 2019-03-17 18:59:04 UTC
Sorry, I misinfored you a little bit: project overview has nothing to do with the crash, it happens when the file being updated is already opened in the editor.

The update is done by Python script, which downloads the translations from server using web API. So, the write operation which triggers the crash is file write operation from Python's standard library:

with open(target_name, 'w') as output_file:
                output_file.write(wl_response.text)
Comment 3 Justin Zobel 2022-09-21 03:14:01 UTC
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version?

If you can reproduce the issue, please change the status when you reply to "CONFIRMED" when replying. Thank you!
Comment 4 Bug Janitor Service 2022-10-06 04:50:49 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Bug Janitor Service 2022-10-21 05:01:55 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!