gnome-app-install crashed with SIGSEGV in gst_structure_from_string

Bug #173118 reported by gmvasco
310
Affects Status Importance Assigned to Milestone
gnome-app-install (Ubuntu)
Fix Released
High
Michael Vogt

Bug Description

Binary package hint: gnome-app-install

Using Ubuntu 8.04 Alpha 1, I tried to play an mp3 file without installing any mp3 decoder. Totem opened and crashed.

ProblemType: Crash
Architecture: i386
Date: Fri Nov 30 18:25:19 2007
DistroRelease: Ubuntu 8.04
ExecutablePath: /usr/bin/gnome-app-install
InterpreterPath: /usr/bin/python2.5
NonfreeKernelModules: nvidia
Package: gnome-app-install 0.4.13-0ubuntu1
PackageArchitecture: all
ProcCmdline: /usr/bin/python /usr/bin/gnome-codec-install --transient-for=35651587 gstreamer|0.10|totem|MPEG-1\ Layer\ 3\ (MP3)\ decoder|decoder-audio/mpeg,\ mpegversion=(int)1,\ layer=(int)3
ProcCwd: /home/vasco
ProcEnviron:
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=C
 SHELL=/bin/bash
Signal: 11
SourcePackage: gnome-app-install
StacktraceTop:
 ?? () from /usr/lib/libgstreamer-0.10.so.0
 ?? () from /usr/lib/libglib-2.0.so.0
 ?? ()
 ?? ()
 ?? ()
Title: gnome-app-install crashed with SIGSEGV
Uname: Linux AMD2800 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
UserGroups: adm admin audio cdrom dialout dip floppy lpadmin netdev plugdev powerdev scanner video

Revision history for this message
gmvasco (gmvasco) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Symbolic stack trace

