Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 428364 - media-sound/qmmp-0.6.1 crash while opening playlist from internet link
Summary: media-sound/qmmp-0.6.1 crash while opening playlist from internet link
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Markos Chandras (RETIRED)
URL: http://code.google.com/p/qmmp/source/...
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2012-07-27 19:55 UTC by Linubie
Modified: 2012-07-28 14:56 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
qmmp konsole output (qmmp-0.6.1-crashdump.txt,4.11 KB, text/plain)
2012-07-27 19:55 UTC, Linubie
Details
gdb_qmmp (gdb_qmmp.txt,2.05 KB, text/plain)
2012-07-27 22:16 UTC, Linubie
Details
qmmp-0.6.1_fix_enca.patch (qmmp_fix_enca-patch,521 bytes, text/plain)
2012-07-28 04:38 UTC, Franz Trischberger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Linubie 2012-07-27 19:55:25 UTC
Created attachment 319444 [details]
qmmp konsole output

qmmp-0.6.1 is crashing when open e.g.http://mp3-live.swr3.de/swr3_m.m3u

qmmp-0.6.1 is compiled with this USE Flags:

media-sound/qmmp-0.6.1 USE="aac alsa cdda cover dbus enca ffmpeg flac jack kde ladspa libsamplerate lyrics mad midi mms modplug mplayer musepack notifier oss projectm sndfile tray udev vorbis wavpack -bs2b -crossfade -game -mpris -pulseaudio -scrobbler -stereo"
Comment 1 Agostino Sarubbo gentoo-dev 2012-07-27 20:24:20 UTC
your link is fine here (same version)

Can you try my USE set?

USE="aac alsa dbus ffmpeg kde mad mms mpris stereo udev vorbis -bs2b -cdda -cover -crossfade -enca -flac -game -jack -ladspa -libsamplerate -lyrics -midi -modplug -mplayer -musepack -notifier -oss -projectm -pulseaudio -scrobbler -sndfile -tray -wavpack"
Comment 2 Linubie 2012-07-27 22:00:59 UTC
compiling with: USE="aac alsa dbus ffmpeg kde mad mms mpris stereo udev vorbis -bs2b -cdda -cover -crossfade -enca -flac -game -jack -ladspa -libsamplerate -lyrics -midi -modplug -mplayer -musepack -notifier -oss -projectm -pulseaudio -scrobbler -sndfile -tray -wavpack" emerge qmmp

using the mentioned USE Flags makes qmmp open and play the link successfully.
Comment 3 Agostino Sarubbo gentoo-dev 2012-07-27 22:03:40 UTC
well..can you give us more info via gdb?
Comment 4 Linubie 2012-07-27 22:16:22 UTC
Created attachment 319460 [details]
gdb_qmmp
Comment 5 Linubie 2012-07-27 22:18:09 UTC
Have used gdb for the first time, hopefully I've done it correct.
Please find attached using my USE Flags.
Comment 6 Franz Trischberger 2012-07-28 04:11:18 UTC
After the application crashed you should type "bt" for the backtrace.
More information you can get here:
http://www.gentoo.org/proj/en/qa/backtraces.xml

This is how the backtrace looks for me:
#0  0x00007ffff5ba9ae5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff5baaf5b in __GI_abort () at abort.c:93
#2  0x00007ffff5ba298e in __assert_fail_base (fmt=<optimized out>, assertion=0x7fffe731157a "analyser != ((void *)0)", file=0x7fffe7312b60 "/var/tmp/paludis/app-i18n-enca-1.13-r2/work/enca-1.13/lib/guess.c", line=<optimized out>, 
    function=<optimized out>) at assert.c:96
#3  0x00007ffff5ba2a32 in __GI___assert_fail (assertion=0x7fffe731157a "analyser != ((void *)0)", file=0x7fffe7312b60 "/var/tmp/paludis/app-i18n-enca-1.13-r2/work/enca-1.13/lib/guess.c", line=1176, function=0x7fffe7313060 "enca_set_threshold")
    at assert.c:105
#4  0x00007fffe730df00 in enca_set_threshold () from /usr/lib64/libenca.so.0
#5  0x00007fffe77c41d9 in HttpStreamReader::HttpStreamReader (this=0x8cce30, url=..., parent=<optimized out>) at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/plugins/Transports/http/httpstreamreader.cpp:132
#6  0x00007fffe77c8837 in HTTPInputSource::HTTPInputSource (this=0x8da7d0, url="http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3", parent=<optimized out>)
    at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/plugins/Transports/http/httpinputsource.cpp:26
#7  0x00007fffe77c7b24 in HTTPInputFactory::create (this=<optimized out>, url="http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3", parent=0x77e750)
    at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/plugins/Transports/http/httpinputfactory.cpp:43
#8  0x00007ffff6700d41 in InputSource::create (url="http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3", parent=0x77e750)
    at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/qmmp/inputsource.cpp:115
