desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #60409
[Bug 908787] Re: nautilus crashed with SIGSEGV in g_str_hash()
I can reproduce this in precise as well. Here is a slightly better
backtrace:
1) gdb nautilus
2) run Computer://
3) Double click a partition in the nautilus window
4) Following backtrace:
(gdb) run Computer://
Starting program: /usr/bin/nautilus Computer://
[Thread debugging using libthread_db enabled]
[New Thread 0xb68feb70 (LWP 14782)]
[New Thread 0xb60fdb70 (LWP 14783)]
[New Thread 0xb58d3b70 (LWP 14784)]
Initializing nautilus-gdu extension
GLib-GObject-CRITICAL **: g_value_get_pointer: assertion
`G_VALUE_HOLDS_POINTER (value)' failed
Program received signal SIGSEGV, Segmentation fault.
g_str_hash (v=0x0) at /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c:1661
1661 /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c: No such file or directory.
in /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c
(gdb) bt
#0 g_str_hash (v=0x0)
at /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c:1661
#1 0xb7374a38 in g_hash_table_lookup_node (hash_return=<synthetic pointer>,
key=0x0, hash_table=0x8783ee8)
at /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c:385
#2 g_hash_table_lookup (hash_table=0x8783ee8, key=0x0)
at /build/buildd/glib2.0-2.31.4.tested/./glib/ghash.c:1058
#3 0xb50493b9 in gdu_pool_get_by_object_path (pool=0x832acf0, object_path=0x0)
at gdu-pool.c:2217
#4 0xb50479b6 in device_changed_signal_handler (proxy=0x87e4090,
object_path=0x0, user_data=0x832acf0) at gdu-pool.c:1528
#5 0xb7444f8a in g_cclosure_marshal_VOID__POINTER (closure=0x87ce5a0,
return_value=0x0, n_param_values=2, param_values=0x87ec5c0,
invocation_hint=0xbfffee90, marshal_data=0x0)
at /build/buildd/glib2.0-2.31.4.tested/./gobject/gmarshal.c:609
#6 0xb502017a in marshal_dbus_message_to_g_marshaller (closure=0x87ce5a0,
return_value=0x0, n_param_values=3, param_values=0x87d4048,
invocation_hint=0xbfffee90, marshal_data=0x0) at dbus-gproxy.c:1734
#7 0xb7442dac in g_closure_invoke (closure=0x87ce5a0, return_value=0x0,
n_param_values=3, param_values=0x87d4048, invocation_hint=0xbfffee90)
at /build/buildd/glib2.0-2.31.4.tested/./gobject/gclosure.c:774
#8 0xb74540c5 in signal_emit_unlocked_R (node=0x82be698, detail=2861,
instance=0x87e4090, emission_return=0x0, instance_and_params=0x87d4048)
at /build/buildd/glib2.0-2.31.4.tested/./gobject/gsignal.c:3302
#9 0xb745b942 in g_signal_emit_valist (instance=0x87e4090, signal_id=220,
detail=2861, var_args=0xbffff044 "")
at /build/buildd/glib2.0-2.31.4.tested/./gobject/gsignal.c:3033
#10 0xb745bad3 in g_signal_emit (instance=0x87e4090, signal_id=220,
detail=2861)
at /build/buildd/glib2.0-2.31.4.tested/./gobject/gsignal.c:3090
#11 0xb5020820 in dbus_g_proxy_emit_remote_signal (message=0x8427ce0,
proxy=<optimized out>) at dbus-gproxy.c:1787
#12 dbus_g_proxy_manager_filter (user_data=0x87c98d0, message=0x8427ce0,
connection=<optimized out>) at dbus-gproxy.c:1354
#13 dbus_g_proxy_manager_filter (connection=0x87d0568, message=0x8427ce0,
user_data=0x87c98d0) at dbus-gproxy.c:1195
#14 0xb693e441 in dbus_connection_dispatch ()
from /lib/i386-linux-gnu/libdbus-1.so.3
#15 0xb50189ad in message_queue_dispatch (source=0x878fb98, callback=0,
user_data=0x0) at dbus-gmain.c:90
#16 0xb738528a in g_main_dispatch (context=0x81f3b80)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:2513
#17 g_main_context_dispatch (context=0x81f3b80)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:3050
#18 0xb7385695 in g_main_context_iterate (dispatch=1, block=-1220988880,
context=0x81f3b80, self=<optimized out>)
user_data=0x0) at dbus-gmain.c:90
#16 0xb738528a in g_main_dispatch (context=0x81f3b80)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:2513
#17 g_main_context_dispatch (context=0x81f3b80)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:3050
#18 0xb7385695 in g_main_context_iterate (dispatch=1, block=-1220988880,
context=0x81f3b80, self=<optimized out>)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:3121
#19 g_main_context_iterate (context=0x81f3b80, block=-1220988880, dispatch=1,
self=<optimized out>)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:3058
#20 0xb7385771 in g_main_context_iteration (context=0x81f3b80, may_block=1)
at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c:3182
#21 0xb753862c in g_application_run (application=0x81c5c08, argc=2,
argv=0xbffff374)
at /build/buildd/glib2.0-2.31.4.tested/./gio/gapplication.c:1548
#22 0x08067ae4 in ?? ()
#23 0xb7178113 in __libc_start_main (main=0x8067a20, argc=2,
ubp_av=0xbffff374, init=0x8158bd0, fini=0x8158c40, rtld_fini=0xb7feebc0,
stack_end=0xbffff36c) at libc-start.c:226
#24 0x08067b1d in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further
The NULL object_path above when libgdu receives the DeviceChanged signal
from udisks seems to be the cause, but interestingly, running:
dbus-monitor --system
"type='signal',sender='org.freedesktop.UDisks',interface='org.freedesktop.UDisks'"
I get:
signal sender=org.freedesktop.DBus -> dest=:1.81 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.81"
signal sender=:1.54 -> dest=(null destination) serial=389 path=/org/freedesktop/UDisks; interface=org.freedesktop.UDisks; member=DeviceJobChanged
object path "/org/freedesktop/UDisks/devices/sda4"
boolean true
string "FilesystemMount"
uint32 1000
boolean false
double -1
signal sender=:1.54 -> dest=(null destination) serial=393 path=/org/freedesktop/UDisks; interface=org.freedesktop.UDisks; member=DeviceChanged
object path "/org/freedesktop/UDisks/devices/sda4"
signal sender=:1.54 -> dest=(null destination) serial=395 path=/org/freedesktop/UDisks; interface=org.freedesktop.UDisks; member=DeviceJobChanged
object path "/org/freedesktop/UDisks/devices/sda4"
boolean false
string ""
uint32 0
boolean false
double -1
So the object path would seem to be non-NULL when udisks emits it.
Strange.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nautilus in Ubuntu.
https://bugs.launchpad.net/bugs/908787
Title:
nautilus crashed with SIGSEGV in g_str_hash()
Status in “nautilus” package in Ubuntu:
Confirmed
Bug description:
I can see there are old duplicates of this bug title, with upstream
bugs marked obsolete. Yet, this happened on current Precise. I was
clicking on a disk icon to have it mounted.
I was able to reproduce it once by unmounting the disk in the dock,
then double-clicking on it in a "Computer" window.
ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: nautilus 1:3.2.1-2ubuntu4
ProcVersionSignature: Ubuntu 3.2.0-6.12-generic-pae 3.2.0-rc6
Uname: Linux 3.2.0-6-generic-pae i686
ApportVersion: 1.90-0ubuntu1
Architecture: i386
Date: Mon Dec 26 15:16:34 2011
ExecutablePath: /usr/bin/nautilus
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha i386 (20111225)
ProcCmdline: nautilus -n
ProcEnviron:
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SegvAnalysis:
Segfault happened at: 0xb6ba534a <g_str_hash+10>: movzbl (%ecx),%edx
PC (0xb6ba534a) ok
source "(%ecx)" (0x00000000) not located in a known VMA region (needed readable region)!
destination "%edx" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: nautilus
StacktraceTop:
g_str_hash () from /lib/i386-linux-gnu/libglib-2.0.so.0
g_hash_table_lookup () from /lib/i386-linux-gnu/libglib-2.0.so.0
gdu_pool_get_by_object_path () from /usr/lib/i386-linux-gnu/libgdu.so.0
?? () from /usr/lib/i386-linux-gnu/libgdu.so.0
g_cclosure_marshal_VOID__POINTER () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
Title: nautilus crashed with SIGSEGV in g_str_hash()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/908787/+subscriptions
References