After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 328824 - crash reading .PNG file
crash reading .PNG file
Status: RESOLVED DUPLICATE of bug 335755
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.1
Other other
: High critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-01-27 11:54 UTC by Mikel Ward
Modified: 2006-03-26 05:38 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
PNG file that Rhythmbox seems to crash on (249 bytes, image/png)
2006-01-28 00:33 UTC, Mikel Ward
Details

Description Mikel Ward 2006-01-27 11:54:44 UTC
Distribution: Ubuntu 6.04 (dapper)
Package: rhythmbox
Severity: Normal
Version: GNOME2.13.4 unspecified
Gnome-Distributor: Ubuntu
Synopsis: crash resizing browser pane (just started monitoring files)
Bugzilla-Product: rhythmbox
Bugzilla-Component: General
Bugzilla-Version: unspecified
BugBuddy-GnomeVersion: 2.0 (2.13.0)
Description:

I upgraded to Ubuntu Dapper Flight 3 (i.e. Ubuntu 6.10 test release 3)
today and started trying to play songs in my library.

Most of them are MP3s, so I needed to install
gstreamer0.10-plugins-ugly.

After doing this, I started playing some songs, only to realize very few
were available.  My /pub file system was unavailable.

After mounting my remote NFS file server on /pub, I tried adding a
folder containing a few albums from a subdirectory of /pub.

I then enabled folder monitoring on my home directory.

Finally, during playback, I clicked on the horizontal grippy to make the
artist and album panes larger, when Rhythmbox crashed.

It seems to have been due to resizing the pane while Rhythmbox was busy,
however it could be due to attempting to monitor a remote file system
(either due to a bug in that code or due to automatically detecting a
file in the monitored directory that GStreamer or Rhythmbox choked on
while trying to import it).


Debugging Information:

Backtrace was generated from '/usr/bin/rhythmbox'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1227323712 (LWP 6140)]
[New Thread -1383326800 (LWP 7282)]
[New Thread -1349755984 (LWP 7237)]
[New Thread -1400112208 (LWP 7235)]
[New Thread -1374934096 (LWP 7214)]
[New Thread -1391719504 (LWP 6814)]
[New Thread -1246704720 (LWP 6810)]
[New Thread -1290613840 (LWP 6805)]
[New Thread -1341363280 (LWP 6705)]
[New Thread -1332970576 (LWP 6603)]
[New Thread -1324577872 (LWP 6594)]
[New Thread -1316185168 (LWP 6583)]
[New Thread -1307792464 (LWP 6571)]
[New Thread -1256649808 (LWP 6442)]
[New Thread -1282221136 (LWP 6167)]
[New Thread -1273435216 (LWP 6153)]
[New Thread -1246262352 (LWP 6142)]
[New Thread -1237869648 (LWP 6141)]
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()

Thread 2 (Thread -1383326800 (LWP 7282))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 ??
  • #5 gst_pngdec_get_type
    from /usr/lib/gstreamer-0.10/libgstpng.so
  • #6 gst_task_get_type
    from /usr/lib/libgstreamer-0.10.so.0
  • #7 g_thread_pool_free
    from /usr/lib/libglib-2.0.so.0
  • #8 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #9 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #10 clone
    from /lib/tls/i686/cmov/libc.so.6




------- Bug created by bug-buddy at 2006-01-27 11:54 -------

Comment 1 Alex Lancaster 2006-01-27 12:00:46 UTC
What version of rhythmbox are you using?  Is it CVS?
Comment 2 Jonathan Matthew 2006-01-27 12:09:43 UTC
It appears that the thread that crashed (thread 2) was trying to read a .png file.  Can you try running rhythmbox -d to help narrow down the file that's causing the problem?

Monitoring your home directory is generally not a good idea, since it contains a lot of frequently changed files that rhythmbox won't import anyway.
Comment 3 Christian Kirbach 2006-01-27 13:47:41 UTC
looks like a gstreamer problem
Comment 4 Mikel Ward 2006-01-28 00:25:32 UTC
The last bit of output from rhythmbox -d is:

