CDrummond / cantata

Qt5 Graphical MPD Client
GNU General Public License v3.0
1.04k stars 184 forks source link

search in queue playlist #333

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open cantata
2. Click on the search icon (binoculars)
3. Type random text
4. Crash

Q. What is the expected output? What do you see instead?
A. A list of results from the search.

Q. What version of the product are you using? On what operating system?
A. On 1.0.3 the bug doesn't exist. On the 1.1.3 (haven't rested previous 
versions, cantata crashes upon playlist searching.

Please provide any additional information below.
- Archlinux (stock kernel 1.12.0)
- KDE 4.11.3 (latest)

Original issue reported on code.google.com by bogitosp...@gmail.com on 20 Nov 2013 at 8:05

GoogleCodeExporter commented 9 years ago
Hmmm... odd, I cannot reproduce this with neither trunk nor a 1.1.x branch.

Does it always happen? Or only occasionally? Any backtrace?

How many playlists do you have? And how many tracks are in each?

Does it matter when view type you use for playlists?

Original comment by craig.p....@gmail.com on 20 Nov 2013 at 8:56

GoogleCodeExporter commented 9 years ago
Ah, you mean the play queue. Still no crash though - even with 15,000 songs 
added.

Original comment by craig.p....@gmail.com on 21 Nov 2013 at 6:20

GoogleCodeExporter commented 9 years ago
FWIW, I tried the search function in the play queue window (1.1.3 and r3607) 
after loading it with 33,000 songs and it worked.  In the playlist window, I 
had several playlists there, two of which had 30,000-40,000 songs apiece and 
searching through 70,000+ worth of tracks there did not yield a crash.  I am 
also running Archlinux with a stock kernel and the latest KDE in its repos.  It 
would be interesting to see what info kcrash brings up.

Original comment by ms6676...@gmail.com on 21 Nov 2013 at 8:39

GoogleCodeExporter commented 9 years ago
KCrash: Application 'cantata' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
Unable to open ~/.mtpz-data for reading, MTPZ 
disabled.sock_file=/home/smirky/.kde4/socket-archy/kdeinit4__0
QSocketNotifier: Invalid socket 19 and type 'Read', disabling...
QSocketNotifier: Invalid socket 12 and type 'Read', disabling...
QSocketNotifier: Invalid socket 20 and type 'Read', disabling...
QSocketNotifier: Invalid socket 23 and type 'Read', disabling...

Original comment by bogitosp...@gmail.com on 22 Nov 2013 at 4:43

GoogleCodeExporter commented 9 years ago
http://smirky.net/screenshots/2013-11-22-06:45:10.png
http://smirky.net/screenshots/2013-11-22-06:46:50.png
http://smirky.net/screenshots/2013-11-22-06:47:12.png

Here are some screens :)

Original comment by bogitosp...@gmail.com on 22 Nov 2013 at 4:48

GoogleCodeExporter commented 9 years ago
Thanks for taking the time to post the screenshots - but unfortunately, they're 
not very useful!

In the 3rd screenshot you can see the backtrace - its all of this that is 
needed (and trhe screenshot only shows the non-relevant parts!). You can see a 
small disk icon in the bottom right, you can use this to save the contents to a 
file, and then post that.

Also, how frequent is the crash for you? Occasionally? very often? Or all the 
time?

Original comment by craig.p....@gmail.com on 22 Nov 2013 at 7:37

GoogleCodeExporter commented 9 years ago
http://smirky.net/cantata-20131127-140640.kcrash.txt

Here's the output in it's full content. This one comes from my laptop. The one 
on the screenshots is from my PC. The crash happens absolutely every time I 
type something in the field to search. In addition, the crash appears to happen 
when I stop typing.

Original comment by bogitosp...@gmail.com on 27 Nov 2013 at 12:12

GoogleCodeExporter commented 9 years ago
Sorry to say this - but that doesn't tell me much either! :-(

Can you rebuild Cantata with debug enabled? i.e pass CMake:

    -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Debug

...then run Cantata under gdb. e.g.:

1. In a terminal (from within your build folder) type:
    gdb ./cantata

2. At "gdb>" prompt, type:
    run --nofork

3. Recreate crash

4. When Cantata has crashed (window will appear hung, as the crash is caught by 
gdb), type the following in the gdb window:

    where

5. Send me the result of the "where" command

6. Exit gdb with "quit"

The crash will happen only after you stop typing, as Cantata only starts the 
search after you have stopped typing for a fraction of a second.

Original comment by craig.p....@gmail.com on 27 Nov 2013 at 12:23

GoogleCodeExporter commented 9 years ago
I died at step 2...

I did:
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Debug
gdb ./cantata
run --nofork

(gdb) run --nofork
Starting program:  --nofork
No executable file specified.
Use the "file" or "exec-file" command.

