Bug 304688 - Juk crashes when editing ID3 tags in multiple threads
Summary: Juk crashes when editing ID3 tags in multiple threads
Status: RESOLVED WORKSFORME
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: 3.7.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-06 20:36 UTC by Thomas Damgaard
Modified: 2018-11-30 03:51 UTC (History)
3 users (show)

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


Attachments
New crash information added by DrKonqi (20.98 KB, text/plain)
2015-05-15 00:26 UTC, Shubham Chaudhary
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Damgaard 2012-08-06 20:36:55 UTC
Application: juk (3.7.1)
KDE Platform Version: 4.8.4 (4.8.4)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-27-generic x86_64
Distribution: Ubuntu 12.04 LTS

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

Open juk with:
1: juk /path/to/folder/with/lots/of/albums/from/different/artists
2: Click the column headers to show the Filename full apth column. 
3: Sort by full path
4: Select all the files of a particular artist
5: Right in the Artist field on one of the files in this set, click Edit Artist
6: Type in something, Enter
7: Confirm that you are editing multiple files, if asked. Click Do not show again.

8: Now, while it is still writing the ID3 tags of the selected set of files, select a new set of files. Right click Album (or something else) and edit it.

9: Repeat until Juk crashes.

Almost always it crashes on two threads, but sometimes it takes more than two threads.

The crash can be reproduced every time.

-- Backtrace:
Application: JuK (juk), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f03f3fb5780 (LWP 26336))]

Thread 3 (Thread 0x7f03d72bc700 (LWP 26339)):
#0  0x00007f03efcf6b03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f03ef05035f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007f03ef04176c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007f03ef041dd9 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f03ef041e90 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f03ef05030f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f03ea347d18 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
#7  0x00007f03ee67ae9a in start_thread (arg=0x7f03d72bc700) at pthread_create.c:308
#8  0x00007f03efd024bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f03d1563700 (LWP 26405)):
#0  0x00007f03efcf6b03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f03ec1da036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f03ec1da164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f03f18d2426 in QEventDispatcherGlib::processEvents (this=0x7f03c40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f03f18a1c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f03f18a1ed7 in QEventLoop::exec (this=0x7f03d1562dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f03f17a0fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f03f18819ff in QInotifyFileSystemWatcherEngine::run (this=0x2472770) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f03f17a3fcb in QThreadPrivate::start (arg=0x2472770) at thread/qthread_unix.cpp:298
#9  0x00007f03ee67ae9a in start_thread (arg=0x7f03d1563700) at pthread_create.c:308
#10 0x00007f03efd024bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f03f3fb5780 (LWP 26336)):
[KCrash Handler]
#6  FileHandle::FileHandle (this=0x7fff1e8f63f0, f=...) at ../../juk/filehandle.cpp:101
#7  0x000000000049ba31 in PlaylistItem::file (this=<optimized out>) at ../../juk/playlistitem.cpp:87
#8  0x00000000004becbc in TagTransactionManager::processChangeList (this=0x1a3e520, undo=false) at ../../juk/tagtransactionmanager.cpp:168
#9  0x00000000004bfa74 in TagTransactionManager::commit (this=0x1a3e520) at ../../juk/tagtransactionmanager.cpp:101
#10 0x000000000047ed95 in Playlist::slotInlineEditDone (this=0x1ca2b60, column=1) at ../../juk/playlist.cpp:2299
#11 0x00000000004892e6 in Playlist::qt_static_metacall (_o=0x1ca2b60, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./playlist.moc:144
#12 0x00007f03f18b7281 in QMetaObject::activate (sender=0x1ca2b60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff1e8f68f0) at kernel/qobject.cpp:3547
#13 0x00007f03f386c505 in K3ListView::itemRenamed (this=<optimized out>, _t1=0x2804700, _t2=..., _t3=1) at ./k3listview.moc:362
#14 0x00007f03f386c586 in K3ListView::doneEditing (this=0x1ca2b60, item=0x2804700, row=1) at ../../kde3support/kdeui/k3listview.cpp:1405
#15 0x00007f03f18b7281 in QMetaObject::activate (sender=0x1ca44e0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff1e8f6a80) at kernel/qobject.cpp:3547
#16 0x00007f03f386cbdd in K3ListViewLineEdit::done (this=<optimized out>, _t1=0x2804700, _t2=1) at ./k3listviewlineedit.moc:108
#17 0x00007f03f386ccba in K3ListViewLineEdit::terminate (this=0x1ca44e0, commit=<optimized out>) at ../../kde3support/kdeui/k3listview.cpp:383
#18 0x00007f03f09f91c8 in QWidget::event (this=0x1ca44e0, event=0x7fff1e8f73f0) at kernel/qwidget.cpp:8397
#19 0x00007f03f0dc72a7 in QLineEdit::event (this=0x1ca44e0, e=0x7fff1e8f73f0) at widgets/qlineedit.cpp:1524
#20 0x00007f03f26198bb in KLineEdit::event (this=0x1ca44e0, ev=0x7fff1e8f73f0) at ../../kdeui/widgets/klineedit.cpp:1403
#21 0x00007f03f386d1e6 in K3ListViewLineEdit::event (this=0x1ca44e0, pe=0x7fff1e8f73f0) at ../../kde3support/kdeui/k3listview.cpp:346
#22 0x00007f03f09a8894 in notify_helper (e=0x7fff1e8f73f0, receiver=0x1ca44e0, this=0x18a06e0) at kernel/qapplication.cpp:4559
#23 QApplicationPrivate::notify_helper (this=0x18a06e0, receiver=0x1ca44e0, e=0x7fff1e8f73f0) at kernel/qapplication.cpp:4531
#24 0x00007f03f09addd5 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff1e8f73f0) at kernel/qapplication.cpp:4000
#25 0x00007f03f25619e6 in KApplication::notify (this=0x7fff1e8f82f0, receiver=0x1ca44e0, event=0x7fff1e8f73f0) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x00007f03f18a2e9c in QCoreApplication::notifyInternal (this=0x7fff1e8f82f0, receiver=0x1ca44e0, event=0x7fff1e8f73f0) at kernel/qcoreapplication.cpp:876
#27 0x00007f03f0a4cc49 in QKeyMapper::sendKeyEvent (keyWidget=0x1ca44e0, grab=<optimized out>, type=QEvent::KeyPress, code=16777220, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=36, nativeVirtualKey=65293, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1866
#28 0x00007f03f0a4d0bb in QKeyMapperPrivate::translateKeyEvent (this=0x18dd510, keyWidget=0x1ca44e0, event=0x7fff1e8f7ee0, grab=false) at kernel/qkeymapper_x11.cpp:1836
#29 0x00007f03f0a27637 in QApplication::x11ProcessEvent (this=0x7fff1e8f82f0, event=0x7fff1e8f7ee0) at kernel/qapplication_x11.cpp:3625
#30 0x00007f03f0a510d2 in x11EventSourceDispatch (s=0x18a0040, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007f03ec1d9d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f03ec1da0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f03ec1da164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f03f18d23bf in QEventDispatcherGlib::processEvents (this=0x185dad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#35 0x00007f03f0a50d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f03f18a1c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007f03f18a1ed7 in QEventLoop::exec (this=0x7fff1e8f8280, flags=...) at kernel/qeventloop.cpp:204
#38 0x00007f03f18a6f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#39 0x000000000042c9e4 in main (argc=2, argv=0x7fff1e8f89e8) at ../../juk/main.cpp:99

Reported using DrKonqi
Comment 1 Shubham Chaudhary 2015-05-15 00:26:33 UTC
Created attachment 92603 [details]
New crash information added by DrKonqi

juk (3.12) on KDE Platform 4.14.7 using Qt 4.8.6

- What I was doing when the application crashed:

Editing multiple songs at a time.


- Unusual behavior I noticed:

My computer was doing cpu/io intensive work. Probably not related.

-- Backtrace (Reduced):
#6  0x0000000000461c7b in FileHandle::FileHandle(FileHandle const&) (this=0x7ffead7dde20, f=...) at /usr/src/debug/juk-14.12.3/filehandle.cpp:102
#7  0x00000000004b39a1 in PlaylistItem::file() const (this=this@entry=0x3ee6fd0) at /usr/src/debug/juk-14.12.3/playlistitem.cpp:88
#8  0x00000000004e0ab2 in TagTransactionManager::processChangeList(bool) (this=this@entry=0x2c7e8f0, undo=undo@entry=true) at /usr/src/debug/juk-14.12.3/tagtransactionmanager.cpp:169
#9  0x00000000004e16d9 in TagTransactionManager::undo() (this=0x2c7e8f0) at /usr/src/debug/juk-14.12.3/tagtransactionmanager.cpp:120
[...]
#11 0x00000030849c1792 in QAction::triggered(bool) (this=this@entry=0x2c75fa0, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
Comment 2 Andrew Crouthamel 2018-10-31 04:04:48 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2018-11-15 10:38:21 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 4 Bug Janitor Service 2018-11-30 03:51:16 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!