[0x8103890] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:754 (11:17:57): saving the playlists
[0x8103890] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:799 (11:17:57): no save needed, ignoring
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/diarc"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/persistence"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/defaults.dia"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/pluginrc"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/history"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.dia/menurc"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.htaccess.bak"
[0x84fa200] [queue_stat_uri] rhythmdb.c:1745 (11:17:57): queueing stat for "file:///home/michael/.eMule"

A long way before that, the last execute messages are:
[0x824cfd8] [action_thread_main] rhythmdb.c:1962 (11:17:39): executing RHYTHMDB_ACTION_LOAD for "file:///home/michael/Profile/Application%20Data/Opera/Opera%208%20Beta/profile/cache4/opr000SX.gif"
[0x824cfd8] [action_thread_main] rhythmdb.c:1962 (11:17:39): executing RHYTHMDB_ACTION_LOAD for "file:///home/michael/Profile/Application%20Data/Opera/Opera%208%20Beta/profile/cache4/opr000SV.jpg"
[0x824cfd8] [action_thread_main] rhythmdb.c:1962 (11:17:39): executing RHYTHMDB_ACTION_LOAD for "file:///home/michael/Profile/Application%20Data/Opera/Opera%208%20Beta/profile/cache4/opr000S7.gif"
[0x824cfd8] [action_thread_main] rhythmdb.c:1962 (11:17:39): executing RHYTHMDB_ACTION_LOAD for "file:///home/michael/Profile/Application%20Data/Opera/Opera%208%20Beta/profile/cache4/opr000SA.png"

So it does seem likely it's choking on a .PNG.

You're right it's probably not a good idea to monitor my ~, but that's what Rhythmbox suggested. ;-)

dpkg -l reports version rhythmbox 0.9.2cvs20060102-0ubuntu1, gstreamer0.10 0.10.2-1ubuntu2, and gstreamer0.8 0.8.11-3ubuntu2.
Comment 5 Mikel Ward 2006-01-28 00:33:10 UTC
Created attachment 58246 [details]
PNG file that Rhythmbox seems to crash on

The image opens in Eye of GNOME but shows no content.  Running png2pnm on the file generates a PNM image that appears to contain all NULLs.

Nothing else chokes on the file, but I'm guessing it's not a valid PNG.
Comment 6 James "Doc" Livingston 2006-01-28 00:39:36 UTC
Moving to gst-plugins-good, since the crash is in the plugin.
Comment 7 Tim-Philipp Müller 2006-01-28 10:21:23 UTC
Seems to be a valid PNG, but of slightly unusual dimensions (5x2500). Decodes and displays fine here with:

  gst-launch-0.10 filesrc location=328824.png ! decodebin ! ffmpegcolorspace ! ximagesink    audiotestsrc num-buffers=1024 ! fakesink sync=true

(the audiotestsrc ! fakesink bit is there to make the image stay visible on the screen for a while).

Michael, does that pipeline work for you when you run it from the command line?
Can you reproduce the crash?

Might just be a smacked stack and a bad trace. gst_pngdec_get_type() isn't called from gst_task_get_type(), which in turn probably isn't called from g_thread_pool_free() either.

Comment 8 Tim-Philipp Müller 2006-01-28 10:34:51 UTC
Didn't mean to set this to NEEDINFO ...
Comment 9 Luca Ognibene 2006-02-21 20:44:54 UTC
A manual pipeline works fine here too (currenct cvs on ppc). I've also tried to add the png to rhythmbox(0.9.3.1) and it doesn't segfault. Can someone replicate this problem in gstreamer ?
Comment 10 Tim-Philipp Müller 2006-03-21 18:26:53 UTC
There have been quite a few typefinding fixes in the last two releases.

Could you try again with GStreamer core 0.10.4 and gst-plugins-base 0.10.5 to see if it's fixed now?
Comment 11 Tim-Philipp Müller 2006-03-24 22:27:17 UTC
Chances are actually pretty good that this is the same issue as bug #335755 (which should be fixed in gst-plugins-good CVS). If not, please reopen.


*** This bug has been marked as a duplicate of 335755 ***
Comment 12 Mikel Ward 2006-03-26 05:38:22 UTC
It seems to be fixed in plugins-base 0.10.5.

I told Rhythmbox to monitor my ~/Music directory, copied the questionable PNG file into ~/Music, and Rhythmbox has started OK.