Here's the ls -l output:
drwxr-xr-x 6 smirky smirky   4096 Nov 27 14:33 3rdparty
-rw-r--r-- 1 smirky smirky    141 May  8  2013 AUTHORS
-rw-r--r-- 1 smirky smirky    959 Nov 27 14:33 cantataadaptor.moc_parameters
-rw-r--r-- 1 smirky smirky  11957 Nov 27 14:33 cantata_automoc.cpp.files
-rw-r--r-- 1 smirky smirky    919 Aug 14 21:40 cantata.desktop
-rw-r--r-- 1 smirky smirky    264 Oct  8 21:56 cantata-play-audiocd.desktop
-rw-r--r-- 1 smirky smirky   4875 Aug 14 21:40 cantata.qrc
-rw-r--r-- 1 smirky smirky    447 Aug 14 21:40 cantata_qt.qrc
-rw-r--r-- 1 smirky smirky  68330 Oct  8 21:56 ChangeLog
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 cmake
-rw-r--r-- 1 smirky smirky  85764 Nov 27 14:33 CMakeCache.txt
drwxr-xr-x 7 smirky smirky   4096 Nov 27 14:33 CMakeFiles
-rw-r--r-- 1 smirky smirky   6797 Nov 27 14:33 cmake_install.cmake
-rw-r--r-- 1 smirky smirky  31664 Oct  8 21:56 CMakeLists.txt
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 CMakeTmp
-rw-r--r-- 1 smirky smirky    916 Nov 27 14:33 cmake_uninstall.cmake
-rw-r--r-- 1 smirky smirky   1299 Nov 27 14:33 config.h
-rw-r--r-- 1 smirky smirky   1522 Aug 14 21:40 config.h.cmake
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 context
-rw-r--r-- 1 smirky smirky   3088 Nov 27 14:33 CPackConfig.cmake
-rw-r--r-- 1 smirky smirky   3318 Nov 27 14:33 CPackSourceConfig.cmake
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 dbus
drwxr-xr-x 4 smirky smirky   4096 Nov 27 14:33 devices
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 dynamic
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 gui
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 http
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 icons
-rw-r--r-- 1 smirky smirky   2391 Oct  8 21:56 INSTALL
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 lib
-rw-r--r-- 1 smirky smirky  35147 May  8  2013 LICENSE
-rw-r--r-- 1 smirky smirky 115778 Nov 27 14:33 Makefile
-rw-r--r-- 1 smirky smirky    967 Nov 27 14:33 mediakeysinterface.moc_parameters
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 models
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 mpd
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 network
-rw-r--r-- 1 smirky smirky    975 Nov 27 14:33 
notificationsinterface.moc_parameters
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 online
-rw-r--r-- 1 smirky smirky    957 Nov 27 14:33 playeradaptor.moc_parameters
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 po
-rw-r--r-- 1 smirky smirky  20292 Oct  8 21:56 README
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 replaygain
-rw-r--r-- 1 smirky smirky    953 Nov 27 14:33 rootadaptor.moc_parameters
-rw-r--r-- 1 smirky smirky    977 Nov 27 14:33 
settingsdaemoninterface.moc_parameters
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 streams
drwxr-xr-x 4 smirky smirky   4096 Nov 27 14:33 support
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 tags
-rw-r--r-- 1 smirky smirky   2668 Aug 14 21:40 TODO
-rw-r--r-- 1 smirky smirky    961 Nov 27 14:33 upowerinterface.moc_parameters
drwxr-xr-x 2 smirky smirky   4096 Nov 27 14:33 widgets
drwxr-xr-x 3 smirky smirky   4096 Nov 27 14:33 windows

Original comment by bogitosp...@gmail.com on 27 Nov 2013 at 1:00

GoogleCodeExporter commented 9 years ago
ummmm.. you forgot to build cantata :-)  After the 'cmake' command you need to 
type 'make' ... then proceed with steps 1 to 6

Original comment by craig.p....@gmail.com on 27 Nov 2013 at 1:09

GoogleCodeExporter commented 9 years ago
(gdb) run --nofork
Starting program: /home/smirky/Downloads/cantata-1.1.3/./cantata --nofork
warning: no loadable sections found in added symbol-file system-supplied DSO at 
0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
QDBusConnection: session D-Bus connection created before QCoreApplication. 
Application may misbehave.
[New Thread 0x7fffe4328700 (LWP 25200)]
[New Thread 0x7fffe3b27700 (LWP 25201)]
[New Thread 0x7fffe263f700 (LWP 25204)]
Object::connect: No such signal 
org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal 
org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
"/org/freedesktop/UDisks2/drives/TOSHIBA_MQ01ABF050_3372C52QT" : property 
"DeviceNumber" does not exist 
"/org/freedesktop/UDisks2/drives/TOSHIBA_MQ01ABF050_3372C52QT" : property 
"Device" does not exist 
"/org/freedesktop/UDisks2/drives/TSSTcorp_CDDVDW_SN_208AB_R8QJ6GKD20259Q" : 
property "Drive" does not exist 
"/org/freedesktop/UDisks2/drives/TOSHIBA_MQ01ABF050_3372C52QT" : property 
"Drive" does not exist 
[New Thread 0x7fffe1e3e700 (LWP 25205)]
[New Thread 0x7fffe163d700 (LWP 25206)]
[New Thread 0x7fffe0e3c700 (LWP 25207)]
[New Thread 0x7fffcbfff700 (LWP 25208)]
[New Thread 0x7fffcb3c1700 (LWP 25209)]
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: cHRM: inconsistent chromaticities

Program received signal SIGSEGV, Segmentation fault.
0x00000000005588fd in PlayQueueView::clearSelection (this=0xb8e8e0) at 
/home/smirky/Downloads/cantata-1.1.3/widgets/playqueueview.cpp:352
352         groupedView->selectionModel()->clear();

Original comment by bogitosp...@gmail.com on 27 Nov 2013 at 1:17

GoogleCodeExporter commented 9 years ago
(gdb) where
#0  0x00000000005588fd in PlayQueueView::clearSelection (this=0xb8e8e0) at 
/home/smirky/Downloads/cantata-1.1.3/widgets/playqueueview.cpp:352
#1  0x000000000048c25f in MainWindow::realSearchPlayQueue (this=0xb57ef0) at 
/home/smirky/Downloads/cantata-1.1.3/gui/mainwindow.cpp:1694
#2  0x00007ffff527eb48 in QMetaObject::activate(QObject*, QMetaObject const*, 
int, void**) () from /usr/lib/libQtCore.so.4
#3  0x00007ffff5282d11 in QObject::event(QEvent*) () from 
/usr/lib/libQtCore.so.4
#4  0x00007ffff460f12c in QApplicationPrivate::notify_helper(QObject*, QEvent*) 
() from /usr/lib/libQtGui.so.4
#5  0x00007ffff46156f0 in QApplication::notify(QObject*, QEvent*) () from 
/usr/lib/libQtGui.so.4
#6  0x00007ffff74e083a in KApplication::notify(QObject*, QEvent*) () from 
/usr/lib/libkdeui.so.5
#7  0x00007ffff526aebd in QCoreApplication::notifyInternal(QObject*, QEvent*) 
() from /usr/lib/libQtCore.so.4
#8  0x00007ffff529a5d3 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007ffff5297929 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007fffef8bb296 in g_main_context_dispatch () from 
/usr/lib/libglib-2.0.so.0
#11 0x00007fffef8bb5e8 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007fffef8bb68c in g_main_context_iteration () from 
/usr/lib/libglib-2.0.so.0
#13 0x00007ffff5297b25 in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/libQtCore.so.4
#14 0x00007ffff46ac266 in ?? () from /usr/lib/libQtGui.so.4
#15 0x00007ffff5269b1f in 
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/libQtCore.so.4
#16 0x00007ffff5269e15 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/libQtCore.so.4
#17 0x00007ffff526ef4b in QCoreApplication::exec() () from 
/usr/lib/libQtCore.so.4
#18 0x0000000000452ff2 in main (argc=2, argv=0x7fffffffe7c8) at 
/home/smirky/Downloads/cantata-1.1.3/gui/main.cpp:243

Original comment by bogitosp...@gmail.com on 27 Nov 2013 at 1:18

GoogleCodeExporter commented 9 years ago
Thanks for this - it has *really* helped. I managed to reproduce the crash - it 
was due to you using the table style playqueue, which I no longer use! Anyway, 
this should be fixed in trunk now. Can you confirm? To get trunk:

svn checkout http://cantata.googlecode.com/svn/trunk/ cantata

Original comment by craig.p....@gmail.com on 27 Nov 2013 at 7:43

GoogleCodeExporter commented 9 years ago
It works without a problem.
Just curious, why did you move the search bar below the playlist and why 
changed it's keybind to Ctrl+Shift+F? It was so much more user friendly on 
previous versions (my opinion). Besides, search is more frequently used in the 
playlist, not in the left panel, isn't it?

Original comment by bogitosp...@gmail.com on 27 Nov 2013 at 8:01

GoogleCodeExporter commented 9 years ago
Because I never use it, and its closer to the genre filter (which is also at 
the bottom). I needed to use Ctrl-Shift-F as Ctrl-F is used for the other 
searches.

I'm not sure that searching the playqueue is all that frequent - as opposed to 
searching your library.

Original comment by craig.p....@gmail.com on 27 Nov 2013 at 9:11