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 406462 - Closing properties view for DVD+R DL
Closing properties view for DVD+R DL
Status: RESOLVED FIXED
Product: gnome-mount
Classification: Deprecated
Component: programs
unspecified
Other Linux
: High blocker
: ---
Assigned To: David Zeuthen (not reading bugmail)
: 440668 445763 447845 448204 454765 456948 457617 457739 465775 466884 479034 481490 486151 489524 496558 503230 509727 510927 511356 511357 511734 514028 515198 515199 516288 516289 516290 516806 517805 517806 518095 519192 529367 529406 540324 576093 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-02-10 18:13 UTC by Jose M. daLuz
Modified: 2009-03-20 16:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
Patch file to fixed this BUG. (1.88 KB, patch)
2007-07-23 09:29 UTC, Wing Sun
rejected Details | Review
Correctly chain up the parent's vfuncs when disposing (1.88 KB, patch)
2007-08-07 07:30 UTC, Emmanuele Bassi (:ebassi)
none Details | Review

Description Jose M. daLuz 2007-02-10 18:13:08 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

Thread 1 (Thread 47657582046272 (LWP 4678))

  • #0 __libc_waitpid
    at ../sysdeps/unix/sysv/linux/waitpid.c line 41
  • #1 libgnomeui_segv_handle
    at gnome-ui-init.c line 872
  • #2 <signal handler called>
  • #3 IA__gtk_widget_get_toplevel
    at gtkwidget.c line 6316
  • #4 gtk_widget_get_screen_unchecked
    at gtkwidget.c line 5701
  • #5 IA__gtk_widget_has_screen
    at gtkwidget.c line 5774
  • #6 recompute_idle_func
    at gtkentry.c line 3103
  • #7 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #8 g_main_context_iterate
    at gmain.c line 2677
  • #9 IA__g_main_loop_run
    at gmain.c line 2881
  • #10 IA__gtk_main
    at gtkmain.c line 1148
  • #11 main
    at nautilus-main.c line 548
  • #12 __libc_start_main
    at libc-start.c line 238
  • #13 _start
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...
--------------------------------------------------
Comment 1 Jose M. daLuz 2007-02-10 18:22:34 UTC
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
Comment 2 Christian Kirbach 2007-02-10 22:56:58 UTC
bug in gtk+, i suppose

could be bug 315135. Matthias?

good trace, confirming
Comment 3 Jose M. daLuz 2007-02-11 04:23:00 UTC
FYI, I'm running gtk+ 2.10.9.
Comment 4 palfrey 2007-05-30 09:03:30 UTC
*** Bug 429114 has been marked as a duplicate of this bug. ***
Comment 5 palfrey 2007-05-30 09:05:06 UTC
*** Bug 440668 has been marked as a duplicate of this bug. ***
Comment 6 A S Alam 2007-05-30 09:31:29 UTC
it was produced with following version:
gtk2-2.11.0-1.fc8
Comment 7 palfrey 2007-05-31 11:48:13 UTC
*** Bug 429114 has been marked as a duplicate of this bug. ***
Comment 8 Sebastien Bacher 2007-06-16 12:32:36 UTC
*** Bug 447845 has been marked as a duplicate of this bug. ***
Comment 9 Sebastien Bacher 2007-06-16 12:34:26 UTC
Happens also using GTK 2.11.2, Ubuntu bug reported on https://bugs.launchpad.net/bugs/119954
Comment 10 Sebastien Bacher 2007-06-28 14:44:21 UTC
*** Bug 448204 has been marked as a duplicate of this bug. ***
Comment 11 Jose M. daLuz 2007-07-01 15:00:50 UTC
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.
Comment 12 Christian Kirbach 2007-07-01 15:47:59 UTC
I cannot reproduce with a blank dvd+r on ubuntu edgy nor with a fairly recent svn build
Comment 13 Florian Steinel 2007-07-01 16:04:54 UTC
crash with gtk+-2.11.2 backtrace in Bug #448204
Comment 14 Jose M. daLuz 2007-07-01 16:24:44 UTC
(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.
Comment 15 Christian Kirbach 2007-07-01 21:10:21 UTC
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.
Comment 16 Jose M. daLuz 2007-07-01 21:35:47 UTC
(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.
Comment 17 Pascal Terjan 2007-07-19 10:23:35 UTC
*** Bug 457617 has been marked as a duplicate of this bug. ***
Comment 18 Wing Sun 2007-07-23 09:29:21 UTC
Created attachment 92189 [details] [review]
Patch file to fixed this BUG.
Comment 19 Wing Sun 2007-07-23 09:33:12 UTC
This patch can fix this BUG.
The object widget->parent may not be a GTK_WIDGET object,so cause this BUG.
Comment 20 Matthias Clasen 2007-07-24 13:21:32 UTC
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
Comment 21 André Klapper 2007-07-26 19:10:35 UTC
*** Bug 454765 has been marked as a duplicate of this bug. ***
Comment 22 André Klapper 2007-07-26 19:10:48 UTC
*** Bug 445763 has been marked as a duplicate of this bug. ***
Comment 23 André Klapper 2007-07-26 19:11:00 UTC
*** Bug 457739 has been marked as a duplicate of this bug. ***
Comment 24 André Klapper 2007-07-26 19:11:16 UTC
*** Bug 456948 has been marked as a duplicate of this bug. ***
Comment 25 Wing Sun 2007-08-07 04:01:12 UTC
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.
Comment 26 Emmanuele Bassi (:ebassi) 2007-08-07 07:30:46 UTC
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.
Comment 27 Emmanuele Bassi (:ebassi) 2007-08-07 07:32:43 UTC
re-assigning to the right component.
Comment 28 Sebastien Bacher 2007-08-13 10:22:47 UTC
the patch doesn't fix the crash
Comment 29 Susana 2007-08-22 18:22:19 UTC
*** Bug 466884 has been marked as a duplicate of this bug. ***
Comment 30 Christian Kirbach 2007-10-07 21:07:46 UTC
*** Bug 479034 has been marked as a duplicate of this bug. ***
Comment 31 Christian Kirbach 2007-10-07 21:10:15 UTC
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
Comment 32 André Klapper 2007-10-25 12:34:56 UTC
*** Bug 486151 has been marked as a duplicate of this bug. ***
Comment 33 André Klapper 2007-10-25 12:35:01 UTC
*** Bug 489524 has been marked as a duplicate of this bug. ***
Comment 34 André Klapper 2007-10-25 12:35:12 UTC
*** Bug 481490 has been marked as a duplicate of this bug. ***
Comment 35 André Klapper 2007-10-25 12:35:14 UTC
*** Bug 465775 has been marked as a duplicate of this bug. ***
Comment 36 André Klapper 2007-11-13 22:15:30 UTC
*** Bug 496558 has been marked as a duplicate of this bug. ***
Comment 37 Cosimo Cecchi 2007-12-12 11:40:11 UTC
*** Bug 503230 has been marked as a duplicate of this bug. ***
Comment 38 Bruno Boaventura 2008-01-15 22:15:53 UTC
*** Bug 509727 has been marked as a duplicate of this bug. ***
Comment 39 Cosimo Cecchi 2008-01-21 14:19:30 UTC
*** Bug 510927 has been marked as a duplicate of this bug. ***
Comment 40 Cosimo Cecchi 2008-01-23 10:30:06 UTC
*** Bug 511356 has been marked as a duplicate of this bug. ***
Comment 41 Cosimo Cecchi 2008-01-23 10:30:17 UTC
*** Bug 511357 has been marked as a duplicate of this bug. ***
Comment 42 Cosimo Cecchi 2008-01-24 23:08:57 UTC
*** Bug 511734 has been marked as a duplicate of this bug. ***
Comment 43 Cosimo Cecchi 2008-02-04 13:16:43 UTC
*** Bug 514028 has been marked as a duplicate of this bug. ***
Comment 44 Cosimo Cecchi 2008-02-09 12:25:08 UTC
*** Bug 515199 has been marked as a duplicate of this bug. ***
Comment 45 Cosimo Cecchi 2008-02-09 12:26:33 UTC
*** Bug 515198 has been marked as a duplicate of this bug. ***
Comment 46 Cosimo Cecchi 2008-02-14 00:27:49 UTC
*** Bug 516290 has been marked as a duplicate of this bug. ***
Comment 47 Cosimo Cecchi 2008-02-14 00:27:59 UTC
*** Bug 516289 has been marked as a duplicate of this bug. ***
Comment 48 Cosimo Cecchi 2008-02-14 00:28:07 UTC
*** Bug 516288 has been marked as a duplicate of this bug. ***
Comment 49 Gianluca Borello 2008-02-16 13:30:11 UTC
*** Bug 516806 has been marked as a duplicate of this bug. ***
Comment 50 Cosimo Cecchi 2008-02-21 09:36:34 UTC
*** Bug 517805 has been marked as a duplicate of this bug. ***
Comment 51 Cosimo Cecchi 2008-02-21 09:36:44 UTC
*** Bug 517806 has been marked as a duplicate of this bug. ***
Comment 52 Gianluca Borello 2008-02-23 16:21:21 UTC
*** Bug 518095 has been marked as a duplicate of this bug. ***
Comment 53 Cosimo Cecchi 2008-02-29 10:40:16 UTC
*** Bug 519192 has been marked as a duplicate of this bug. ***
Comment 54 Gianluca Borello 2008-04-22 17:23:27 UTC
*** Bug 529367 has been marked as a duplicate of this bug. ***
Comment 55 Cosimo Cecchi 2008-04-23 09:34:36 UTC
*** Bug 529406 has been marked as a duplicate of this bug. ***
Comment 56 Gianluca Borello 2008-06-26 14:49:48 UTC
*** Bug 540324 has been marked as a duplicate of this bug. ***
Comment 57 Cosimo Cecchi 2008-06-27 09:56:30 UTC
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.
Comment 58 palfrey 2009-03-20 16:47:52 UTC
*** Bug 576093 has been marked as a duplicate of this bug. ***