Getting this when trying to communicate with my ipod touch over sftp. Apr 10 11:44:02 localhost kernel: gvfs-fuse-daemo[31233]: segfault at 24000b90 ip 4043d0 sp 42eecf10 error 4 in gvfs-fuse-daemon[400000+6000]
(gdb) continue Continuing. [New Thread 0x44383950 (LWP 1528)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x43982950 (LWP 31869)] vfs_read (path=<value optimized out>, buf=0x7fb7d4008550 "\001", size=4096, offset=0, fi=<value optimized out>) at gvfsfusedaemon.c:1169 1169 g_mutex_lock (fh->mutex); Current language: auto; currently c (gdb) bg Undefined command: "bg". Try "help". (gdb) bt #0 vfs_read (path=<value optimized out>, buf=0x7fb7d4008550 "\001", size=4096, offset=0, fi=<value optimized out>) at gvfsfusedaemon.c:1169 #1 0x00007fb7dc1c6b25 in fuse_lib_read (req=0x7fb7d40008f0, ino=12, size=4096, off=0, fi=0x43982010) at fuse.c:1959 #2 0x00007fb7dc1cb599 in do_read (req=0x5, nodeid=2, inarg=<value optimized out>) at fuse_lowlevel.c:623 #3 0x00007fb7dc1c8f2f in fuse_do_work (data=<value optimized out>) at fuse_loop_mt.c:100 #4 0x00007fb7db99240a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #5 0x00007fb7db6ff78d in clone () from /lib64/libc.so.6 (gdb) bt full #0 vfs_read (path=<value optimized out>, buf=0x7fb7d4008550 "\001", size=4096, offset=0, fi=<value optimized out>) at gvfsfusedaemon.c:1169 fh = (FileHandle *) 0xd4002600 file = (GFile *) 0xbeca40 result = -5 #1 0x00007fb7dc1c6b25 in fuse_lib_read (req=0x7fb7d40008f0, ino=12, size=4096, off=0, fi=0x43982010) at fuse.c:1959 d = {id = 0, cond = {__data = {__lock = -738197472, __futex = 32695, __total_seq = 140427629338640, __wakeup_seq = 128, __woken_seq = 101056, __mutex = 0x7fb7d4008540, __nwaiters = 3684198816, __broadcast_seq = 32695}, __size = " \000\000Է\177\000\000\020��ڷ\177\000\000\200\000\000\000\000\000\000\000�\212\001\000\000\000\000\000@\205\000Է\177\000\000�i\230۷\177\000", __align = 140427512512544}, finished = -613846662} f = (struct fuse *) 0xb9dd70 path = <value optimized out> buf = 0x1 <Address 0x1 out of bounds> res = <value optimized out> #2 0x00007fb7dc1cb599 in do_read (req=0x5, nodeid=2, inarg=<value optimized out>) at fuse_lowlevel.c:623 fi = {flags = 0, fh_old = 3556779520, writepage = 0, direct_io = 0, keep_cache = 0, flush = 0, padding = 0, fh = 3556779520, lock_owner = 0} #3 0x00007fb7dc1c8f2f in fuse_do_work (data=<value optimized out>) at fuse_loop_mt.c:100 isforget = 0 ch = (struct fuse_chan *) 0xb9ca60 res = 1 w = (struct fuse_worker *) 0xbeaa50 mt = (struct fuse_mt *) 0x7fffe4fc1e00 #4 0x00007fb7db99240a in start_thread (arg=<value optimized out>) at pthread_create.c:297 __res = <value optimized out> pd = (struct pthread *) 0x43982950 unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 2192735663715779268, 0, 3338240, 0, 140427640028736, 2192881691548975812, -2233329917959994684}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <value optimized out> robust = <value optimized out> #5 0x00007fb7db6ff78d in clone () from /lib64/libc.so.6 __elf_set___libc_subfreeres_element_fstab_free__ = (const void *) 0x7fb7db73c7e0 fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0, fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0, fs_passno = 0}}
Is this on a 64bit machine ?
Yes it is. I'm going to jailbreak the ipod in a different way to see if that has any effect upon the ssh mount.
I suspect what you are seeing is #define GET_FILE_HANDLE(fi) (GUINT_TO_POINTER ((guint) (fi)->fh)) #define SET_FILE_HANDLE(fi, fh) ((fi)->fh = (guint64) GPOINTER_TO_UINT (fh)) being not 64-bit clean
Jesse, please try with gvfs-0.2.3-2.fc9 when it finishes building. If that fixes your crash, we should tag it for f9-final.
That makes it a lot more stable in my limited testing. I'd say we're good to tag.