I fired the program up in gdb and triggered the error again, and here's what it looks like:
^C Program received signal SIGINT, Interrupt. 0x00007fff833e1eb6 in __semwait_signal () (gdb) step Single stepping until exit from function __semwait_signal, which has no line number information. 0x00007fff83495a8c in cerror () (gdb) step Single stepping until exit from function cerror, which has no line number information. 0x00007fff834e71d4 in dyld_stub_cthread_set_errno_self () (gdb) step Single stepping until exit from function dyld_stub_cthread_set_errno_self, which has no line number information. 0x00007fff833bb9fe in cthread_set_errno_self () (gdb) step Single stepping until exit from function cthread_set_errno_self, which has no line number information. 0x00007fff83495aad in cerror () (gdb) step Single stepping until exit from function cerror, which has no line number information. 0x00007fff833e5cd1 in _pthread_cond_wait () (gdb) step Single stepping until exit from function _pthread_cond_wait, which has no line number information. fuse_sem_wait (sem=0x7fff5fbfe8d8) at fuse_darwin.c:227 227 in fuse_darwin.c (gdb) step 228 in fuse_darwin.c (gdb) I can't seem to find fuse_darwin.c in the subversion repo or on my system anywhere, so I'm a little bit stumped about how to continue debugging this issue. --i On Tue, Oct 12, 2010 at 16:50, Isaac Schlueter <[email protected]> wrote: > I've installed MacFUSE on my macbook pro from > http://code.google.com/p/macfuse/ > > I've got this copy of the "hello world" example filesystem: > http://github.com/isaacs/node-fuse/blob/dev/hello.c > > I compile it without any controversy with this command: > http://github.com/isaacs/node-fuse/blob/dev/Makefile#L3 > > Then I mount a folder and there are no complaints: > mkdir ~/hello-fs > ./hello ~/hello-fs/ > > And when I try to look inside, I get an input/output error: > > $ ls ~/hello-fs/ > ls: /Users/isaacs/hello-fs/: Input/output error > > Other fuse systems seem to work fine (encfs, sshfs). > > I ran this with -d to get more debugging output, and here's > what I found: > > $ ./hello ~/hello-fs -d > unique: 0, opcode: INIT (26), nodeid: 0, insize: 56 > INIT: 7.8 > flags=0x00000000 > max_readahead=0x00100000 > INIT: 7.8 > flags=0x00000000 > max_readahead=0x00100000 > max_write=0x00400000 > unique: 0, error: 0 (Unknown error: 0), outsize: 40 > unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 0, error: 0 (Unknown error: 0), outsize: 96 > unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 0, error: 0 (Unknown error: 0), outsize: 96 > unique: 0, opcode: ACCESS (34), nodeid: 1, insize: 48 > ACCESS / 00 > unique: 0, error: -78 (Function not implemented), outsize: 16 > unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 0, error: 0 (Unknown error: 0), outsize: 128 > unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 1, error: 0 (Unknown error: 0), outsize: 96 > unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 2, error: 0 (Unknown error: 0), outsize: 128 > unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 3, error: 0 (Unknown error: 0), outsize: 96 > unique: 1, error: 0 (Unknown error: 0), outsize: 96 > unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 1, error: 0 (Unknown error: 0), outsize: 96 > unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 3, error: 0 (Unknown error: 0), outsize: 96 > unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 1, error: 0 (Unknown error: 0), outsize: 96 > unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 4, error: 0 (Unknown error: 0), outsize: 96 > unique: 5, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 5, error: 0 (Unknown error: 0), outsize: 96 > unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 3, error: 0 (Unknown error: 0), outsize: 128 > unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 1, error: 0 (Unknown error: 0), outsize: 128 > unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 4, error: 0 (Unknown error: 0), outsize: 128 > unique: 5, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 5, error: 0 (Unknown error: 0), outsize: 128 > unique: 6, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 6, error: 0 (Unknown error: 0), outsize: 96 > unique: 6, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 6, error: 0 (Unknown error: 0), outsize: 128 > unique: 7, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 7, error: 0 (Unknown error: 0), outsize: 128 > unique: 8, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 8, error: 0 (Unknown error: 0), outsize: 96 > unique: 8, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 8, error: 0 (Unknown error: 0), outsize: 128 > unique: 9, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 9, error: 0 (Unknown error: 0), outsize: 96 > unique: 9, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 9, error: 0 (Unknown error: 0), outsize: 128 > unique: 10, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 10, error: 0 (Unknown error: 0), outsize: 128 > unique: 11, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 11, error: 0 (Unknown error: 0), outsize: 128 > unique: 12, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 12, error: 0 (Unknown error: 0), outsize: 128 > unique: 13, opcode: STATFS (17), nodeid: 1, insize: 40 > unique: 13, error: 0 (Unknown error: 0), outsize: 96 > > And then trying to access it: > > $ ls ~/hello-fs/ > unique: 20, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 20, error: 0 (Unknown error: 0), outsize: 128 > unique: 21, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 21, error: 0 (Unknown error: 0), outsize: 128 > ls: /Users/isaacs/hello-fs/: Input/output error > > unique: 22, opcode: GETATTR (3), nodeid: 1, insize: 40 > unique: 22, error: 0 (Unknown error: 0), outsize: 128 > > > > By contrast, running this same code on a Debian machine with libfuse2 > and libfuse-dev installed, I see a flags=0x7b and it works fine. > > $ ./hello ~/hello-fs/ -d > unique: 1, opcode: INIT (26), nodeid: 0, insize: 56 > INIT: 7.13 > flags=0x0000007b > max_readahead=0x00020000 > INIT: 7.8 > flags=0x00000001 > max_readahead=0x00020000 > max_write=0x00020000 > unique: 1, error: 0 (Success), outsize: 40 > > $ ls hello-fs/hello.txt > unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 50 > LOOKUP /hello.txt > NODEID: 2 > unique: 2, error: 0 (Success), outsize: 136 > hello-fs/hello.txt > > So, this seems like it is is clearly a macfuse problem, and not a > libfuse problem. > > Any ideas? > > --i > -- You received this message because you are subscribed to the Google Groups "MacFUSE" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/macfuse?hl=en.
