Warum protokolliert Adressanitizer nicht meinen tödlichen Fehler/meinen Fehler nur, wenn Leaksanitizer ausgeschaltet istLinux

Linux verstehen
Anonymous
 Warum protokolliert Adressanitizer nicht meinen tödlichen Fehler/meinen Fehler nur, wenn Leaksanitizer ausgeschaltet ist

Post by Anonymous »

Ich habe ein sehr bizarres Problem mit Asan. Ich arbeite an einem Linux -Daemon, der von Systemd gestartet wird. Meine Asan -Flags sehen so aus: < /p>

Code: Select all

Environment=ASAN_OPTIONS=abort_on_error=1:log_path=%h/.local/share/grd_asan/as_%p.log:symbolize=1:halt_on_error=0:disable_coredump=0:unmap_shadow_on_exit=1:detect_leaks=0
Environment=LSAN_OPTIONS=exitcode=0
Das Problem, das ich habe, ist, dass Asan die Abstürze bei DECTECT_LEAKS = 0 nicht protokolliert, sie jedoch bei DECRECTECT_LEAKS = 1 protokolliert. Als ich zum ersten Mal instrumentierte, war Leaksanitizer standardmäßig eingeschaltet und es log log, aber es war ärgerlich, also musste ich es deaktivieren, damit ich mein tatsächliches Segfault protokollieren konnte, aber als ich dies tat, bekam ich sogar Kern -Dumps, aber keine Asan -Protokolle, bis ich Leaksanitizer wieder eindrehte, aber mit LS. Dies: < /p>
gef➤ bt
#0 0x00007f5b7b368624 in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007f5b7b30fd1e in raise () at /lib64/libc.so.6
#2 0x00007f5b7b2f7942 in abort () at /lib64/libc.so.6
#3 0x00007f5b7c4e210f in __sanitizer::Abort() () at /lib64/libasan.so.8
#4 0x00007f5b7c4f1b8c in __sanitizer::Die() () at /lib64/libasan.so.8
#5 0x00007f5b7c4d9b20 in __sanitizer::ReportFile::ReopenIfNecessary() () at /lib64/libasan.so.8
#6 0x00007f5b7c4e0f3e in __sanitizer::ReportFile::Write(char const*, unsigned long) () at /lib64/libasan.so.8
#7 0x00007f5b7c4e39b5 in __sanitizer::SharedPrintfCodeNoBuffer(bool, char*, int, char const*, __va_list_tag*) [clone .constprop.0] () at /lib64/libasan.so.8
#8 0x00007f5b7c4e3be9 in __sanitizer::SharedPrintfCode(bool, char const*, __va_list_tag*) () at /lib64/libasan.so.8
#9 0x00007f5b7c4e3c95 in __sanitizer::Printf(char const*, ...) () at /lib64/libasan.so.8
#10 0x00007f5b7c4c8ec0 in __asan::ReportDeadlySignal(__sanitizer::SignalContext const&) () at /lib64/libasan.so.8
#11 0x00007f5b7c4c7ecf in __asan::AsanOnDeadlySignal(int, void*, void*) () at /lib64/libasan.so.8
< /code>
Dies würde mir zeigen, dass Asan tatsächlich versucht, das Problem zu protokollieren
Aber ... es ist nicht und das verstehe ich nicht. < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post