Unnamed snapshot seems to cause "ori status" to break the filesystem

Issue #14 new
fpbhb created an issue

After creating an unnamed snapshot using "ori snapshot" (which was my naive attempt to force a commit), the "ori status" command fails with "status failed with an unknown error!". After that the mount is broken, and a simple "ls" fails with "ls: .: Device not configured". Recovery is possible by "umount <mountpoint>" and re-issuing "orifs <name>".

Seen on OS X 10.9.1

Comments (4)

  1. John Holmes

    I have a similar issue with a named snapshot where orifs dumps core when I try to do anything with the /.snapshot directory.

    This is a brand new ori filesystem with just 1 file in it. I created the file, then made the snapshot using:

    $ ori newfs Ori
    $ orifs Ori
    $ touch README.md
    $ ori snapshot FIRST
    
    john at johnmac in /Ori
    $ cd .snapshot
    
    <ori dumps core here>
    
    john at johnmac in /Ori/.snapshot
    $ ll
    ls: .: Device not configured
    

    Here's the backtrace and preceding opcodes from --debug:

    #!
    
    unique: 38, opcode: GETATTR (3), nodeid: 3, insize: 40
       unique: 38, error: 0 (Undefined error: 0), outsize: 128
    unique: 0, opcode: LOOKUP (1), nodeid: 3, insize: 45
    LOOKUP /.snapshot/.git
    Signal Caught: 11
    Backtrace:
    [0] 0   orifs                               0x000000010e8a8ebc _Z14ori_sighandleri + 60
    [1] 1   libsystem_platform.dylib            0x00007fff9005e5aa _sigtramp + 26
    [2] 2   ???                                 0x0000000000000000 0x0 + 0
    [3] 3   orifs                               0x000000010e8517ba _ZN7OriPriv14lookupSnapshotERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE + 74
    [4] 4   orifs                               0x000000010e84ad49 _ZL11ori_getattrPKcP4stat + 665
    [5] 5   libosxfuse_i64.2.dylib              0x000000010eb52488 lookup_path + 136
    [6] 6   libosxfuse_i64.2.dylib              0x000000010eb4c2c9 fuse_lib_lookup + 313
    [7] 7   libosxfuse_i64.2.dylib              0x000000010eb55615 do_lookup + 37
    [8] 8   libosxfuse_i64.2.dylib              0x000000010eb554cb fuse_ll_process + 715
    [9] 9   libosxfuse_i64.2.dylib              0x000000010eb53c79 fuse_session_loop + 185
    [10] 10  libosxfuse_i64.2.dylib              0x000000010eb588d2 fuse_main_real + 82
    [11] 11  orifs                               0x000000010e8472c6 main + 2854
    [12] 12  libdyld.dylib                       0x00007fff8e7f25fd start + 1
    [13] 13  ???                                 0x0000000000000003 0x0 + 3
    [1]    47171 abort      orifs --debug Ori
    
  2. Ali Mashtizadeh

    Need to look into this it seems Mac tries to open various files and directories when you visit a new directory. Accessing these file paths inside the '.snapshot' causes the crash. Need a bit more time to test it then I will commit the fix.

  3. Log in to comment