#9  0x00007ffff66f3ea9 in SoundCore::play (this=0x77e750, source="http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3", queue=<optimized out>, offset=-1)
    at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/qmmp/soundcore.cpp:77
#10 0x00007ffff644ed01 in MediaPlayer::play (this=0x7869d0, offset=-1) at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/qmmpui/mediaplayer.cpp:103
#11 0x00007ffff6ab39f9 in QMetaObject::activate (sender=0x88bdf0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#12 0x00007fffeb311744 in ListWidget::mouseDoubleClickEvent (this=0x88bdf0, e=<optimized out>) at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/plugins/Ui/skinned/listwidget.cpp:202
#13 0x00007ffff73633b3 in QWidget::event (this=0x88bdf0, event=0x7fffffffc4a0) at kernel/qwidget.cpp:8375
#14 0x00007ffff7310bc4 in notify_helper (e=0x7fffffffc4a0, receiver=0x88bdf0, this=0x627330) at kernel/qapplication.cpp:4551
#15 QApplicationPrivate::notify_helper (this=0x627330, receiver=0x88bdf0, e=0x7fffffffc4a0) at kernel/qapplication.cpp:4523
#16 0x00007ffff7316c99 in QApplication::notify (this=<optimized out>, receiver=0x88bdf0, e=0x7fffffffc4a0) at kernel/qapplication.cpp:4094
#17 0x00007ffff6aa004c in QCoreApplication::notifyInternal (this=0x7fffffffcff0, receiver=0x88bdf0, event=0x7fffffffc4a0) at kernel/qcoreapplication.cpp:915
#18 0x00007ffff7311b82 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#19 QApplicationPrivate::sendMouseEvent (receiver=0x88bdf0, event=0x7fffffffc4a0, alienWidget=0x88bdf0, nativeWidget=0x88d210, buttonDown=0x88bdf0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3162
#20 0x00007ffff738c4c8 in QETWidget::translateMouseEvent (this=0x88d210, event=<optimized out>) at kernel/qapplication_x11.cpp:4502
#21 0x00007ffff738b2da in QApplication::x11ProcessEvent (this=0x7fffffffcff0, event=0x7fffffffcbc0) at kernel/qapplication_x11.cpp:3625
#22 0x00007ffff73b27aa in x11EventSourceDispatch (s=0x62ae70, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#23 0x00007ffff589d0f3 in g_main_dispatch (context=0x629b00) at gmain.c:2539
#24 g_main_context_dispatch (context=0x629b00) at gmain.c:3075
#25 0x00007ffff589d440 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x629b00, self=<optimized out>) at gmain.c:3146
#26 g_main_context_iterate (context=0x629b00, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3083
---Type <return> to continue, or q <return> to quit---
#27 0x00007ffff589d504 in g_main_context_iteration (context=0x629b00, may_block=1) at gmain.c:3207
#28 0x00007ffff6ace4af in QEventDispatcherGlib::processEvents (this=0x628750, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0x00007ffff73b244e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007ffff6a9ebb2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007ffff6a9ee07 in QEventLoop::exec (this=0x7fffffffcf50, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007ffff6aa3af5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#33 0x0000000000407550 in main (argc=1, argv=0x7fffffffd228) at /var/tmp/paludis/media-sound-qmmp-0.6.1/work/qmmp-0.6.1/src/app/main.cpp:59
Comment 7 Franz Trischberger 2012-07-28 04:38:16 UTC
Created attachment 319488 [details]
qmmp-0.6.1_fix_enca.patch

When the analyser can be NULL, simply make sure it isn't before using it :P
Especially when the setting defaults to "false" and the enca_lang is empty (at least it was for me), so m_analyser will always be NULL.

