Bug 350753 - crossfade is enabled every time juk starts
Summary: crossfade is enabled every time juk starts
Status: RESOLVED WORKSFORME
Alias: None
Product: juk
Classification: Applications
Component: general (other bugs)
Version First Reported In: 3.11
Platform: Debian stable Linux
: NOR normal
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-29 16:00 UTC by thatskinnywhiteguy+kde
Modified: 2015-09-01 03:30 UTC (History)
1 user (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 thatskinnywhiteguy+kde 2015-07-29 16:00:07 UTC
I disable crossfade between tracks every time I start JuK but I find that it's back on every time I start the program.

Reproducible: Always

Steps to Reproduce:
1. Disable crossfade between tracks (Player -> Crossfade Between Tracks)
2. Quit JuK (Ctrl+Q)
3. Start JuK

Actual Results:  
Crossfade was back on.

Expected Results:  
Settings changed by the user, such as crossfade being disabled, should remain from session to session.

I have the haskell platform pinned from testing but I'm running stable otherwise. I don't think I'm even running any backports.
Comment 1 thatskinnywhiteguy+kde 2015-07-29 16:01:44 UTC
This wouldn't be a big deal if it weren't for bug #350752 (https://bugs.kde.org/show_bug.cgi?id=350752).
Comment 2 Michael Pyne 2015-08-29 01:18:40 UTC
Juk has saved the crossfade status since KDE times. See juk.cpp:437 or so.

It is true that the default for crossfade is to be enabled, so if it keeps turning on at startup I would suspect that your KDE configuration file is failing to save for some reason (e.g. perhaps JuK crashes on its previous shutdown, or perhaps the configuration files are wiped by something else)? However we do save the crossfade status already.
Comment 3 thatskinnywhiteguy+kde 2015-08-31 17:34:12 UTC
I looked at the source and can see that it both reads and writes that setting. I tried to use gdb to verify that the function gets called but can't seem to find the debian package with the appropriate debug symbols.

Also, my .xsession-errors doesn't say anything about a phonon backend or juk crashing when I close it. I know that's not conclusive by any means, but I thought it might be useful.

I also dug around and found ~/.kde/share/config/jukrc, which I assume is the configuration file in question. Although I've unchecked the crossfade option and closed juk several times just today, jukrc hasn't been changed in the last five days.
Comment 4 Michael Pyne 2015-09-01 02:51:25 UTC
I know this may sound silly, but did the permissions on ~/.kde/share/config/jukrc get modified somehow to make it impossible to overwrite the settings?

Are you sure the Juk process exited? (i.e. no remaining systray icons, "pgrep juk" reports no output, etc.). You can run "juk --nofork" to force JuK to avoid the normal startup process that results in it running in the background or raising an existing juk window.
Comment 5 thatskinnywhiteguy+kde 2015-09-01 03:25:52 UTC
Those are both fair questions. I hadn't thought of either of those possibilities.

I'm the owner of the file in question and its permissions are 600 and juk runs as me, so permissions shouldn't be the problem.

ps aux | grep juk shows three results when juk is running; two are actually juk and one is the grep invocation. Only the grep invocation remains after I quit juk.
Comment 6 thatskinnywhiteguy+kde 2015-09-01 03:30:03 UTC
Running `juk --nofork` didn't change any of that behavior. Running it in the terminal, I did get a bit of output. I'm including it here in case it's useful.

------

QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled 
juk(1935)/kdeui (Wallet): The kwalletd service has been disabled
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-excel.sheet.binary.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-excel.addin.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-excel.sheet.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-powerpoint.presentation.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-word.template.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-excel.template.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-powerpoint.template.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-word.document.macroEnabled.12" 
juk(1935) KMimeTypeRepository::parents: "/usr/share/mime/subclasses"  refers to unknown mimetype  "application/vnd.ms-powerpoint.slide.macroEnabled.12"