Сбой FUSE (osxfuse) с сигналами SIGABRT - PullRequest
0 голосов
/ 21 марта 2019

У нас есть приложение на Mac, созданное с использованием Mono, и мы используем osxfuse для монтирования файловой системы и прослушивания операций с файловой системой. Пользователи, использующие наше приложение, случайно замечают сбои. Мы провели анализ с использованием отчетов о сбоях, сгенерированных Mac, и обнаружили, что некоторые из этих сбоев происходят, когда fuse получает вызов fuse_lib_setattr_x и в этом пути кода вызывается abort

Ниже приведен еще один пример, когда мы замечаем сбой приложения при вызове setattr_x: -

Thread 9 Crashed:: tid_c203
0 libsystem_kernel.dylib 0x00007fff59c19b66 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff59de4080 pthread_kill + 333
2 libsystem_c.dylib 0x00007fff59b751ae abort + 127
3 com.Amazon.MyApp 0x000000010fd1ed3b mono_handle_native_crash + 603
4 libsystem_platform.dylib 0x00007fff59dd7f5a _sigtramp + 26
5 ??? 0x0000000116051008 0 + 4664397832
6 libsystem_c.dylib 0x00007fff59b751ae abort + 127
7 libosxfuse.2.dylib 0x00000001160329ef 0x11602c000 + 27119
8 libosxfuse.2.dylib 0x000000011603a340 0x11602c000 + 58176
9 libosxfuse.2.dylib 0x0000000116038d79 0x11602c000 + 52601
10 libosxfuse.2.dylib 0x0000000116040dff 0x11602c000 + 85503
11 libosxfuse.2.dylib 0x000000011603d110 0x11602c000 + 69904
12 libsystem_pthread.dylib 0x00007fff59de1661 _pthread_body + 340
13 libsystem_pthread.dylib 0x00007fff59de150d _pthread_start + 377
14 libsystem_pthread.dylib 0x00007fff59de0bf9 thread_start + 13

atos -o libosxfuse.2.dylib.dSYM/Contents/Resources/DWARF/libosxfuse.2.dylib -l 0x11602c000 0x00000001160329ef 0x000000011603a340 0x0000000116038d79 0x0000000116040dff 0x000000011603d110
fuse_lib_setattr (in libosxfuse.2.dylib) (fuse.c:3224)
get_path_common (in libosxfuse.2.dylib) (fuse.c:1215)
fuse_lib_setattr_x (in libosxfuse.2.dylib) (fuse.c:3092)
fuse_ll_process_buf (in libosxfuse.2.dylib) (fuse_lowlevel.c:2667)
fuse_session_loop (in libosxfuse.2.dylib) (fuse_loop.c:33)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...