Bug 514914 - totem died on mouseover on "Movie" Menu
Summary: totem died on mouseover on "Movie" Menu
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: totem
Version: 11
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-31 14:06 UTC by Stefan Jensen
Modified: 2009-10-05 11:50 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-10-05 11:50:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Backtrace from Totem (27.19 KB, text/plain)
2009-07-31 16:16 UTC, Stefan Jensen
no flags Details
Second Backtrace from totem (25.27 KB, text/plain)
2009-07-31 20:19 UTC, Stefan Jensen
no flags Details

Description Stefan Jensen 2009-07-31 14:06:19 UTC
Description of problem:

totem suddenly died, when i point the mouse to "Movie" Menu.

Version-Release number of selected component (if applicable):


How reproducible:

Always

Steps to Reproduce:

1. start totem
2. point mouse to "Movie" Menu
  
Actual results:

totem died

Expected results:

totem opens the "Movie" Menu

Additional info:

$ LANG=C totem --debug

(totem:9532): GLib-GObject-WARNING **: invalid cast from `GEmblemedIcon' to `GThemedIcon'

(totem:9532): GLib-GIO-CRITICAL **: g_themed_icon_get_names: assertion `G_IS_THEMED_ICON (icon)' failed

Comment 1 Stefan Jensen 2009-07-31 14:07:32 UTC
sorry, forgot something:

$ rpm -qa| grep totem

totem-2.26.3-1.fc11.x86_64
totem-pl-parser-2.26.2-2.fc11.x86_64
totem-nautilus-2.26.3-1.fc11.x86_64
totem-gstreamer-2.26.3-1.fc11.x86_64
totem-xine-2.26.3-1.fc11.x86_64
totem-mozplugin-2.26.3-1.fc11.x86_64

best regards

Comment 2 Bastien Nocera 2009-07-31 14:15:20 UTC
Please gather a backtrace when running totem with "--g-fatal-warnings". See:
http://fedoraproject.org/wiki/StackTraces

Also mention which gtk-engine and gtk icon theme you're using.

Comment 3 Stefan Jensen 2009-07-31 16:16:06 UTC
Created attachment 355829 [details]
Backtrace from Totem

Backtrace attached. I'm using this Theme configuration:

Windows:	"Clearlooks"
Borbers:	"Bluecurve"
Symbols:	"Dunst"
Pointer:	"Bluecurve-inverse"
Fonts:		"Sans 8"
		"Monospace 8"

Comment 4 Bastien Nocera 2009-07-31 16:47:31 UTC
what's the output of "gvfs-mount -li" when you can reproduce the problem?

Comment 5 Stefan Jensen 2009-07-31 17:14:24 UTC
Gotcha! Whenever i have my USB-Stick plugged in, totem will die.

This works:

$ LANG=C gvfs-mount -li

Drive(0): HL-DT-ST DVDRAM GSA-H66N
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
  ids:
   unix-device: '/dev/sr0'
  themed icons:  [drive-optical]  [drive]
  is_media_removable=1
  has_media=0
  is_media_check_automatic=1
  can_poll_for_media=1
  can_eject=1

but this will produce the fault:
(uuid's removed for privacy)

$ LANG=C gvfs-mount -li

Drive(0): HL-DT-ST DVDRAM GSA-H66N
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
  ids:
   unix-device: '/dev/sr0'
  themed icons:  [drive-optical]  [drive]
  is_media_removable=1
  has_media=0
  is_media_check_automatic=1
  can_poll_for_media=1
  can_eject=1
Drive(1): SanDisk Cruzer
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
  ids:
   unix-device: '/dev/sdc'
  themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
  is_media_removable=1
  has_media=1
  is_media_check_automatic=1
  can_poll_for_media=1
  can_eject=1
  Volume(0): 4,1 GB Filesystem
    Type: GProxyVolume (GProxyVolumeMonitorGdu)
    ids:
     uuid: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
     unix-device: '/dev/dm-5'
    can_mount=1
    can_eject=1
    Mount(0): 4,1 GB Filesystem -> file:///media/XXXX-XXXX
      Type: GProxyMount (GProxyVolumeMonitorGdu)
      can_unmount=1
      can_eject=1
      is_shadowed=0

Comment 6 Bastien Nocera 2009-07-31 19:04:54 UTC
Please test the packages at:
http://koji.fedoraproject.org/koji/buildinfo?buildID=125049

with your SanDisk Cruzer plugged in obviously.

Comment 7 Stefan Jensen 2009-07-31 20:19:44 UTC
Created attachment 355857 [details]
Second Backtrace from totem

Testing done.

totem starts, i point on "Movie" and totem display the Menu correct. Including my USB-Stick.

But when i leave the "Movie" Menu, for instance go to "Edit" "View" "Go" and than go back on "Movie", totem crash again. But not always and sometimes not for the first time.

Seems closing/opening the "Movie" Menu for 3 times will crash totem.

If i "stay" in the Menu and go from "Movie" to "Help" and back a few times, totem will crash sooner or later.

Traceback attached. (May be imcomplete, because of missing debuginfo.)

best regards.

Comment 8 Bastien Nocera 2009-08-01 00:06:40 UTC
What's the error message on the command-line when it crashes?
Does this ever happen without the usb stick plugged in?

Comment 9 Stefan Jensen 2009-08-01 09:40:32 UTC
It only happen, when the usb-stick is plugged in.

$ LANG=C /usr/bin/totem --g-fatal-warnings

GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
aborting...

Comment 10 Bastien Nocera 2009-08-01 12:48:18 UTC
Can't reproduce that here. Which version of glib2 and gtk2 are you using? Could you try running Totem under valgrind:
GNOME_DISABLE_CRASH_DIALOG=1 valgrind --tool=memcheck --track-origins=yes totem

and attach the output when reproducing the problem.

Comment 11 Stefan Jensen 2009-08-01 17:08:17 UTC
I have try another Stick, which is actally a MP3-Player but acts like a  "normal" USB-Stick.

If this devive is mounted, totem will not crash! It seems this is hardware depended?

$LANG=C gvfs-mount -li

Drive(1): Philips GoGear Audio
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
  ids:
   unix-device: '/dev/sdc'
  themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
  is_media_removable=1
  has_media=1
  is_media_check_automatic=1
  can_poll_for_media=1
  can_eject=1
  Volume(0): 518 MB Filesystem
    Type: GProxyVolume (GProxyVolumeMonitorGdu)
    ids:
     uuid: '4788-1D10'
     unix-device: '/dev/sdc1'
    themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    can_mount=1
    can_eject=1
    Mount(0): 518 MB Filesystem -> file:///media/xxxx-xxxx
      Type: GProxyMount (GProxyVolumeMonitorGdu)
      themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
      can_unmount=1
      can_eject=1
      is_shadowed=0


Strange! Is it possible that encryption is an issue here, because the other stick has a encrypted luks filesystem on it?

How do i install "memcheck"? Can't find it.

Comment 12 Stefan Jensen 2009-08-01 17:19:44 UTC
Ok, i verified that encryption is an issue here.

I format my usb-stick "SanDisk Cruzer" with a normal "ext3" filesystem and mount it. As a result, totem won't crash anymore.

If you want me to do some debugging, instruct me please. :-)

Comment 13 Bastien Nocera 2009-08-01 17:22:06 UTC
The tool is valgrind.

# yum -y install valgrind

Comment 14 Stefan Jensen 2009-08-01 17:35:03 UTC
It's already installed, but complains not finding the correct platform:

$ GNOME_DISABLE_CRASH_DIALOG=1 valgrind --tool=memcheck --track-origins=yes totem

valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory

$ locate memcheck

/usr/lib/valgrind/x86-linux/memcheck
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so

Comment 15 Bastien Nocera 2009-08-01 18:41:34 UTC
(Please answer all the questions asked)

> What version of glib2 and gtk2 are you using?

> valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such
> file or directory

That means it's not installed properly, you install the i586 version, but you have an x86-64 machine.

Comment 16 Stefan Jensen 2009-08-02 13:45:44 UTC
Mmh, installed it simply with "yum install valgrind". Anyway, i now have the correct valgrind and here is the output:

LANG=C GNOME_DISABLE_CRASH_DIALOG=1 valgrind --tool=memcheck --track-origins=yes totem
==3790== Memcheck, a memory error detector.
==3790== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==3790== Using LibVEX rev 1884, a library for dynamic binary translation.
==3790== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==3790== Using valgrind-3.4.1, a dynamic binary instrumentation framework.
==3790== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==3790== For more details, rerun with: -v
==3790== 
==3791== 
==3791== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 9 from 2)
==3791== malloc/free: in use at exit: 1,355,407 bytes in 13,468 blocks.
==3791== malloc/free: 24,010 allocs, 10,542 frees, 2,218,040 bytes allocated.
==3791== For counts of detected errors, rerun with: -v
==3791== searching for pointers to 13,468 not-freed blocks.
==3791== checked 3,286,168 bytes.
==3791== 
==3791== LEAK SUMMARY:
==3791==    definitely lost: 0 bytes in 0 blocks.
==3791==      possibly lost: 102,384 bytes in 73 blocks.
==3791==    still reachable: 1,253,023 bytes in 13,395 blocks.
==3791==         suppressed: 0 bytes in 0 blocks.
==3791== Rerun with --leak-check=full to see details of leaked memory.
==3790== Syscall param write(buf) points to uninitialised byte(s)
==3790==    at 0x3749E0DD10: __write_nocancel (in /lib64/libpthread-2.10.1.so)
==3790==    by 0x375640902E: (within /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x375640D8BF: _IceWrite (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x375640D9A3: IceFlush (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x43030E: (within /usr/bin/totem)
==3790==    by 0x430580: (within /usr/bin/totem)
==3790==    by 0x431A17: (within /usr/bin/totem)
==3790==    by 0x3C0280624E: _SmcProcessMessage (in /usr/lib64/libSM.so.6.0.0)
==3790==    by 0x37564123EB: IceProcessMessages (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x4310E1: (within /usr/bin/totem)
==3790==    by 0x3BFB237ABD: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.2000.4)
==3790==    by 0x3BFB23B277: (within /lib64/libglib-2.0.so.0.2000.4)
==3790==  Address 0x666c8e4 is 12 bytes inside a block of size 1,024 alloc'd
==3790==    at 0x4A05414: calloc (vg_replace_malloc.c:397)
==3790==    by 0x3756405D88: IceOpenConnection (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x3C028026F2: SmcOpenConnection (in /usr/lib64/libSM.so.6.0.0)
==3790==    by 0x431635: (within /usr/bin/totem)
==3790==    by 0x42FBF9: (within /usr/bin/totem)
==3790==    by 0x3BFB246678: g_option_context_parse (in /lib64/libglib-2.0.so.0.2000.4)
==3790==    by 0x41988E: main (in /usr/bin/totem)
==3790==  Uninitialised value was created by a heap allocation
==3790==    at 0x4A0763E: malloc (vg_replace_malloc.c:207)
==3790==    by 0x375640D591: IceAllocScratch (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x3C028021B0: SmcSetProperties (in /usr/lib64/libSM.so.6.0.0)
==3790==    by 0x43030E: (within /usr/bin/totem)
==3790==    by 0x430580: (within /usr/bin/totem)
==3790==    by 0x431A17: (within /usr/bin/totem)
==3790==    by 0x3C0280624E: _SmcProcessMessage (in /usr/lib64/libSM.so.6.0.0)
==3790==    by 0x37564123EB: IceProcessMessages (in /usr/lib64/libICE.so.6.3.0)
==3790==    by 0x4310E1: (within /usr/bin/totem)
==3790==    by 0x3BFB237ABD: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.2000.4)
==3790==    by 0x3BFB23B277: (within /lib64/libglib-2.0.so.0.2000.4)
==3790==    by 0x3BFB23B39F: g_main_context_iteration (in /lib64/libglib-2.0.so.0.2000.4)
Assertion 'c->defer_event == e' failed at pulsecore/socket-client.c:185, function connect_defer_cb(). Aborting.
==3790== 
==3790== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 40 from 2)
==3790== malloc/free: in use at exit: 4,431,424 bytes in 34,047 blocks.
==3790== malloc/free: 109,038 allocs, 74,991 frees, 10,180,730 bytes allocated.
==3790== For counts of detected errors, rerun with: -v
==3790== searching for pointers to 34,047 not-freed blocks.
==3790== checked 94,317,288 bytes.
==3790== 
==3790== LEAK SUMMARY:
==3790==    definitely lost: 14,571 bytes in 349 blocks.
==3790==      possibly lost: 376,250 bytes in 252 blocks.
==3790==    still reachable: 4,040,603 bytes in 33,446 blocks.
==3790==         suppressed: 0 bytes in 0 blocks.
==3790== Rerun with --leak-check=full to see details of leaked memory.
Getötet

It died, before i can make any inputs.

$ rpm -qa| grep glib2

pulseaudio-libs-glib2-0.9.15-14.fc11.x86_64
glib2-2.20.4-1.fc11.x86_64
glib2-devel-2.20.4-1.fc11.x86_64
ruby-glib2-0.19.0-3.fc11.1.x86_64

$ rpm -qa| grep gtk2

pygtk2-libglade-2.14.1-1.fc11.x86_64
gtk2-engines-2.18.2-1.fc11.x86_64
pygtk2-2.14.1-1.fc11.x86_64
libcanberra-gtk2-0.12-1.fc11.x86_64
gtk2-2.16.5-1.fc11.x86_64
gtk2-devel-2.16.5-1.fc11.x86_64
ruby-gtk2-0.19.0-3.fc11.1.x86_64

Comment 17 Bastien Nocera 2009-10-05 11:50:47 UTC
This is fixed in totem-2.26.3-4


Note You need to log in before you can comment on or make changes to this bug.