Ticket #5584 (closed: fixed)
Eliminate data race conditions found by helgrind
Reported by: | Martyn Gigg | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | major | Milestone: | Release 2.2 |
Component: | Mantid | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Russell Taylor |
Description
Change History
comment:2 Changed 8 years ago by Martyn Gigg
Fix algorithms comparing for ptr indentity. Refs #5584
Changeset: 31aa681d1dfd998665f9a6210a64d972b96a507e
comment:3 Changed 8 years ago by Martyn Gigg
Fix race condition in Unit.cpp Refs #5584
The static quick conversion map mutated within a parallel loop, see AnvredCorrection, so it needs to be protected by a critical block
Changeset: ac5d62ce9eed091313374722281d0ac251996525
comment:4 Changed 8 years ago by Martyn Gigg
Possibly help memory allocation on Win32. Refs #5584
Changeset: 4f30e1e55a9016ae12af0f41d8ca42d181262491
comment:5 Changed 8 years ago by Martyn Gigg
Pure formatting changes before actual updates. Refs #5584
Changeset: 798951a8f389a8f1dfb52cd1638e885283e55120
comment:6 Changed 8 years ago by Martyn Gigg
Remove a race condition with MuonRemoveExpDecay. Refs #5584
Changeset: f86d2a0ca7435b75838e8a260191845573b29a95
comment:7 Changed 8 years ago by Martyn Gigg
The UnitFactory no longer caches an object for each unit. Refs #5584
Updating the map of objects was not thread-safe and the units now have state meaning that it is best to have a new object for each create call.
Changeset: cb846171f4bbc5c264397af5794a1656c344e1a7
comment:8 Changed 8 years ago by Martyn Gigg
Fix algorithms comparing for ptr indentity. Refs #5584
Changeset: 31aa681d1dfd998665f9a6210a64d972b96a507e
comment:9 Changed 8 years ago by Martyn Gigg
Fix race condition in Unit.cpp Refs #5584
The static quick conversion map mutated within a parallel loop, see AnvredCorrection, so it needs to be protected by a critical block
Changeset: ac5d62ce9eed091313374722281d0ac251996525
comment:10 Changed 8 years ago by Martyn Gigg
Possibly help memory allocation on Win32. Refs #5584
Changeset: 4f30e1e55a9016ae12af0f41d8ca42d181262491
comment:11 Changed 8 years ago by Martyn Gigg
Pure formatting changes before actual updates. Refs #5584
Changeset: 798951a8f389a8f1dfb52cd1638e885283e55120
comment:12 Changed 8 years ago by Martyn Gigg
Remove a race condition with MuonRemoveExpDecay. Refs #5584
Changeset: f86d2a0ca7435b75838e8a260191845573b29a95
comment:14 Changed 8 years ago by Martyn Gigg
- Status changed from accepted to verify
- Resolution set to fixed
comment:15 Changed 8 years ago by Martyn Gigg
I'm sure they are not all gone but fewer system tests seem to randomly fail now, most notably the Diffraction_Workflow_Test.py hasn't failed since these things were fixed.
comment:16 Changed 8 years ago by Russell Taylor
- Status changed from verify to verifying
- Tester set to Russell Taylor
comment:17 Changed 8 years ago by Russell Taylor
Re #5584. Fix another place that's comparing unit pointers.
Changeset: 893894beabee4b9160f3b7d9e78d912d13cebf2e
comment:18 Changed 8 years ago by Russell Taylor
- Status changed from verifying to closed
Looks good. Found a couple more places that were testing unit equality by pointer. Fixed one. The other, in SplineBackgroundTest highlights an issue with copying Axis objects because it passes when it might be expected not to. I made a note in #3775.
comment:19 Changed 8 years ago by Russell Taylor
Re #5584. Fix another place that's comparing unit pointers.
Changeset: 893894beabee4b9160f3b7d9e78d912d13cebf2e
comment:20 Changed 8 years ago by Russell Taylor
Re #5584. Fix another place that's comparing unit pointers.
Changeset: 893894beabee4b9160f3b7d9e78d912d13cebf2e
comment:21 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 6430
The UnitFactory no longer caches an object for each unit. Refs #5584
Updating the map of objects was not thread-safe and the units now have state meaning that it is best to have a new object for each create call.