Skip to content

thread analysis requires context-sensitive threadids #1615

Closed
@michael-schwarz

Description

@michael-schwarz

As discovered by @Red-Panda64, the old thread analysis assumes we have context-sensitive thread ids activated when doing a threadenter which we know to be mutliple (c.f. #1187)

let threadenter ctx ~multiple lval f args =
if multiple then
(let tid = ThreadId.get_current_unlift (Analyses.ask_of_ctx ctx) in
ctx.sideg tid (true, TS.bot (), false));
[D.bot ()]

Another call to ThreadId.get_current_unlift is in thread_spawn for the spawned thread. However, this may be correct as we would still have a non-top thread id for the created thread at this point (?)

https://github.com/goblint/analyzer/blame/750f1ee274a00d6614cd2141f302ce551b094d57/src/analyses/threadAnalysis.ml#L103-L113

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions