Skip to content

task tracer 信号追踪问题讨论 #3015

Description

@CodeZHXS

task tracer 目前有 ContextTraceSignalTrace 两种回溯方式,SignalTrace 将信号发送给目标进程,目标进程处理信号的同时,将运行上下文 context 发送给 SignalTrace 的进程。

SignalHandler 函数启用了一个超时的时间(默认是 50ms),如果回溯超时,SignalHandler 会直接退出并结束。

Image

这种方式会不会存在问题?例如,如果 SignalTraceunw_init_local 之前,SignalHandler 就超时并退出了,这样的话 context 的内容难以保证不被修改,unw_init_local 可能会失败,或者存在 crash 的问题

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions