[PATCH] add -l option to gvfs-mount + crash report

View: New views
5 Messages — Rating Filter:   Alert me  

[PATCH] add -l option to gvfs-mount + crash report

by nf2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

This patch adds the -l (list mounts) option to gvfs-mount.

it also demonstrates a weird SIGSEGV when gvfsd is not running (attached
is the valgrind output).

Cheers,
Norbert


 valgrind gvfs-mount -l
==13659== Memcheck, a memory error detector.
==13659== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==13659== Using LibVEX rev 1732, a library for dynamic binary translation.
==13659== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==13659== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation
framework.
==13659== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==13659== For more details, rerun with: -v
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014A53: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==  Address 0x43BCC20 is 64 bytes inside a block of size 65 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014A53: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==  Address 0x43BCC20 is 64 bytes inside a block of size 65 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014BF3: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==  Address 0x43BCC20 is 64 bytes inside a block of size 65 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014BF3: (within /lib/ld-2.6.1.so)
==13659==    by 0x4005BE9: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007A07: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==  Address 0x43BCC20 is 64 bytes inside a block of size 65 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014C09: (within /lib/ld-2.6.1.so)
==13659==    by 0x400710D: (within /lib/ld-2.6.1.so)
==13659==    by 0x400767F: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007D5E: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B806: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B9E6: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010FE3: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==  Address 0x43BCD6C is 36 bytes inside a block of size 38 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x4006F54: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007099: (within /lib/ld-2.6.1.so)
==13659==    by 0x400767F: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007D5E: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B806: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B9E6: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010FE3: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014BF3: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D319: (within /lib/ld-2.6.1.so)
==13659==    by 0x4009826: (within /lib/ld-2.6.1.so)
==13659==    by 0x42E8464: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==13659==    by 0x42E87F9: _dl_sym (in /lib/tls/i686/cmov/libc-2.6.1.so)
==13659==    by 0x40F0DE7: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0D72: dlsym (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED163: g_module_symbol (gmodule-dl.c:147)
==13659==    by 0x40ED671: g_module_open (gmodule.c:484)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==  Address 0x43BCC98 is 64 bytes inside a block of size 65 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x4006F54: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014AF7: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==  Address 0x43BF194 is 76 bytes inside a block of size 78 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014AF7: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==  Address 0x43BF194 is 76 bytes inside a block of size 78 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014C37: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==  Address 0x43BF194 is 76 bytes inside a block of size 78 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014C37: (within /lib/ld-2.6.1.so)
==13659==    by 0x4005BE9: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007A07: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==  Address 0x43BF194 is 76 bytes inside a block of size 78 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x41338F5: g_malloc (gmem.c:131)
==13659==    by 0x414C478: g_strdup (gstrfuncs.c:92)
==13659==    by 0x40ED920: g_module_open (gmodule.c:386)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==    by 0x40DD557: g_type_module_use (gtypemodule.c:190)
==13659==    by 0x407D088: g_io_modules_load_all_in_directory
(giomodule.c:219)
==13659==    by 0x407D1B7: _g_io_modules_ensure_loaded (giomodule.c:260)
==13659==    by 0x4085DE8: get_default_native_class
(gunionvolumemonitor.c:447)
==13659==    by 0x41526C2: g_once_impl (gthread.c:190)
==13659==    by 0x4085C72: get_native_class (gunionvolumemonitor.c:493)
==13659==    by 0x4087068: g_union_volume_monitor_init
(gunionvolumemonitor.c:511)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014BF3: (within /lib/ld-2.6.1.so)
==13659==    by 0x4005BE9: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007A07: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B806: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B9E6: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010FE3: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==  Address 0x43BF660 is 48 bytes inside a block of size 50 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x40058C6: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007DAF: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B806: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x400B9E6: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010FE3: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==
==13659== Invalid read of size 4
==13659==    at 0x4014C37: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D319: (within /lib/ld-2.6.1.so)
==13659==    by 0x4009826: (within /lib/ld-2.6.1.so)
==13659==    by 0x42E8464: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==13659==    by 0x42E87F9: _dl_sym (in /lib/tls/i686/cmov/libc-2.6.1.so)
==13659==    by 0x40F0DE7: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0D72: dlsym (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED163: g_module_symbol (gmodule-dl.c:147)
==13659==    by 0x40ED671: g_module_open (gmodule.c:484)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==  Address 0x43BF214 is 76 bytes inside a block of size 78 alloc'd
==13659==    at 0x4022765: malloc (vg_replace_malloc.c:149)
==13659==    by 0x4006F54: (within /lib/ld-2.6.1.so)
==13659==    by 0x4007949: (within /lib/ld-2.6.1.so)
==13659==    by 0x4010F83: (within /lib/ld-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x401099D: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F0C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x400D015: (within /lib/ld-2.6.1.so)
==13659==    by 0x40F12BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40F0B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==13659==    by 0x40ED588: g_module_open (gmodule-dl.c:99)
==13659==    by 0x407D5F3: g_io_module_load_module (giomodule.c:105)
==13659==
==13659== Jump to the invalid address stated on the next line
==13659==    at 0x0: ???
==13659==    by 0x44C599E: dbus_message_iter_recurse (in
/usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44A8B4A: list_mounts_reply (gmounttracker.c:389)
==13659==    by 0x44C8C90: (within /usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44B8DC2: (within /usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44BA935: dbus_connection_dispatch (in
/usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44A3C0C: dbus_source_dispatch (gdbusutils.c:837)
==13659==    by 0x412B8DB: g_main_context_dispatch (gmain.c:2064)
==13659==    by 0x412ED3E: g_main_context_iterate (gmain.c:2697)
==13659==    by 0x412F0E8: g_main_loop_run (gmain.c:2905)
==13659==    by 0x804929F: main (gvfs-mount.c:233)
==13659==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==13659==
==13659== Process terminating with default action of signal 11 (SIGSEGV)
==13659==  Bad permissions for mapped region at address 0x0
==13659==    at 0x0: ???
==13659==    by 0x44C599E: dbus_message_iter_recurse (in
/usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44A8B4A: list_mounts_reply (gmounttracker.c:389)
==13659==    by 0x44C8C90: (within /usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44B8DC2: (within /usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44BA935: dbus_connection_dispatch (in
/usr/lib/libdbus-1.so.3.3.0)
==13659==    by 0x44A3C0C: dbus_source_dispatch (gdbusutils.c:837)
==13659==    by 0x412B8DB: g_main_context_dispatch (gmain.c:2064)
==13659==    by 0x412ED3E: g_main_context_iterate (gmain.c:2697)
==13659==    by 0x412F0E8: g_main_loop_run (gmain.c:2905)
==13659==    by 0x804929F: main (gvfs-mount.c:233)
==13659==
==13659== ERROR SUMMARY: 34 errors from 13 contexts (suppressed: 56 from 1)
==13659== malloc/free: in use at exit: 138,863 bytes in 2,738 blocks.
==13659== malloc/free: 8,958 allocs, 6,220 frees, 567,337 bytes allocated.
==13659== For counts of detected errors, rerun with: -v
==13659== searching for pointers to 2,738 not-freed blocks.
==13659== checked 320,720 bytes.
==13659==
==13659== LEAK SUMMARY:
==13659==    definitely lost: 1,020 bytes in 85 blocks.
==13659==      possibly lost: 5,088 bytes in 28 blocks.
==13659==    still reachable: 132,755 bytes in 2,625 blocks.
==13659==         suppressed: 0 bytes in 0 blocks.
==13659== Rerun with --leak-check=full to see details of leaked memory.
Segmentation fault (core dumped)
norbert@lili:/space/ablage/playground/instgio$


_______________________________________________
gnome-vfs-list mailing list
gnome-vfs-list@...
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list

Re: [PATCH] add -l option to gvfs-mount + crash report

by nf2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

nf2 wrote:
>
> This patch adds the -l (list mounts) option to gvfs-mount.
>
>  
Sorry - here is the patch:



Index: programs/gvfs-mount.c
===================================================================
--- programs/gvfs-mount.c (revision 1085)
+++ programs/gvfs-mount.c (working copy)
@@ -35,11 +35,13 @@
 
 static gboolean mount_mountable = FALSE;
 static gboolean mount_unmount = FALSE;
+static gboolean mount_list_mounts = FALSE;
 
 static GOptionEntry entries[] =
 {
  { "mountable", 'm', 0, G_OPTION_ARG_NONE, &mount_mountable, "Mount as mountable", NULL },
-        { "unmount", 'u', 0, G_OPTION_ARG_NONE, &mount_unmount, "Unmount", NULL},
+  { "unmount", 'u', 0, G_OPTION_ARG_NONE, &mount_unmount, "Unmount", NULL},
+  { "list-mounts", 'l', 0, G_OPTION_ARG_NONE, &mount_list_mounts, "List Mounts", NULL},
  { NULL }
 };
 
@@ -212,6 +214,58 @@
   outstanding_mounts++;
 }
 
+// =============== list mounts ==================
+
+static GMainLoop *main_loop;
+
+static gboolean iterate_gmain_timeout_function(gpointer data)
+{
+  g_main_loop_quit (main_loop);
+  return FALSE;
+}
+
+static void iterate_gmain()
+{
+  
+  g_timeout_add(500, iterate_gmain_timeout_function, NULL);  
+  
+  main_loop = g_main_loop_new (NULL, FALSE);
+  g_main_loop_run (main_loop);
+  g_main_loop_unref(main_loop);
+}
+
+static void list_mounts()
+{
+  GVolumeMonitor* gVolumeMonitor = g_volume_monitor_get();
+  
+  // populate gvfs network mounts
+  iterate_gmain();
+  
+  {
+    GList* mountList = g_volume_monitor_get_mounts(gVolumeMonitor);
+    GList* el2 = mountList;
+    
+    while(el2)
+    {
+      GMount * gMount = (GMount *) el2->data;
+      
+      char * mountName = g_mount_get_name(gMount);
+      GFile * gFileRoot = g_mount_get_root(gMount);
+      
+      char * pointsToUri = g_file_get_uri(gFileRoot);
+      
+      printf("mountName=%s rootUri=%s\n", mountName, pointsToUri);
+      
+      g_object_unref(gFileRoot);
+      g_free(mountName);
+      g_free(pointsToUri);
+      
+      el2 = g_list_next(el2);
+    }
+  }
+}
+
+
 int
 main (int argc, char *argv[])
 {
@@ -229,6 +283,9 @@
   g_option_context_parse (context, &argc, &argv, &error);
   g_option_context_free (context);
   
+  if (mount_list_mounts)
+    list_mounts();
+  else
   if (argc > 1)
     {
       int i;

_______________________________________________
gnome-vfs-list mailing list
gnome-vfs-list@...
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list

Re: [PATCH] add -l option to gvfs-mount + crash report

by David Zeuthen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Using CamelCase names such as gFileRoot, mountName and so on is probably
not the best idea. Suggest to follow the coding standards.

It would also be useful to display the drives and volumes much like the
side bar in Nautilus current does (see the Nautilus source code for
details), e.g. sorta like this

 Drive0
  Volume0
   Mount0
  Volume1
   Mount1
  Volume2
 Drive1

 Volume_without_drive10
 Volume_without_drive11
  Mount11

 Mount_without_volume20
 Mount_without_volume21

or maybe that's another option. Would also be useful to print out the
details for each of the GDrive, GVolume and GMount objects (maybe
through another option).

      David


_______________________________________________
gnome-vfs-list mailing list
gnome-vfs-list@...
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list

Re: [PATCH] add -l option to gvfs-mount + crash report

by nf2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David Zeuthen wrote:

> Hi,
>
> Using CamelCase names such as gFileRoot, mountName and so on is probably
> not the best idea. Suggest to follow the coding standards.
>
> It would also be useful to display the drives and volumes much like the
> side bar in Nautilus current does (see the Nautilus source code for
> details), e.g. sorta like this
>
>  Drive0
>   Volume0
>    Mount0
>   Volume1
>    Mount1
>   Volume2
>  Drive1
>
>  Volume_without_drive10
>  Volume_without_drive11
>   Mount11
>
>  Mount_without_volume20
>  Mount_without_volume21
>  
Here is a patch which also lists drives and volumes. Additionally it
tries to fix the crash in gmounttracker.c, caused by an empty DBus reply
when gvfsd is not running.

Cheers,
Norbert



Index: common/gmounttracker.c
===================================================================
--- common/gmounttracker.c (revision 1085)
+++ common/gmounttracker.c (working copy)
@@ -386,18 +386,25 @@
   dbus_pending_call_unref (pending);
 
   b = dbus_message_iter_init (reply, &iter);
-  dbus_message_iter_recurse (&iter, &array_iter);
-
-  do
+  if (b && dbus_message_iter_get_arg_type(&iter) == DBUS_TYPE_ARRAY)
     {
-      info = g_mount_info_from_dbus (&array_iter);
-      if (info)
- {
-  g_mount_tracker_add_mount (tracker, info);
-  g_mount_info_unref (info);
- }
+      dbus_message_iter_recurse (&iter, &array_iter);
+    
+      do
+        {
+          info = g_mount_info_from_dbus (&array_iter);
+          if (info)
+     {
+      g_mount_tracker_add_mount (tracker, info);
+      g_mount_info_unref (info);
+     }
+        }
+      while (dbus_message_iter_next (&array_iter));
     }
-  while (dbus_message_iter_next (&array_iter));
+  else
+    {
+      /* list_mounts_reply problem - gvfsd not running? */
+    }
   
   dbus_message_unref (reply);
 }
Index: programs/gvfs-mount.c
===================================================================
--- programs/gvfs-mount.c (revision 1085)
+++ programs/gvfs-mount.c (working copy)
@@ -35,11 +35,13 @@
 
 static gboolean mount_mountable = FALSE;
 static gboolean mount_unmount = FALSE;
+static gboolean mount_list = FALSE;
 
 static GOptionEntry entries[] =
 {
  { "mountable", 'm', 0, G_OPTION_ARG_NONE, &mount_mountable, "Mount as mountable", NULL },
-        { "unmount", 'u', 0, G_OPTION_ARG_NONE, &mount_unmount, "Unmount", NULL},
+  { "unmount", 'u', 0, G_OPTION_ARG_NONE, &mount_unmount, "Unmount", NULL},
+  { "list", 'l', 0, G_OPTION_ARG_NONE, &mount_list, "List", NULL},
  { NULL }
 };
 
@@ -212,6 +214,129 @@
   outstanding_mounts++;
 }
 
+// =============== list mounts ==================
+
+static GMainLoop *main_loop;
+
+const char indentstr[] = "                               ";
+
+#define get_indent_str(x) indentstr + (sizeof(indentstr)-x-1)
+
+static gboolean iterate_gmain_timeout_function(gpointer data)
+{
+  g_main_loop_quit (main_loop);
+  return FALSE;
+}
+
+static void iterate_gmain()
+{
+  g_timeout_add(500, iterate_gmain_timeout_function, NULL);  
+  
+  main_loop = g_main_loop_new (NULL, FALSE);
+  g_main_loop_run (main_loop);
+  g_main_loop_unref(main_loop);
+}
+
+static void list_mounts(GVolumeMonitor* volume_monitor, int indent, GDrive * forDrive, GVolume * forVolume)
+{
+  GList* mount_list = g_volume_monitor_get_mounts(volume_monitor);
+  
+  GList* mount_list_el = mount_list;
+  int c=0;
+  for(;mount_list_el != NULL; mount_list_el = g_list_next(mount_list_el), c++)
+    {
+      GMount * mount = (GMount *) mount_list_el->data;
+
+      if (forDrive && g_mount_get_drive(mount)!=forDrive)
+          continue;
+      if (forVolume && g_mount_get_volume(mount)!=forVolume)
+          continue;
+      if (!forDrive && !forVolume && (g_mount_get_volume(mount) || g_mount_get_drive(mount)))
+          continue;
+      
+      char * mount_uuid = g_mount_get_uuid(mount);
+      char * mount_name = g_mount_get_name(mount);
+      GFile * file_root = g_mount_get_root(mount);
+      
+      char * points_to_uri = g_file_get_uri(file_root);
+      
+      printf("%sMount(%d) : %s -> %s\n", get_indent_str(indent), c, mount_name, points_to_uri);
+      
+      g_object_unref(file_root);
+      g_free(mount_uuid);
+      g_free(mount_name);
+      g_free(points_to_uri);
+    }
+}
+
+
+static void list_volumes(GVolumeMonitor* volume_monitor, int indent, GDrive * forDrive)
+{
+  
+  GList* volume_list = g_volume_monitor_get_volumes(volume_monitor);
+  GList* volume_list_el = volume_list;
+  
+  int c=0;
+  for(;volume_list_el!=NULL;volume_list_el = g_list_next(volume_list_el), c++)
+    {
+      GVolume * volume = (GVolume *) volume_list_el->data;
+
+      if (forDrive && g_volume_get_drive(volume)!=forDrive)
+          continue;
+      if (!forDrive && g_volume_get_drive(volume))
+          continue;
+      
+      char * volume_name = g_volume_get_name(volume);
+      
+      printf("%sVolume(%d) : %s\n", get_indent_str(indent), c, volume_name);
+      g_free(volume_name);
+      
+      list_mounts(volume_monitor, indent+2, NULL, volume);      
+      
+    }  
+}
+
+
+static void list_drives(GVolumeMonitor* volume_monitor, int indent)
+{
+  GList* drive_list = g_volume_monitor_get_connected_drives(volume_monitor);
+  
+  GList* drive_list_el = drive_list;
+  
+  int c=0;
+  while(drive_list_el)
+    {
+      GDrive * drive = (GDrive *) drive_list_el->data;
+
+      char * drive_name = g_drive_get_name(drive);
+      
+      printf("%sDrive(%d) : %s\n", get_indent_str(indent), c, drive_name);
+      g_free(drive_name);
+
+      list_mounts(volume_monitor, indent+2, drive, NULL);
+      list_volumes(volume_monitor, indent+2, drive);
+      
+      drive_list_el = g_list_next(drive_list_el);
+      c++;
+    }
+}
+
+
+
+static void list_monitor_items()
+{
+  GVolumeMonitor* volume_monitor = g_volume_monitor_get();
+  
+  // populate gvfs network mounts
+  iterate_gmain();
+
+  list_drives(volume_monitor, 0);
+  list_volumes(volume_monitor, 0, NULL);
+  list_mounts(volume_monitor, 0, NULL, NULL);
+  
+}
+
+
 int
 main (int argc, char *argv[])
 {
@@ -229,6 +354,9 @@
   g_option_context_parse (context, &argc, &argv, &error);
   g_option_context_free (context);
   
+  if (mount_list)
+    list_monitor_items();
+  else
   if (argc > 1)
     {
       int i;

_______________________________________________
gnome-vfs-list mailing list
gnome-vfs-list@...
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list

Re: [PATCH] add -l option to gvfs-mount + crash report

by Alexander Larsson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Wed, 2008-01-09 at 21:32 +0100, nf2 wrote:

> David Zeuthen wrote:
> > Hi,
> >
> > Using CamelCase names such as gFileRoot, mountName and so on is probably
> > not the best idea. Suggest to follow the coding standards.
> >
> > It would also be useful to display the drives and volumes much like the
> > side bar in Nautilus current does (see the Nautilus source code for
> > details), e.g. sorta like this
> >
> >  Drive0
> >   Volume0
> >    Mount0
> >   Volume1
> >    Mount1
> >   Volume2
> >  Drive1
> >
> >  Volume_without_drive10
> >  Volume_without_drive11
> >   Mount11
> >
> >  Mount_without_volume20
> >  Mount_without_volume21
> >  
> Here is a patch which also lists drives and volumes. Additionally it
> tries to fix the crash in gmounttracker.c, caused by an empty DBus reply
> when gvfsd is not running.

I fixed up this a bit and commited it. It also has an extra -i argument
to show more info about the objects.


_______________________________________________
gnome-vfs-list mailing list
gnome-vfs-list@...
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list