GNOME Bugzilla – Bug 406462
Closing properties view for DVD+R DL
Last modified: 2009-03-20 16:47:52 UTC
Version: 2.17.90 What were you doing when the application crashed? View properties for DVD+R-DL blank on desktop Distribution: Gentoo Base System version 1.13.0_alpha12 Gnome Release: 2.17.90 2007-01-23 (Gentoo) BugBuddy Version: 2.17.3 System: Linux 2.6.19-gentoo-r4 #2 PREEMPT Sat Jan 13 10:23:05 EST 2007 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 70200000 Selinux: No Accessibility: Disabled Memory status: size: 356360192 vsize: 356360192 resident: 34799616 share: 19492864 rss: 34799616 rss_rlim: -1 CPU usage: start_time: 1171072296 rtime: 6899 utime: 5788 stime: 1111 cutime:57 cstime: 15 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/nautilus' Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 47657582046272 (LWP 4678)] 0x00002b5823bccacf in __libc_waitpid (pid=25270, stat_loc=0x7fff8baa3c8c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41 in ../sysdeps/unix/sysv/linux/waitpid.c
+ Trace 109589
Thread 1 (Thread 47657582046272 (LWP 4678))
0x00002b5823bccacf 41 in ../sysdeps/unix/sysv/linux/waitpid.c The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal] ----------- .xsession-errors (56975 sec old) --------------------- beryl: Couldn't bind redirected window 0xe0f400 to texture beryl: pixmap 0x22004e4 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f497 to texture beryl: pixmap 0x22004e1 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f400 to texture beryl: pixmap 0x22004e4 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f497 to texture beryl: pixmap 0x22004e1 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f400 to texture beryl: pixmap 0x22004e4 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f497 to texture beryl: pixmap 0x22004e1 can't be bound to texture beryl: Couldn't bind redirected window 0xe0f400 to texture ...Too much output, ignoring rest... --------------------------------------------------
Specifically, I placed a DVD+R DL disc in the drive intending to use K3B to start a video project (nautilus-cd-burner won't do the trick for this!). I did not get the usual dialog asking what I wanted to do with this blank. The desktop icon says "CD-ROM Disc". Seeing that, I right-clicked and viewed Properties, clicked on the Volume tab and saw that the Media was listed as Blank DVD+R Dual Layer Disc, then closed the dialog after which the crash happened. I can duplicate this at will. I don't know what parts of the volume management stack are relevant, so here's all that I know about: dbus 1.0.2 hal 0.5.8.1 gnome-vfs 2.17.90 gnome-volume-manager 2.17.0 gnome-mount 0.5 nautilus 2.17.90 nautilus-cd-burner 2.17.6
bug in gtk+, i suppose could be bug 315135. Matthias? good trace, confirming
FYI, I'm running gtk+ 2.10.9.
*** Bug 429114 has been marked as a duplicate of this bug. ***
*** Bug 440668 has been marked as a duplicate of this bug. ***
it was produced with following version: gtk2-2.11.0-1.fc8
*** Bug 447845 has been marked as a duplicate of this bug. ***
Happens also using GTK 2.11.2, Ubuntu bug reported on https://bugs.launchpad.net/bugs/119954
*** Bug 448204 has been marked as a duplicate of this bug. ***
This still happens with gtk+ 2.11.4. Now, practically any media file (.mp3, .flac, .avi) I try to get a properties page for will cause Nautilus to crash (but without a bug-buddy dialog!), so whatever the original problem was it has gotten much worse. This is with nautilus 2.19.4.
I cannot reproduce with a blank dvd+r on ubuntu edgy nor with a fairly recent svn build
crash with gtk+-2.11.2 backtrace in Bug #448204
(In reply to comment #12) > I cannot reproduce with a blank dvd+r on ubuntu edgy nor with a fairly recent > svn build > Try it with a dual-layer dvd+r -- that was my original issue, it doesn't seem to recognize that type of media (the label says CD-ROM Disc), then crashes when you right-click on it and click on Properties, then close that dialog. In the meantime, I also now get crashes when trying to view the properties of media files, but without a properties dialog appearing and without a bug-buddy dialog either. This may be a different problem.
If the disc type is not recognised then this is a missing feature in hal (I believe). Anyways I suspect gnome-vfs to crash here when viewing the properties.
(In reply to comment #15) > If the disc type is not recognised then this is a missing feature in hal (I > believe). $ hal-device '/org/freedesktop/Hal/devices/storage_model_DVDRW_LH_20A1L' | grep dvdplusrdl storage.cdrom.dvdplusrdl = true (bool) So it seems hal does know about this disc type. > > Anyways I suspect gnome-vfs to crash here when viewing the properties. > There aren't any gnome-vfs references in the stack trace as far as I can see, but it's possible I'm missing something.
*** Bug 457617 has been marked as a duplicate of this bug. ***
Created attachment 92189 [details] [review] Patch file to fixed this BUG.
This patch can fix this BUG. The object widget->parent may not be a GTK_WIDGET object,so cause this BUG.
That patch cannot be correct. All the thread-enter/-leave are already taken care of by using gdk_threads_add_idle() and friends, and widget->parent can never be anything but NULL or a (container) widget. If it is, there must be memory corruption somewhere else
*** Bug 454765 has been marked as a duplicate of this bug. ***
*** Bug 445763 has been marked as a duplicate of this bug. ***
*** Bug 457739 has been marked as a duplicate of this bug. ***
*** Bug 456948 has been marked as a duplicate of this bug. ***
I think it is a gtk+ BUG. It should be a BUG in gnome-mount. In gnome-mount source codes, they wrote: static void gm_properties_view_dispose (GObject *object) { GnomeMountPropertiesView *properties = GM_PROPERTIES_VIEW (object); if (properties->xml != NULL) { g_object_unref (properties->xml); properties->xml = NULL; } if (properties->keydir != NULL) { g_free (properties->keydir); properties->keydir = NULL; } } static void gm_properties_view_class_init (GnomeMountPropertiesViewClass *properties_class) { GObjectClass *g_object_class = G_OBJECT_CLASS (properties_class); g_object_class->dispose = gm_properties_view_dispose; } But, in the GObject Reference Manual there had a description for the dispose of Gobject. dispose?() the dispose function is supposed to drop all references to other objects, but keep the instance otherwise intact, so that client method invocations still work. It may be run multiple times (due to reference loops). Before returning, dispose should chain up to the dispose method of the parent class. So, gm_properties_view_dispose should chain up to the dispose method of the parent class. I changed the source code to static void gm_properties_view_dispose (GObject *object) { GnomeMountPropertiesView *properties = GM_PROPERTIES_VIEW (object); if (properties->xml != NULL) { g_object_unref (properties->xml); properties->xml = NULL; } if (properties->keydir != NULL) { g_free (properties->keydir); properties->keydir = NULL; } G_OBJECT_CLASS (gm_properties_view_parent_class)->dispose(object); } After compile it and install it to the system, run nautilus ,view the properites of a disc, no crash.
Created attachment 93190 [details] [review] Correctly chain up the parent's vfuncs when disposing this patch correctly chains up the parent class dispose method; it also moves the g_free() into a finalize function, as dispose is there only to remove references.
re-assigning to the right component.
the patch doesn't fix the crash
*** Bug 466884 has been marked as a duplicate of this bug. ***
*** Bug 479034 has been marked as a duplicate of this bug. ***
Last duplicate was triggered by closing the hard drive properties window. It has a nice trace and intresting xsession errors ----------- .xsession-errors --------------------- ** Message: drive = 0 ** Message: volume = 0 ** Message: drive = 6ab020 ** Message: volume = 6ab060 ** Message: drive = 6aaf40 ** Message: volume = 0 ** Message: drive = 6aaea0 ** Message: volume = 0 ** Message: drive = 6aae00 ** Message: volume = 6ab140 ** Message: drive = 0 ** Message: volume = 6b0ae0 ** Message: drive = 0 ** Message: volume = 0
*** Bug 486151 has been marked as a duplicate of this bug. ***
*** Bug 489524 has been marked as a duplicate of this bug. ***
*** Bug 481490 has been marked as a duplicate of this bug. ***
*** Bug 465775 has been marked as a duplicate of this bug. ***
*** Bug 496558 has been marked as a duplicate of this bug. ***
*** Bug 503230 has been marked as a duplicate of this bug. ***
*** Bug 509727 has been marked as a duplicate of this bug. ***
*** Bug 510927 has been marked as a duplicate of this bug. ***
*** Bug 511356 has been marked as a duplicate of this bug. ***
*** Bug 511357 has been marked as a duplicate of this bug. ***
*** Bug 511734 has been marked as a duplicate of this bug. ***
*** Bug 514028 has been marked as a duplicate of this bug. ***
*** Bug 515199 has been marked as a duplicate of this bug. ***
*** Bug 515198 has been marked as a duplicate of this bug. ***
*** Bug 516290 has been marked as a duplicate of this bug. ***
*** Bug 516289 has been marked as a duplicate of this bug. ***
*** Bug 516288 has been marked as a duplicate of this bug. ***
*** Bug 516806 has been marked as a duplicate of this bug. ***
*** Bug 517805 has been marked as a duplicate of this bug. ***
*** Bug 517806 has been marked as a duplicate of this bug. ***
*** Bug 518095 has been marked as a duplicate of this bug. ***
*** Bug 519192 has been marked as a duplicate of this bug. ***
*** Bug 529367 has been marked as a duplicate of this bug. ***
*** Bug 529406 has been marked as a duplicate of this bug. ***
*** Bug 540324 has been marked as a duplicate of this bug. ***
I'm closing this as FIXED, as another patch for this bug seems to have been committed to trunk (now all the freeing of the memory and removing of the references is simply done in _finalize (), correctly chaining up to the parent handler). Also, there are no duplicates from Nautilus > 2.20, which seems to indicate that this is not an issue anymore in 2.22 (which should ship gnome-mount 0.8, containing the fix). Please reopen the bug if you can still reproduce it with latest Nautilus and gnome-mount, thanks.
*** Bug 576093 has been marked as a duplicate of this bug. ***