Closed dana closed 12 years ago
Hm, I'm running Ubuntu 11.10 x86_64 too; same version of fuse. Could you please run it under gdb and post the backtrace?
Thanks.
I am getting a similar error:
(gdb) r mount gitdir/ mountp/
Starting program: ./phoenixfs mount gitdir/ mountp/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x0000000000404af1 in phoenixfs_fuse (argc=4, argv=0x7fffffffe358) at fuse.c:654
654 while (!iter->is_leaf)
(gdb) backtrace
#0 0x0000000000404af1 in phoenixfs_fuse (argc=4, argv=0x7fffffffe358) at fuse.c:654
#1 0x00000000004022ff in main (argc=4, argv=0x7fffffffe358) at main.c:99
(gdb)
It seems to occur because fsroot
and iter
are NULL. I think it would work if you had an existing fstree, but not if you are trying to make a new one.
Silly bug- fixed now.
Thanks.
Thanks! I found a crash bug just now, I'll post the details tomorrow. Eh, I'll make a bug with the gross commands and put details in tomorrow.
dana@hithlum:~/fs$ git clone git://github.com/artagnon/phoenixfs.git Cloning into phoenixfs... remote: Counting objects: 453, done. remote: Compressing objects: 100% (198/198), done. remote: Total 453 (delta 293), reused 405 (delta 249) Receiving objects: 100% (453/453), 137.69 KiB, done. Resolving deltas: 100% (293/293), done. dana@hithlum:~/fs$ cd phoenixfs/ dana@hithlum:~/fs/phoenixfs$ git show | head -1 commit 0404ac7cdfcd6b4410504657cb95a86b0a613264 dana@hithlum:~/fs/phoenixfs$ make
gcc -g -O0 -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -c -o xdiff/xmerge.o xdiff/xmerge.c gcc -g -O0 -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -c -o xdiff/xpatience.o xdiff/xpatience.c rm -f xdiff/lib.a && ar rcs xdiff/lib.a xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o xdiff/xmerge.o xdiff/xpatience.o CC block-sha1/sha1.o rm -f block-sha1/lib.a && ar rcs block-sha1/lib.a block-sha1/sha1.o LINK phoenixfs dana@hithlum:~/fs/phoenixfs$ cd /tmp dana@hithlum:/tmp$ mkdir gitdir mountp dana@hithlum:/tmp$ ~/fs/phoenixfs/phoenixfs mount gitdir mountp Segmentation fault dana@hithlum:/tmp$ strace ~/fs/phoenixfs/phoenixfs mount gitdir mountp 2> strace.out Segmentation fault dana@hithlum:/tmp$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.10 DISTRIB_CODENAME=oneiric DISTRIB_DESCRIPTION="Ubuntu 11.10" dana@hithlum:/tmp$ uname -a Linux hithlum 3.0.0-24-generic #40-Ubuntu SMP Tue Jul 24 15:38:25 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux dana@hithlum:/tmp$ dpkg -l|grep fuse ii fuse-utils 2.8.4-1.4ubuntu1 Filesystem in USErspace (utilities) ii gvfs-fuse 1.10.0-0ubuntu1.1 userspace virtual filesystem - fuse server ii libfuse-dev 2.8.4-1.4ubuntu1 Filesystem in USErspace (development files) ii libfuse2 2.8.4-1.4ubuntu1 Filesystem in USErspace library dana@hithlum:/tmp$ tail -20 strace.out lstat("/tmp/mountp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 lstat("/tmp/mountp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 access("/tmp/mountp", R_OK|W_OK|X_OK) = 0 mkdir("/tmp/gitdir/.git", 0700) = -1 EEXIST (File exists) lstat("/tmp/gitdir/.git", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 access("/tmp/gitdir/.git", R_OK|W_OK|X_OK) = 0 mkdir("/tmp/gitdir/.git/loose", 0700) = -1 EEXIST (File exists) lstat("/tmp/gitdir/.git/loose", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 access("/tmp/gitdir/.git/loose", R_OK|W_OK|X_OK) = 0 open("/tmp/phoenixfs.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3 fstat(3, {st_mode=S_IFREG|0664, st_size=426, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208e3f6000 fstat(3, {st_mode=S_IFREG|0664, st_size=426, ...}) = 0 lseek(3, 426, SEEK_SET) = 426 write(3, "l. 640: phoenixfs_fuse:: fsback"..., 71) = 71 close(3) = 0 munmap(0x7f208e3f6000, 4096) = 0 access("/tmp/gitdir/.git/fstree", F_OK) = -1 ENOENT (No such file or directory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ dana@hithlum:/tmp$