NOTE: You can configure this in "Modules - HTTP-Module" ("Configure"-Button will be enabled after clickingthe item in the list).
Comment 8 Franz Trischberger 2012-07-28 04:59:35 UTC
Also reported this upstream:
http://code.google.com/p/qmmp/issues/detail?id=550&thanks=550&ts=1343451480
Comment 9 Linubie 2012-07-28 09:25:46 UTC
gdb /usr/bin/qmmp
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 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-pc-linux-gnu".                                                
For bug reporting instructions, please see:                                                      
<http://bugs.gentoo.org/>...                                                                     
Reading symbols from /usr/bin/qmmp...(no debugging symbols found)...done.                        
(gdb) run                                                                                        
Starting program: /usr/bin/qmmp                                                                  
[Thread debugging using libthread_db enabled]                                                    
QMMPStarter: removed invalid socket file                                                         
Output: plugin loaded - libalsa.so                                                               
Output: plugin loaded - libjack.so                                                               
Output: plugin loaded - libnull.so                                                               
Output: plugin loaded - liboss.so                                                                
OutputALSA: setupMixer()                                                                         
OutputALSA: Unable to set volume range: Das Argument ist ungültig                                
General: plugin loaded - libconverter.so                                                         
General: plugin loaded - libcovermanager.so                                                      
General: plugin loaded - libfileops.so                                                           
General: plugin loaded - libhotkey.so                                                            
General: plugin loaded - libkdenotify.so                                                         
General: plugin loaded - liblyrics.so                                                            
General: plugin loaded - libnotifier.so                                                          
General: plugin loaded - libstatusicon.so                                                        
General: plugin loaded - libstreambrowser.so                                                     
General: plugin loaded - libudisks.so                                                       
UiLoader: plugin loaded - libskinned.so                                                     
MainWindow: detected wm: KWin                                                               
Skin: using :/default                                                                       
Skin: cannot find region.txt. Transparency disabled                                         
Visual: plugin loaded - libanalyzer.so                                                      
Visual: plugin loaded - libprojectm.so                                                      
WindowSystem: setting sticky state of window 0x4e0003c to false.                            
OutputALSA: setupMixer()                                                                    
OutputALSA: Unable to set volume range: Das Argument ist ungültig                           
OutputALSA: setupMixer()                                                                    
OutputALSA: Unable to set volume range: Das Argument ist ungültig                           
InputSource: plugin loaded - libhttp.so                                                     
InputSource: plugin loaded - libmms.so                                                      
InputSource: using http transport                                                           
qmmp: /var/tmp/portage/app-i18n/enca-1.13-r2/work/enca-1.13/lib/guess.c:1176: enca_set_threshold: Assertion `analyser != ((void *)0)' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff5b2dd35 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff5b2dd35 in raise () from /lib64/libc.so.6
#1  0x00007ffff5b2f0da in abort () from /lib64/libc.so.6
#2  0x00007ffff5b2697e in ?? () from /lib64/libc.so.6
#3  0x00007ffff5b26a42 in __assert_fail () from /lib64/libc.so.6
#4  0x00007fffe01c6238 in enca_set_threshold () from /usr/lib64/libenca.so.0
#5  0x00007fffe068a866 in HttpStreamReader::HttpStreamReader(QString const&, QObject*) ()
   from /usr/lib64/qmmp/Transports/libhttp.so
#6  0x00007fffe068ea18 in HTTPInputSource::HTTPInputSource(QString const&, QObject*) ()
   from /usr/lib64/qmmp/Transports/libhttp.so
#7  0x00007fffe068dc8c in HTTPInputFactory::create(QString const&, QObject*) ()
   from /usr/lib64/qmmp/Transports/libhttp.so
#8  0x00007ffff6699a2a in InputSource::create(QString const&, QObject*) ()
   from /usr/lib64/libqmmp.so.0
#9  0x00007ffff668d14d in SoundCore::play(QString const&, bool, long long) ()
   from /usr/lib64/libqmmp.so.0
#10 0x00007ffff63e93a9 in MediaPlayer::play(long long) () from /usr/lib64/libqmmpui.so.0
#11 0x00007ffff6a52ae2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007fffe5d07964 in ListWidget::mouseDoubleClickEvent(QMouseEvent*) ()
   from /usr/lib64/qmmp/Ui/libskinned.so
#13 0x00007ffff7310b41 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007ffff72bee1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007ffff72c4112 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007ffff6a3d10b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtCore.so.4
#17 0x00007ffff72bfdc2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007ffff733ee77 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007ffff733d541 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007ffff7365182 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007ffff58175da in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#22 0x00007ffff5817de8 in ?? () from /usr/lib64/libglib-2.0.so.0
#23 0x00007ffff5817f7f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#24 0x00007ffff6a6c37a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#25 0x00007ffff7364e46 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007ffff6a3bdf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007ffff6a3c0e5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/qt4/libQtCore.so.4
#28 0x00007ffff6a40b9b in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#29 0x000000000040cbeb in main ()
Comment 10 Agostino Sarubbo gentoo-dev 2012-07-28 09:43:21 UTC
thanks all for extra work.
Comment 11 Franz Trischberger 2012-07-28 12:11:00 UTC
Fixed upstream:
http://code.google.com/p/qmmp/source/detail?r=2830
Comment 12 Agostino Sarubbo gentoo-dev 2012-07-28 13:59:54 UTC
+*qmmp-0.6.1-r1 (28 Jul 2012)                                                                                                                                                       
+                                                                                                          
+  28 Jul 2012; Agostino Sarubbo <ago@gentoo.org> +files/qmmp-0.6.1-enca.patch,                            
+  +qmmp-0.6.1-r1.ebuild:                                                                                  
+  fixed crash in enca_set_threshold, thanks to Linubie and Franz Fellner, wrt to                          
+  bug #428364  

@Linubie, this is fixed for me in qmmp-0.6.1-r1, can you verify if works for you?
Comment 13 Linubie 2012-07-28 14:37:04 UTC
*thumbs up*
It's working for me, thank you.