StacktraceTop:gst_structure_from_string (
gst_caps_from_string_inplace (caps=0x8c4d4a0,
gst_caps_from_string (
_wrap_gst_caps_from_string (self=0x0, args=0x838796c, kwargs=0x0) at gst.c:21579
PyEval_EvalFrameEx (f=0x841af8c, throwflag=0) at ../Python/ceval.c:3564

Revision history for this message
Apport retracing service (apport) wrote : Symbolic threaded stack trace
Changed in gnome-app-install:
importance: Undecided → Medium
Albert Damen (albrt)
Changed in gnome-app-install:
assignee: nobody → albrt
status: New → In Progress
Revision history for this message
Albert Damen (albrt) wrote :

Gstreamer0.10 version 0.10.15 as used in Hardy contains a new validation of names for structures. A name string used by gnome-app-install does not pass this validation, which results in a null pointer being used to address a structure field. An example of a name string used by gnome-app-install is "0.10:decoder-video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false".
The attached debdiff patches the name validation to allow the string used by gnome-app-install.
Alternatively, building gstreamer0.10 with G_DISABLE_CHECKS or G_DISABLE_ASSERT set could also solve this bug, as the name validation is called in g_return_val_if_fail (gst/gststructure.c line 181).

Gstreamer0.10 with the attached debdiff builds ok in a hardy pbuilder and solved both the crash when gnome-app-install is run manually and when it is called by totem to search plugins.

Changed in gnome-app-install:
assignee: albrt → nobody
status: In Progress → Confirmed
Revision history for this message
Pedro Villavicencio (pedro) wrote :

The debdiff should be looked by a desktop dev, thanks.

Changed in gstreamer0.10:
assignee: nobody → desktop-bugs
importance: Medium → High
status: Confirmed → Triaged
Changed in gstreamer0.10:
assignee: desktop-bugs → mvo
Revision history for this message
Michael Vogt (mvo) wrote :

gnome-app-install (0.5.0-0ubuntu1) hardy; urgency=low

  * AppInstall/Menu.py:
    - fix crash in codec search code when gst.caps_from_string()
      is called (LP: #173118)

 -- Michael Vogt <email address hidden> Tue, 04 Dec 2007 17:16:38 +0100

Changed in gnome-app-install:
status: Triaged → Fix Released
Revision history for this message
Henrique Ferreiro (henrique-ferreiro) wrote :

I got this in a terminal when using the codec search from totem:

** (gnome-codec-install:25923): WARNING **: return value of custom widget handler was not a GtkWidget

(gnome-codec-install:25923): GStreamer-CRITICAL **: gst_structure_empty_new: assertion `gst_structure_validate_name (name)' failed
...

** Message: Missing plugin installation failed: installer-exit-unclean

And nothing happened.

Revision history for this message
Albert Damen (albrt) wrote :

After installing the new version of gnome-app-install it still crashed for me, both when manually started and when searching for a plug-in with totem.
gdb still showed the same bad string as previously. dpkg -s gome-app-install confirmed the new version (0.5.0-0ubuntu1) was installed.
Looking in AppInstall/Menu.py I noticed a second occurrence of gst.caps_from_string. Adding the same split call as was added before the first occurrence of gst.caps_from_string solved the issue:

--- Menu.py 2007-12-10 21:34:50.000000000 +0100
+++ Menu2.py 2007-12-10 21:46:24.000000000 +0100
@@ -263,6 +263,8 @@
             if fuzzy and term in codec:
                 return True
             else:
+ if ":" in codec:
+ codec = codec.split(":")[1]
                 cap = gst.caps_from_string(codec)
                 #print "codec: ",codec
                 #print "cap: ",cap

Leaving status as fix-released until someone can confirm gnome-app-install is still crashing.

Revision history for this message
John C Hatch (henwyn) wrote :

Tried to play a DVD and got this fault from Totem. Checked here and saw that there was a supposed fix so I upgraded everything with Synaptic, started Totem again and got the same fault.

Revision history for this message
Emilio Pozuelo Monfort (pochu) wrote :

Reopening then.

Changed in gnome-app-install:
status: Fix Released → Triaged
Revision history for this message
extra (alien-empathy) wrote :

Update manager says I have updates. I click on update manager, it says slocate needs to be updated, I click "Install Updates." It quickly returns saying, "E: /var/cache/apt/archives/slocate_3.1-1.1ubuntu1_amd64.deb: subprocess pre-installation script returned error exit status 1"

Thereafter, in the window titled "Changes Applied," the heading says "Update is complete" and the message says, "Not all changes and updates succeeded. For further details of the failure, please expand the 'terminal' panel below."

Unfortunately, after clicking on 'Details' to expand the terminal window, I can high-light the text but I am unable to figure out how to copy and paste from that terminal. So I'll finger peck in here what I think might be useful:

....
...Preparing to replace slocate 3.1-1ubuntu3 (using .../slocate_3.1-1.1ubun...etc ...
...====Error. The following diversions still exist :
diversion of /usr/bin/locate to /usr/bin/locate.notslocate by slocate
<same as above but switch locate with updatedb>
<same modification as above to /usr/share/man/man1/locate.1.gz>
<same modification as above to /usr/share/man/man1/updatedb.1.gz>
....
Then the output ends with the same error from dpkg as referenced in my first paragraph above, about returning error code of (1).

I am sorry but I don't recall what files are needed to be attached to help you diagnose this issue.

Revision history for this message
Stanley Sokolow (overbyte) wrote :

Crashed while Totem was searching for codec to play a DVD, same as John C. Hatch reported. I haven't tried to fix it.

Revision history for this message
Julian Andres Klode (juliank) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-app-install - 0.5.1-0ubuntu1

---------------
gnome-app-install (0.5.1-0ubuntu1) hardy; urgency=low

  * AppInstall/Menu.py:
    - really fix crash in codec search code when gst.caps_from_string()
      is called (LP: #173118). Thanks to Julian Klode and Albert23

 -- Michael Vogt <email address hidden> Fri, 21 Dec 2007 14:00:51 +0100

Changed in gnome-app-install:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.