Skip to content

Conversation

@JeffBezanson
Copy link
Member

This might be too heavy-handed, but I'll put it up as an RFC. It looks like it was possible for mi->inInference and/or in_inference to be set by some threads, causing other threads to return NULL from jl_type_infer.

@fredrikekre See if this fixes it for you.

There was also a random missing unlock.

@JeffBezanson JeffBezanson added the multithreading Base.Threads and related functionality label Nov 13, 2019
@JeffBezanson JeffBezanson force-pushed the jb/33338 branch 2 times, most recently from c44ab11 to df1a3fc Compare November 14, 2019 04:12
Copy link
Member

@vtjnash vtjnash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set by some threads

Sounds like we should have a lock for this state also then (in jl_type_infer). This state is probably supposed to be single-threaded boot-strapping only, so it's useful to know that it can get in the way with threads as we improve this area.

@fredrikekre
Copy link
Member

@fredrikekre See if this fixes it for you.

Looks like it, thanks! Backportable?

@KristofferC KristofferC mentioned this pull request Nov 15, 2019
19 tasks
@JeffBezanson JeffBezanson merged commit cf5b905 into master Nov 15, 2019
@JeffBezanson JeffBezanson deleted the jb/33338 branch November 15, 2019 21:08
KristofferC pushed a commit that referenced this pull request Nov 15, 2019
@KristofferC KristofferC mentioned this pull request Nov 29, 2019
18 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

multithreading Base.Threads and related functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants