Hide Forgot
Description of problem: When loading playlist (m3u) from file, it doesn't load its contents. Version-Release number of selected component (if applicable): 3.3.1 How reproducible: Always Steps to Reproduce: 1. have m3u playlist ready 2. Click '+' > Load from file 3. choose your playlist > Open Actual results: Playlist is added into the list, but its contents are not Expected results: Playlist contents are visible and playable Additional info:
Can't reproduce this. What's the output of: rhythmbox -d when reproducing the problem? What's the content of the m3u file? Are the files mentioned in the playlist available?
Created attachment 1161370 [details] rhythmbox -d output
Contents of m3u: A1 Dave.flac A2 Muzzell Loop (Penguin RMX).flac A3 Paddy Cluck Cluck.flac A4 WUDUEVECNSDNGTNAMCBKPRO.flac A5 We Have To Drink Some Booze.flac A6 Goats Chair.flac These files are available.
(05:45:17) [0x20c0430] [handle_playlist_entry_cb] rb-playlist-manager.c:236: adding uri file:///home/test (title (null), genre (null)) from playlist Either rb_canonicalise_uri() is broken, or totem-pl-parser is. Could you please save the attached text file as ~/.gdbinit and, after installing rhythmbox-debuginfo, run "gdb --args rhythmbox" and reproduce the problem. You should get some thing like that in the output: $1 = 0x28eb240 "file:///home/hadess/Music/Moby%20-%20Innocents/05%20-%20Moby%20-%20The%20Perfect%20Life%20(with%20Wayne%20Coyne).mp3" $2 = 0x27fb480 "file:///home/hadess/Music/Moby%20-%20Innocents/05%20-%20Moby%20-%20The%20Perfect%20Life%20(with%20Wayne%20Coyne).mp3" Could you also please make a tarball out of the playlist and audio files (if necessary, remove items from both the playlist file and the file list to make it a minimal reproducer)?
Created attachment 1166595 [details] .gdbinit file
Rhythmbox hangs if the gdb attaches to it. On the positive note, if i provide absolute path to the files in the playlist, Rhythmbox does load them :) If a make an intentional typo in the path, it doesn't complain about it though. I think it'd be great to: a) make it work with relative paths (search for the files recursively in the playlist directory) b) display a GUI message that the files can't be loaded. What do you think please?
(In reply to Jiri Prajzner from comment #7) > Rhythmbox hangs if the gdb attaches to it. Don't attach to it, launch it as mentioned in the comment above, and type "run" at the gdb prompt. If in doubt, please try asking one of your colleagues that knows how to operate gdb. > On the positive note, if i provide absolute path to the files in the > playlist, Rhythmbox does load them :) > If a make an intentional typo in the path, it doesn't complain about it > though. > I think it'd be great to: > a) make it work with relative paths (search for the files recursively in the > playlist directory) > b) display a GUI message that the files can't be loaded. > > What do you think please? I still need the gdb output I requested.
Here you are: [test@qe-dell-ovs5-vm-36 ~]$ gdb --args rhythmbox GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-92.el7 Copyright (C) 2013 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-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... No symbol table is loaded. Use the "file" command. Breakpoint 1 (rb-playlist-manager.c:235) pending. Reading symbols from /usr/bin/rhythmbox...Reading symbols from /usr/lib/debug/usr/bin/rhythmbox.debug...done. done. (gdb) run Starting program: /bin/rhythmbox [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffe2a16700 (LWP 9501)] [New Thread 0x7fffe2215700 (LWP 9502)] [New Thread 0x7fffe079f700 (LWP 9503)] [New Thread 0x7fffdfd81700 (LWP 9504)] [New Thread 0x7fffdf580700 (LWP 9505)] [New Thread 0x7fffded7f700 (LWP 9506)] [New Thread 0x7fffde57e700 (LWP 9507)] [New Thread 0x7fffdcef3700 (LWP 9508)] [Thread 0x7fffdf580700 (LWP 9505) exited] [Thread 0x7fffded7f700 (LWP 9506) exited] [Thread 0x7fffdfd81700 (LWP 9504) exited] (rhythmbox:9497): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x7ffff69906fb "libsoup", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffb910) at gmessages.c:1086 1086 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
You need to type "continue" when you hit warnings. Most of those are already tracked in bug 1259708 and bug 1351643.
gdb --args rhythmbox GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-92.el7 Copyright (C) 2013 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-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... No symbol table is loaded. Use the "file" command. Breakpoint 1 (rb-playlist-manager.c:235) pending. Reading symbols from /usr/bin/rhythmbox...Reading symbols from /usr/lib/debug/usr/bin/rhythmbox.debug...done. done. (gdb) run Starting program: /bin/rhythmbox [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Detaching after fork from child process 18866. [New Thread 0x7fffe2a16700 (LWP 18869)] [New Thread 0x7fffe2215700 (LWP 18870)] [New Thread 0x7fffe079f700 (LWP 18871)] [New Thread 0x7fffdfd81700 (LWP 18872)] [New Thread 0x7fffdf580700 (LWP 18873)] [New Thread 0x7fffded7f700 (LWP 18874)] [New Thread 0x7fffde57e700 (LWP 18875)] [New Thread 0x7fffddd7d700 (LWP 18876)] [New Thread 0x7fffdd57c700 (LWP 18877)] [Thread 0x7fffde57e700 (LWP 18875) exited] [Thread 0x7fffdd57c700 (LWP 18877) exited] [Thread 0x7fffded7f700 (LWP 18874) exited] [Thread 0x7fffddd7d700 (LWP 18876) exited] [Thread 0x7fffdfd81700 (LWP 18872) exited] (rhythmbox:18862): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x7ffff69906fb "libsoup", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffb910) at gmessages.c:1086 1086 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); (gdb) continue Continuing. (rhythmbox:18862): GLib-GObject-CRITICAL **: object SoupServer 0x12be3e0 finalized while still in-construction Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x7ffff3084604 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffb930) at gmessages.c:1086 1086 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); (gdb) Doesn't seem to make any difference here.
(In reply to Jiri Prajzner from comment #11) > gdb --args rhythmbox > GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-92.el7 > Copyright (C) 2013 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-redhat-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > No symbol table is loaded. Use the "file" command. > Breakpoint 1 (rb-playlist-manager.c:235) pending. > Reading symbols from /usr/bin/rhythmbox...Reading symbols from > /usr/lib/debug/usr/bin/rhythmbox.debug...done. > done. > (gdb) run > Starting program: /bin/rhythmbox > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib64/libthread_db.so.1". > Detaching after fork from child process 18866. > [New Thread 0x7fffe2a16700 (LWP 18869)] > [New Thread 0x7fffe2215700 (LWP 18870)] > [New Thread 0x7fffe079f700 (LWP 18871)] > [New Thread 0x7fffdfd81700 (LWP 18872)] > [New Thread 0x7fffdf580700 (LWP 18873)] > [New Thread 0x7fffded7f700 (LWP 18874)] > [New Thread 0x7fffde57e700 (LWP 18875)] > [New Thread 0x7fffddd7d700 (LWP 18876)] > [New Thread 0x7fffdd57c700 (LWP 18877)] > [Thread 0x7fffde57e700 (LWP 18875) exited] > [Thread 0x7fffdd57c700 (LWP 18877) exited] > [Thread 0x7fffded7f700 (LWP 18874) exited] > [Thread 0x7fffddd7d700 (LWP 18876) exited] > [Thread 0x7fffdfd81700 (LWP 18872) exited] > > (rhythmbox:18862): libsoup-CRITICAL **: soup_server_quit: assertion > 'priv->listeners != NULL' failed > > Program received signal SIGTRAP, Trace/breakpoint trap. > g_logv (log_domain=0x7ffff69906fb "libsoup", log_level=G_LOG_LEVEL_CRITICAL, > format=<optimized out>, > args=args@entry=0x7fffffffb910) at gmessages.c:1086 > 1086 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); > (gdb) continue > Continuing. > > (rhythmbox:18862): GLib-GObject-CRITICAL **: object SoupServer 0x12be3e0 > finalized while still in-construction > > Program received signal SIGTRAP, Trace/breakpoint trap. > g_logv (log_domain=0x7ffff3084604 "GLib-GObject", > log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, > args=args@entry=0x7fffffffb930) at gmessages.c:1086 > 1086 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); > (gdb) > > Doesn't seem to make any difference here. You need to keep on typing "continue"...
Created attachment 1174945 [details] stacktrace
That's a known upstream bug in totem-pl-parser, specifically with m3u files: #6 0x00007ffff6f25628 in totem_pl_parser_add_hash_table (parser=parser@entry=0x172aa30, metadata=metadata@entry=0x16cbce0, uri=uri@entry=0x13e49e0 "\360\352z", is_playlist=is_playlist@entry=0) at totem-pl-parser.c:1373
We have it covered in https://tcms.engineering.redhat.com/plan/19699
can't reproduce in rhel 7.6 & rhythmbox 3.4.2