Menu

#1007 QMMP 1.3.3 still hangs on play/pause

Fixed
None
High
Defect
2020-12-12
2019-07-16
No

$qmmp --version
QMMP version: 1.3.3
Compiled with Qt version: 5.12.3
Using Qt version: 5.12.3

Compiled on Gentoo Linux, will hang after about 5 play/pause cycles.

Discussion

  • trialuser02

    trialuser02 - 2019-07-16

    Start qmmp from command line, reproduce bug and show output.

     
  • Blake Leverett

    Blake Leverett - 2019-07-16

    [blake@ccbox ~]$qmmp
    QMMPStarter: removed invalid socket file
    QmmpPluginCache: loaded plugin libpulseaudio.so
    QmmpUiPluginCache: loaded plugin libhotkey.so
    QmmpUiPluginCache: loaded plugin libskinned.so
    MainWindow: detected wm: Openbox
    Skin: using :/glare
    Skin: cannot find region.txt. Transparency disabled
    WindowSystem: setting sticky state of window 0x3000006 to false.
    InputSource: using file transport
    QmmpPluginCache: loaded plugin libaac.so
    QmmpPluginCache: loaded plugin libflac.so
    QmmpPluginCache: loaded plugin libmpeg.so
    QmmpPluginCache: loaded plugin libvorbis.so
    QmmpAudioEngine: selected decoder: mpeg
    DecoderMPEGFactory: using MAD decoder
    DecoderMAD: Xing header found
    DecoderMAD: LAME header found
    DecoderMAD: samples to skip: 576, padding: 791
    DecoderMAD: Total time: 257802
    ReplayGain: disabled
    Dithering: disabled
    OutputWriter: [pulse] 44100 Hz, {FL,FR}, float ==> 44100 Hz, {FL,FR}, s16le
    StateHandler: Current state: Buffering; previous state: Stopped
    StateHandler: Current state: Playing; previous state: Buffering
    DecoderMAD: 13149 bytes skipped
    ===== metadata ======
    ARTIST = València Ska
    TITLE = Ki Sap - Palestina
    ALBUMARTIST =
    ALBUM = Recopilatori Valencia Ska
    COMMENT = http://www.jamendo.com Attribution-Noncommercial-No Derivative Works 3.0
    GENRE =
    YEAR =
    TRACK =
    DISCNUMBER =


    BITRATE = 188
    SAMPLERATE = 44100
    CHANNELS = 2
    BITS_PER_SAMPLE = 32
    FORMAT_NAME = MPEG-1 layer 3
    DECODER = mpeg
    FILE_SIZE = 6064963


    REPLAYGAIN_TRACK_GAIN = 0.000000
    REPLAYGAIN_TRACK_PEAK = 0.000000
    REPLAYGAIN_ALBUM_GAIN = 0.000000
    REPLAYGAIN_ALBUM_PEAK = 0.000000


    DURATION = 257802
    == end of metadata ==
    HotkeyManager: [F6] pressed
    StateHandler: Current state: Paused; previous state: Playing
    void QmmpSettings::sync()
    HotkeyManager: [F6] pressed
    StateHandler: Current state: Playing; previous state: Paused
    HotkeyManager: [F6] pressed
    StateHandler: Current state: Paused; previous state: Playing
    HotkeyManager: [F6] pressed
    StateHandler: Current state: Playing; previous state: Paused
    [ NOW NON-RESPONSIVE ]
    ^C

    (I use F6 as the play/pause shortcut)

     
  • Blake Leverett

    Blake Leverett - 2019-07-16

    Also, by pressing the play/pause buttons in the GUI, also hangs:

    [blake@cpbox ~]$qmmp
    QMMPStarter: removed invalid socket file
    QmmpPluginCache: loaded plugin libpulseaudio.so
    QmmpUiPluginCache: loaded plugin libhotkey.so
    QmmpUiPluginCache: loaded plugin libskinned.so
    MainWindow: detected wm: Openbox
    Skin: using :/glare
    Skin: cannot find region.txt. Transparency disabled
    WindowSystem: setting sticky state of window 0x3000006 to false.
    InputSource: using file transport
    QmmpPluginCache: loaded plugin libaac.so
    QmmpPluginCache: loaded plugin libflac.so
    QmmpPluginCache: loaded plugin libmpeg.so
    QmmpPluginCache: loaded plugin libvorbis.so
    QmmpAudioEngine: selected decoder: mpeg
    DecoderMPEGFactory: using MAD decoder
    DecoderMAD: Xing header found
    DecoderMAD: LAME header found
    DecoderMAD: samples to skip: 576, padding: 791
    DecoderMAD: Total time: 257802
    ReplayGain: disabled
    Dithering: disabled
    OutputWriter: [pulse] 44100 Hz, {FL,FR}, float ==> 44100 Hz, {FL,FR}, s16le
    StateHandler: Current state: Buffering; previous state: Stopped
    StateHandler: Current state: Playing; previous state: Buffering
    DecoderMAD: 13149 bytes skipped
    ===== metadata ======
    ARTIST = València Ska
    TITLE = Ki Sap - Palestina
    ALBUMARTIST =
    ALBUM = Recopilatori Valencia Ska
    COMMENT = http://www.jamendo.com Attribution-Noncommercial-No Derivative Works 3.0
    GENRE =
    YEAR =
    TRACK =
    DISCNUMBER =


    BITRATE = 188
    SAMPLERATE = 44100
    CHANNELS = 2
    BITS_PER_SAMPLE = 32
    FORMAT_NAME = MPEG-1 layer 3
    DECODER = mpeg
    FILE_SIZE = 6064963


    REPLAYGAIN_TRACK_GAIN = 0.000000
    REPLAYGAIN_TRACK_PEAK = 0.000000
    REPLAYGAIN_ALBUM_GAIN = 0.000000
    REPLAYGAIN_ALBUM_PEAK = 0.000000


    DURATION = 257802
    == end of metadata ==
    StateHandler: Current state: Paused; previous state: Playing
    StateHandler: Current state: Playing; previous state: Paused
    StateHandler: Current state: Paused; previous state: Playing
    StateHandler: Current state: Playing; previous state: Paused
    StateHandler: Current state: Paused; previous state: Playing
    StateHandler: Current state: Playing; previous state: Paused

     
  • trialuser02

    trialuser02 - 2019-07-19

    Try to recompile with attached patch

     
  • Blake Leverett

    Blake Leverett - 2019-07-19

    Good news. I compiled the package from the tarfile, and everything works. The Gentoo version also compiles the same source, but it has use-flags that let you turn off unneeded features. So leaving one of those out is likely causing the problem. I'll file a bug with Gentoo for this.

    For the record, Gentoo (by default) disables these options. Likely one of them is causing the hanging problem:

    > HTTP support ..........................disabled
    > Wave support ..........................disabled
    > FFmpeg/Libav support ..................disabled
    > CUE sheet support .....................disabled
    > Mplayer support .......................disabled
    > Archive support .......................disabled
    > LADSPA Host ...........................disabled
    > Crossfade .............................disabled
    > Extra Stereo ..........................disabled
    > Analyzer ..............................disabled
    > Scrobbler .............................disabled
    > Tray support ..........................disabled
    > Notifier support ......................disabled
    > Lyrics support ........................disabled
    > HAL support ...........................disabled
    > GNOME/Cinnamon hotkey support .........disabled
    > Cover manager .........................disabled
    
     
  • trialuser02

    trialuser02 - 2019-07-19

    But what about gcc compile flags? It would be good to compare default cmake flags and flags from /etc/portage/make.conf

     
  • Blake Leverett

    Blake Leverett - 2019-07-19

    Here is what I have for flags from 'emerge --info'

    CFLAGS="-march=native -O2 -pipe"
    CXXFLAGS="-march=native -O2 -pipe"
    FCFLAGS="-O2 -pipe"
    FFLAGS="-O2 -pipe"
    LDFLAGS="-Wl,-O1 -Wl,--as-needed"
    

    I tried various combinations of USE flags, no luck, then I noticed that the Gentoo ebuild sets "-DUSE_HAL=OFF", which seems to be the problem. Without this line, (HAL enabled), any build I make works without hanging. My Gentoo laptop has QMMP and it doesn't hang, so it may not be that simple.

     
  • Blake Leverett

    Blake Leverett - 2019-08-08

    I was incorrect. QMMP still hangs on play/pause, just less than it was. I have tried the patch above and will get back with the results in about a week.

     
  • Blake Leverett

    Blake Leverett - 2019-08-08

    Never mind. I re-compiled with the patch and ran it for a while, but qmmp still hangs on play/pause.

     
  • trialuser02

    trialuser02 - 2019-08-09
     
  • Blake Leverett

    Blake Leverett - 2019-08-09

    OK, I'm trying it. Will report results.
    Results: it hangs, after three play/pause cycles.

     

    Last edit: Blake Leverett 2019-08-09
  • trialuser02

    trialuser02 - 2019-11-03

    Try to reproduce with alsa output and null output and show output.

     
  • Justinas Narusevicius

    Same problem: while unpausing both mp3's and flacs regardless if they are from local drive or samba share qmmp hangs with no output.
    I can reproduce this by playing any song and then clicking "pause/unpause" button very fast. Sometimes it takes about 30 clicks sometimes it hangs on 3rd or 4th resume.

    Tested with:
    QMMP version: 1.5.0-svn-r9580
    Compiled with Qt version: 5.15.2
    Using Qt version: 5.15.2

    This only happens when:

    • Skinned user interface is enabled.

    • Audio output is set to PulseAudio/ALSA

    This does NOT happen when:

    • Simple user interface is enabled

    • Audio output is set to PulseAudio/ALSA

    This also does NOT happen when:

    • Skinned user interface is enabled.

    • Audio output is set to Null

    Furthermore i can't reproduce it after nuking configuration via:

    $ mv .qmmp .qmmp_broken
    

    Everything starts working as expected regardless of output/interface selected.

    If i restore the broken configuration via:

    $ rm -r .qmmp
    $ cp -R .qmmp_broken .qmmp
    

    The bug is back again.

    Heres the broken configuration:
    https://files.catbox.moe/jx02k5.bz2

    I only discovered qmmp about half a year ago so this configuration is probably created by a release in the 1.4.x series.

    My guess its a bug in the skinned interface that only gets triggered when specific non default config options are set.

    I can run qmmp under gdb if you can point me on how to build it with debug symbols and the corresponding gdb commands.

    I've built the svn version via this PKGBUILD:
    https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qmmp-svn

     
  • Justinas Narusevicius

    Gah for some reason the file host renamed tar.bz2 to just bz2.
    Attaching the same archive here.

     
  • Justinas Narusevicius

    Gah for some reason the file host renamed tar.bz2 to just bz2.
    Attaching the same archive here.

     
  • trialuser02

    trialuser02 - 2020-12-12
    • status: New --> Accepted
    • assigned_to: trialuser02
     
  • trialuser02

    trialuser02 - 2020-12-12

    Try to compile this revision: [r9582]

     
    🎉
    1

    Related

    Commit: [r9582]

  • Justinas Narusevicius

    The mentioned commit fixes the issue. Thank you!
    Just out of sheer curiosity what setting combination caused this?
    Happy holidays!

     
  • trialuser02

    trialuser02 - 2020-12-12
    • status: Accepted --> Fixed
     
  • trialuser02

    trialuser02 - 2020-12-12

    Looks like "auto" mode for equalizer causes this issue. Only skinned ui has this feature. Thank you!

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.