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 673988 - udisks2 ABI break in 1.93 -> 1.94, crashes gnome-disk-utility
udisks2 ABI break in 1.93 -> 1.94, crashes gnome-disk-utility
Status: RESOLVED NOTGNOME
Product: gnome-disk-utility
Classification: Core
Component: Disks UI
3.4.x
Other Linux
: Normal major
: ---
Assigned To: gnome-disk-utility-maint
gnome-disk-utility-maint
Depends on:
Blocks:
 
 
Reported: 2012-04-12 12:49 UTC by Marti
Modified: 2012-04-12 13:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
udisksctl-dump.txt (13.92 KB, text/plain)
2012-04-12 13:00 UTC, Marti
Details

Description Marti 2012-04-12 12:49:30 UTC
When I start palimpsest on my 64-bit Arch Linux, I'm greeted a screenful of GLib-GIO-WARNING messages about interface mismatches, followed by a segfault in udisks_client_get_drive_info()

gnome-disk-utility 3.4.0-1
udisks2 1.94.0-1
glib2 2.32.0-1

I rebuilt gnome-disk-utility and udisks2 with -O1 -ggdb to get the stack trace.

(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property Name of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property UUID of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property IdLabel of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property IdUUID of type ay but according to the expected interface the type is s
[... repeated a few times ...]
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property Vendor of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property Model of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property Revision of type ay but according to the expected interface the type is s
(palimpsest:31857): GLib-GIO-WARNING **: Trying to set property Serial of type ay but according to the expected interface the type is s
[... repeated once more ...]

Program received signal SIGSEGV, Segmentation fault.
(gdb) bt full
  • #0 udisks_client_get_drive_info
    at udisksclient.c line 1085
  • #1 update_drive
    at gdudevicetreemodel.c line 670
  • #2 update_drives
    at gdudevicetreemodel.c line 791
  • #3 update_all
    at gdudevicetreemodel.c line 1122
  • #4 coldplug
    at gdudevicetreemodel.c line 1129
  • #5 gdu_device_tree_model_constructed
    at gdudevicetreemodel.c line 329
  • #6 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_object_new_valist
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #9 gdu_device_tree_model_new
    at gdudevicetreemodel.c line 375
  • #10 gdu_window_constructed
    at gduwindow.c line 916
  • #11 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_object_new_valist
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #14 gdu_window_new
    at gduwindow.c line 1218
  • #15 gdu_application_activate
    at gduapplication.c line 97
  • #16 ??
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 ??
    from /usr/lib/libgio-2.0.so.0
  • #20 gdu_application_local_command_line
    at gduapplication.c line 74
  • #21 g_application_run
    from /usr/lib/libgio-2.0.so.0
  • #22 main
    at main.c line 40

Comment 1 Marti 2012-04-12 13:00:24 UTC
Created attachment 211925 [details]
udisksctl-dump.txt

'udisksctl dump' sprays the same errors, but doesn't segfault. Here's the output of the dump command.
Comment 2 Marti 2012-04-12 13:27:23 UTC
Apparently this is a result of udisks2 ABI break between 1.93 -> 1.94. When I try to access the 1.93 daemon with 1.94 libraries -- or vice versa -- I get this crash.

Is this ABI break deliberate?
Comment 3 David Zeuthen (not reading bugmail) 2012-04-12 13:51:56 UTC
Yeah, this was a deliberate ABI break... and there will be one more before 2.0.0 cf. http://lists.freedesktop.org/archives/devkit-devel/2012-April/001239.html

After that 2.0.0 there will be no more ABI breaks.

Btw, if you reboot right after updating 1.93.0 -> 1.94.0 there should be no problems since no new processes using libudisks2 will be spawned. That's also why the Fedora update for 1.94.0 has the SuggestReboot flag set to TRUE. Other OSes may do other things.