Git Product home page Git Product logo

rhizofs's People

Contributors

nmandery avatar oliverkurth avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

rhizofs's Issues

does not update file stamp

Edit a file in mounted directory using a text editor, notice that changes are updated but not the timestamp. GThis filke was just updated:

okurth@photon-ova-uefi [ ~/projects/tdnf ]$  (topic/okurth/history)$ ls -l history/history.c 
-rw-r----- 1 okurth users 23137 Apr 15 23:37 history/history.c
okurth@photon-ova-uefi [ ~/projects/tdnf ]$  (topic/okurth/history)$ date
Mon Apr 18 20:34:47 UTC 2022

This is an issue when using make.

rhizofs crashes on MacOS when a server public key is used for encryption

This seems to be limited to MacOS, and only happens with encryption. Furthermore, from the lldb output it's also limited to the case where no keypair is set for the client, so it generates its own on the fly. I finally got some data to work on:

Process 22704 resuming
Process 22704 stopped
* thread #10, stop reason = signal SIGABRT
    frame #0: 0x00007ff80a1e1202 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`:
->  0x7ff80a1e1202 <+10>: jae    0x7ff80a1e120c            ; <+20>
    0x7ff80a1e1204 <+12>: movq   %rax, %rdi
    0x7ff80a1e1207 <+15>: jmp    0x7ff80a1daceb            ; cerror_nocancel
    0x7ff80a1e120c <+20>: retq   
Target 0: (rhizofs) stopped.
(lldb) bt
* thread #10, stop reason = signal SIGABRT
  * frame #0: 0x00007ff80a1e1202 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007ff80a218ee6 libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x00007ff80a13fb45 libsystem_c.dylib`abort + 123
    frame #3: 0x000000010909bfdf libsodium.23.dylib`sodium_misuse + 63
    frame #4: 0x00000001090a61f7 libsodium.23.dylib`randombytes_sysrandom_buf + 160
    frame #5: 0x0000000109084e5b libsodium.23.dylib`crypto_box_curve25519xsalsa20poly1305_keypair + 26
    frame #6: 0x0000000108fdcba3 libzmq.5.dylib`zmq_curve_keypair + 61
    frame #7: 0x0000000108ea68af rhizofs`create_socket(ctx=<unavailable>, type=<unavailable>, server_public_key="K%aa{YTm3[k8Zg:jz.dW<Dz*aZU]tI>u]M!}2Pks", client_public_key=0x0000000000000000, client_secret_key=0x0000000000000000) at socketpool.c:112:13 [opt]
    frame #8: 0x0000000108ea6abf rhizofs`SocketPool_get_socket(sp=0x0000000108eb52a8) at socketpool.c:145:16 [opt]
    frame #9: 0x0000000108ea2b78 rhizofs`Rhizofs_communicate(req=0x00007000067273a0, err=0x0000700006727414, socket_to_use=0x0000000000000000, check_fuse_interrupts=true) at rhizofs.c:193:16 [opt]
    frame #10: 0x0000000108ea5680 rhizofs`Rhizofs_statfs(path="/", svfs=0x0000700006727540) at rhizofs.c:910:5 [opt]
    frame #11: 0x0000000108f46fd2 libfuse.2.dylib`___lldb_unnamed_symbol328 + 34
    frame #12: 0x0000000108f46f90 libfuse.2.dylib`fuse_fs_statfs + 96
    frame #13: 0x0000000108f5d147 libfuse.2.dylib`___lldb_unnamed_symbol830 + 55
    frame #14: 0x0000000108f46fd2 libfuse.2.dylib`___lldb_unnamed_symbol328 + 34
    frame #15: 0x0000000108f46f90 libfuse.2.dylib`fuse_fs_statfs + 96
    frame #16: 0x0000000108f4be81 libfuse.2.dylib`___lldb_unnamed_symbol393 + 209
    frame #17: 0x0000000108f538d9 libfuse.2.dylib`___lldb_unnamed_symbol557 + 25
    frame #18: 0x0000000108f52c75 libfuse.2.dylib`___lldb_unnamed_symbol528 + 1077
    frame #19: 0x0000000108f559b9 libfuse.2.dylib`fuse_session_process_buf + 25
    frame #20: 0x0000000108f50b16 libfuse.2.dylib`___lldb_unnamed_symbol498 + 326
    frame #21: 0x00007ff80a2191d3 libsystem_pthread.dylib`_pthread_start + 125
    frame #22: 0x00007ff80a214bd3 libsystem_pthread.dylib`thread_start + 15
(lldb) 

Command line was: rhizofs -f --pubkeyfile=/Users/okurth/.config/rhizofs/ubuntu2-devel.key tcp://192.168.249.164:1234 ./ubuntu2-devel

Somehow it runs into this:

    frame #3: 0x000000010909bfdf libsodium.23.dylib`sodium_misuse + 63

but following the code in libsodium I wasn't able to find where sodium_misuse() is called and why. The function calls abort() unless a handler is set.

Only observed on MacOS with

% gcc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: x86_64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
% brew list libsodium
/usr/local/Cellar/libsodium/1.0.18_1/include/sodium/ (62 files)
/usr/local/Cellar/libsodium/1.0.18_1/include/sodium.h
/usr/local/Cellar/libsodium/1.0.18_1/lib/libsodium.23.dylib
/usr/local/Cellar/libsodium/1.0.18_1/lib/pkgconfig/libsodium.pc
/usr/local/Cellar/libsodium/1.0.18_1/lib/ (2 other files)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.