Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
32d502e
[wasm] Run browser tests on helix/windows
radekdoulik May 13, 2021
ef7ea1c
Build just wasm/browsertests on helix/windows
radekdoulik May 13, 2021
1040f14
Use $(ChromiumRevision) in windows links
radekdoulik May 13, 2021
8260ac9
Fix conditions
radekdoulik May 13, 2021
6a16b7f
Set PATH differently
radekdoulik May 13, 2021
e8002c7
Use backslash in PATH on windows
radekdoulik May 13, 2021
f72017b
Try different version of chromium
radekdoulik May 13, 2021
1191034
Pass scenario and browser host to build
radekdoulik May 14, 2021
8a91f71
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik May 14, 2021
8807434
Try to get more info from the helix workitems
radekdoulik May 14, 2021
a43618d
Fix dir separator, add broser path
radekdoulik May 17, 2021
e553c38
Create WasmBuildSupportDir
radekdoulik May 17, 2021
7c4b59a
Revert "Try to get more info from the helix workitems"
radekdoulik May 17, 2021
4ae67fc
Put the dir cmds back, fix mkdir call
radekdoulik May 17, 2021
0fe6a6d
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jun 24, 2021
a638cef
More debug info
radekdoulik Jun 25, 2021
92ebb95
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jun 29, 2021
1fb8b71
Bump xharness
radekdoulik Jun 29, 2021
adabbcc
Bump xharness again
radekdoulik Jun 29, 2021
33aa88b
StressLogAnalyzer didn't print the number of messages correctly if it…
PeterSolMS Jun 29, 2021
2830247
Found a race condition where the LOH flag on a segment is set too lat…
PeterSolMS Jun 29, 2021
d961ecd
Try to show the chrome logs
radekdoulik Jun 29, 2021
7d32664
Use different path for chrome logs
radekdoulik Jun 29, 2021
e025629
Use newer image with font for chrome
radekdoulik Jul 2, 2021
cc5cf69
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jul 2, 2021
337f4a2
Increase timeouts
radekdoulik Jul 2, 2021
12b3a23
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jul 9, 2021
50e9a60
Disable tests which timeout
radekdoulik Jul 9, 2021
c520baa
Remove debug calls
radekdoulik Jul 9, 2021
214fbf6
Put back normal scenario
radekdoulik Jul 9, 2021
008ae74
Do not set scenario in build args
radekdoulik Jul 12, 2021
92bfe6a
Add browser sample exclusion
radekdoulik Jul 13, 2021
6fe63ed
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jul 14, 2021
01570ca
Restore the platform matrix
radekdoulik Jul 14, 2021
c833f5d
Remove the wasm build test changes
radekdoulik Jul 14, 2021
60f0f19
Remove duplicate exclusion
radekdoulik Jul 14, 2021
085bd3b
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jul 14, 2021
e4894ef
Suggested property name change
radekdoulik Jul 14, 2021
30a8f09
Fix last merge
radekdoulik Jul 14, 2021
ed966b7
Simplify condition
radekdoulik Jul 15, 2021
f600943
Include chrome and chromedriver in the payload
radekdoulik Jul 15, 2021
17d47d0
Merge remote-tracking branch 'remotes/origin/main' into pr-wasm-windo…
radekdoulik Jul 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Found a race condition where the LOH flag on a segment is set too lat…
…e. This gives another thread the chance to allocate in a fresh LOH region that doesn't have the LOH flag set just yet and trip over an assert in Object::ValidateInner. (#54839)

The fix is simply to set the flag in get_new_region before the region is put on the list for the LOH generation.
  • Loading branch information
PeterSolMS authored and radekdoulik committed Jun 29, 2021
commit 2830247db00c264a3a36a178fbdd0d19106a9e30
29 changes: 26 additions & 3 deletions src/coreclr/gc/gc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5674,9 +5674,17 @@ heap_segment* gc_heap::get_segment_for_uoh (int gen_number, size_t size
#ifdef MULTIPLE_HEAPS
heap_segment_heap (res) = hp;
#endif //MULTIPLE_HEAPS
res->flags |= (gen_number == poh_generation) ?
heap_segment_flags_poh :
heap_segment_flags_loh;

size_t flags = (gen_number == poh_generation) ?
heap_segment_flags_poh :
heap_segment_flags_loh;

#ifdef USE_REGIONS
// in the regions case, flags are set by get_new_region
assert ((res->flags & (heap_segment_flags_loh | heap_segment_flags_poh)) == flags);
#else //USE_REGIONS
res->flags |= flags;
#endif //USE_REGIONS

FIRE_EVENT(GCCreateSegment_V1,
heap_segment_mem(res),
Expand Down Expand Up @@ -28284,6 +28292,21 @@ heap_segment* gc_heap::get_new_region (int gen_number, size_t size)

if (new_region)
{
switch (gen_number)
{
default:
assert ((new_region->flags & (heap_segment_flags_loh | heap_segment_flags_poh)) == 0);
break;

case loh_generation:
new_region->flags |= heap_segment_flags_loh;
break;

case poh_generation:
new_region->flags |= heap_segment_flags_poh;
break;
}

generation* gen = generation_of (gen_number);
heap_segment_next (generation_tail_region (gen)) = new_region;
generation_tail_region (gen) = new_region;
Expand Down