Crashtracker: investigate how we can coexist with libsegfault

Đang mở
#700 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
20/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
rust
Lĩnh vực
operating-systems

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện tương tác giữa libSegFault.so và crashtracking, sau đó kiểm tra hành vi của signal-handler và sigaction liên quan. So sánh cách xử lý faulting-IP lặp lại và timing dựa trên TSC hoặc đường dẫn _exit được đề xuất; được coi là hoàn tất khi đã thiết lập một chiến lược cùng tồn tại được ghi chép, tránh được crash quan sát thấy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

          IMHO, this is the worst possible outcome.  I've actually observed this to occur in a situation where libSegFault.so is layered with crashtracking and the underlying process does some _something_ (I don't yet know).

It isn't clear to me how to prevent this, since it seems that all of the solutions come down to exiting the process or just avoiding responsibility by mutating the sigaction under some condition. I think the best idea I personally have is to use the equivalent of TSC to estimate the amount of off-signal work done between invocations of the handler, and if it's below some threshold then _exit() if the faulting IP matched the previous one.

Originally posted by @sanchda in https://github.com/DataDog/libdatadog/pull/696#discussion_r1819067786

Ngôn ngữ chính
Rust
Star
70
Fork
22
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
103

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DataDog/libdatadog

Tất cả issue của DataDog/libdatadog

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.