Fixing multithreaded tests#265
Conversation
7b6378d to
bbbd583
Compare
dce04bf to
8e6b075
Compare
664f418 to
b006bf1
Compare
qinsoon
left a comment
There was a problem hiding this comment.
I left some reviews. However, before addressing any of them, I think we should make sure what we do in the PR is reasonable and sound. In particular, there are two questions:
- Why are there tasks that appear in the shadow stack but do not appear in
live_tasks? - For
previnjl_handler_t, why can't we follow it until we see a null pointer?
|
I saw the discussion on Slack.
Though you asked, this question was not answered. |
|
julia-version |
f31578d to
0089158
Compare
This PR aims to fix multithreaded tests as noted in mmtk#179. To fix the issue, we needed to: - Capture all tasks in the shadow stack of other tasks; - Scan/conservatively process `scope`s and references in `__jmpbuf` in `task.eh`.
This PR aims to fix multithreaded tests as noted in #179.
To fix the issue, we needed to make sure we captured all tasks, which is done when allocating a task, and maintaining a list of
all_tasksin the common ptls.