Bug 338943 - JuK crashes at startup with signal "Segmentation Fault"
Summary: JuK crashes at startup with signal "Segmentation Fault"
Status: RESOLVED WORKSFORME
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-09 12:08 UTC by Jacek
Modified: 2018-11-30 04:01 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jacek 2014-09-09 12:08:23 UTC
Dear sir,

I'm writing in order to describe a bug (or at least something, what looks like a bug) which I encountered recently while using JuK.
I'm using Debian GNU/Linux 7.6 Wheezy amd64. The JuK version (as far, as I properly checked it) is 4:4.8.4-2.
The first observed malfunction was that at some moment JuK started to play two songs at the same time - meaning: one in the background of the other - the one which was played at the moment, and shown as the one which was supposed to be played (let's name it "the first song"), and the next one in the list, which shouldn't be played at this moment ("second song"). During this, I was capable of changing the currently played "moment" of the first song, by draging and changing the position of the slider above the list of songs. I wasn't able to do anything about the second song. 
After about a minute of unwise draging the slider or stoping and starting the song, JuK crashed and the KDE Crash Handler appeared, showing in the "Details" line:
"Executable: juk PID: 9334 Signal: Segmentation fault (11)"
Later on I wasn't able to launch JuK, since every time I tried, the KDE Crash Handler was apearing, showing the same "Details" line (PID was Different, of course). It happened also after rebooting the system, and after installing all available updates.
The KDE Crash Handler generated a backtrace, but it "said" that the backtrace isn't useful. Anyway, I thought it may have some value, so, here it is:
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 0x7f82ae003760 (LWP 9427))]

Thread 2 (Thread 0x7f829717a700 (LWP 9432)):
#0  0x00007f82a87ce2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f82985dcebf in ?? () from /usr/lib/libvlccore.so.5
#2  0x00007f82a87c9b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x00007f82a9e3be6d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f82ae003760 (LWP 9427)):
[KCrash Handler]
#5  0x0000000000000000 in ?? ()
#6  0x00000000004393ed in _start ()
As I tried to run JuK using command-line, I got the same effect. In the command-line remained:
ser@ser:~$ juk
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
[0x28d8ed8] main services discovery error: no suitable services discovery module
juk(9397): Exception loading playlists - binary incompatible stream. 
juk(9396): Communication problem with  "juk" , it probably crashed. 
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message did not receive a reply (timeout by message bus)" " 

ser@ser:~$ KCrash: Application 'juk' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/ser/.kde/socket-ser/kdeinit4__0

The originall malfunction and crash happend when I also had Code:Blocks, Iceweasel and Dolphin running (that was for sure, I might also have Texmaker, terminal or Icedove, but I'm not sure about them). The following crashes happened in various conditions: 
with the same (or simliar) programs running, 
after boot (no extra applications running, except for the default applications which run at system boot).
I had no idea for other test so far. 

Reproducible: Always

Steps to Reproduce:
1. Run JuK
2. Observe.
3.

Actual Results:  
KDE Crash Handler Appeared.

Expected Results:  
It should run.

All I know so far is described in "Details" part - I thought there is no point in spliting the information.
Comment 1 Christoph Feck 2014-09-10 12:55:34 UTC
The 4.8.4 release is no longer maintained by KDE developers. If you can reproduce this bug with a more recent version (4.11.5 or later), please add a comment. To further investigate, developers also need the backtrace of the crash. For more information, please see https://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 2 Jacek 2014-09-12 18:00:17 UTC
 Dear Christoph, 

Unfortunatelly I need to bother you once more. I'm posting a comment, since the problem still apears in 4.14.0-1 JuK version, which I just installed. 
Actually, I installed earlier a copy of Debian GNU\Linux 7.6, and updated it to the "testing" version, that's why I obtained the newer version of JuK. This time it never started. The first launch (or rather a try) ended with the same error as before(Segmentation fault). The only difference was that a message appeared in the Notification within the same time (it's hard to say, if it was before or after) as the KDE Crash Handler. It said: 

JuK Docked
JuK running in docked mode Use context menu in 
system tray to restore

but it never appeared in tray. 
It might be important, that during the installation of Debian I left the \home partition unchanged (meaning: I didn't format it). 
As I followed the Debian instructions about getting a backtrace I checked, there is no debugging package for JuK, so I rebuilt it. After that when running it under control of gdb, I got the following outupt:

GNU gdb (Debian 7.7.1+dfsg-3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from juk...done.
(gdb) run
Starting program: /home/ser/juk-4.14.0/debian/juk/usr/bin/juk 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
juk(4351): KUniqueApplication: Cannot find the D-Bus session server:  "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." 

juk(4347): KUniqueApplication: Pipe closed unexpectedly. 

[Inferior 1 (process 4347) exited with code 0377]
(gdb) 


That's all I've got so far.
Jacek
Comment 3 Arjun AK 2014-09-13 06:16:58 UTC
After the program crashes you need to run "thread apply all backtrace". Also instead of 'run' try  'run --nofork'. For more information please refer to https://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 4 Jacek 2014-09-13 11:53:31 UTC
After running gdb as You said, I got following output:

GNU gdb (Debian 7.7.1+dfsg-3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from juk...done.
(gdb) run --nofork
Starting program: /home/ser/juk-4.14.0/debian/juk/usr/bin/juk --nofork
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
juk(2139): Exception loading playlists - binary incompatible stream. 
                                                                                              
Program received signal SIGSEGV, Segmentation fault.                                          
0x0000000000442d29 in Cache::loadPlaylists (collection=0xa3b128) at ../cache.cpp:189          
189                         delete p;                                                         
(gdb) thread apply all backtrace                                                              
                                                                                              
Thread 1 (Thread 0x7ffff7fb1900 (LWP 2139)):                                                  
#0  0x0000000000442d29 in Cache::loadPlaylists (collection=0xa3b128) at ../cache.cpp:189      
#1  0x00000000004b1903 in PlaylistBox::slotLoadCachedPlaylists (this=0xa3b0e0)
    at ../playlistbox.cpp:751
#2  0x00000000004b2bc0 in PlaylistBox::qt_static_metacall (_o=0xa3b0e0, 
    _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0x7fffffffd180) at ./playlistbox.moc:101
#3  0x00007ffff54dac5c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x0000000000448a87 in CollectionList::cachedItemsLoaded (this=0xa63200)
    at ./collectionlist.moc:166
#5  0x00000000004451f6 in CollectionList::completedLoadingCachedItems (this=0xa63200)
    at ../collectionlist.cpp:134
#6  0x0000000000444f7b in CollectionList::loadNextBatchCachedItems (this=0xa63200)
    at ../collectionlist.cpp:110
#7  0x0000000000448809 in CollectionList::qt_static_metacall (_o=0xa63200, 
    _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x16abeb0) at ./collectionlist.moc:91
#8  0x00007ffff54df2c1 in QObject::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007ffff45f08d3 in QWidget::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007ffff49b12be in QFrame::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007ffff7888eb2 in K3ListView::event(QEvent*) () from /usr/lib/libkde3support.so.4
#12 0x00007ffff459d31c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007ffff45a3e18 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007ffff61c416a in KApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libkdeui.so.5
#15 0x00007ffff54c5cad in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007ffff54c9541 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00007ffff54f5003 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18 0x00007fffefed7ecd in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fffefed81b8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fffefed826c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff54f514d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#22 0x00007ffff4642056 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007ffff54c4801 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007ffff54c4b65 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#25 0x00007ffff54ca5c7 in QCoreApplication::exec() ()
---Type <return> to continue, or q <return> to quit---q
 from /usr/lib/x86_64-linux-gnu/libQtCoreQuit                                                                                                                 
(gdb) q                                                                                                                                                       
A debugging session is active.                                                                                                                                
                                                                                                                                                              
        Inferior 1 [process 2139] will be killed.
Comment 5 Christoph Feck 2014-09-14 15:41:30 UTC
Try removing the playlist from .kde/share/config/juk or .kde/share/apps/juk. It seems corrupt.
Comment 6 Jacek 2014-09-14 17:32:20 UTC
Thank you very much, it works. The 'playlists' file was in the .kde/share/apps/juk folder. 

Now, when You mentioned something connected with playlists, I recalled myself, that I might have deleted the playlists(in the left part of the main window), when using Juk earlier. I'm not sure, if I really did so, since I never actually thought about it much - I considered it as ordinary activity. Unfortunatelly I deleted the corrupted 'playlists' file instead of moving it to somewhere else, so the chances of recreating the error in controlled conditions are rather small... Anyway, I promise, I will be more careful while using JuK in the future, and that if I ever manage to recreate a similar error, I'll let You know. 

And... sorry for bothering you so long. Now I'm back with my favourite player - I missed it :)

Jacek
Comment 7 Michael Pyne 2014-09-14 22:15:17 UTC
Too feel too bad... it seems JuK had detected that the playlist was corrupted with the "juk(2139): Exception loading playlists - binary incompatible stream." message, but then crashed anyways. So it probably is a JuK bug, but one that no one ever encounters since most playlists are not corrupted.
Comment 8 Andrew Crouthamel 2018-10-31 04:07:17 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 9 Bug Janitor Service 2018-11-15 10:48:47 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 10 Bug Janitor Service 2018-11-30 04:01:45 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!