diff --git a/NuGet.config b/NuGet.config
index d1b04861eaa70b..ea005c53c77b11 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -10,13 +10,6 @@
-
-
-
-
-
-
-
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index d5701f45f965e7..8b459fa1509561 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -111,9 +111,9 @@
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
@@ -121,69 +121,69 @@
73f0850939d96131c28cf6ea6ee5aacb4da0083a
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
https://github.com/dotnet/runtime-assets
@@ -334,9 +334,9 @@
https://github.com/dotnet/xharness
2195e37696de37d2c2b0f83d73f49c96d9b584de
-
+
https://github.com/dotnet/arcade
- e5b13e054339e41d422212a0ecaf24fec20cb5a1
+ f7fb1fec01b91be69e4dcc5290a0bff3f28e214f
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
diff --git a/eng/Versions.props b/eng/Versions.props
index 5faf5f839ef762..d06793a6fa0dfe 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,11 +1,11 @@
- 8.0.11
+ 8.0.12
8
0
- 11
+ 12
8.0.100
7.0.20
6.0.$([MSBuild]::Add($(PatchVersion),25))
@@ -87,21 +87,21 @@
8.0.100
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 2.5.1-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
- 8.0.0-beta.24508.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 2.5.1-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
+ 8.0.0-beta.24516.1
6.0.0-preview.1.102
diff --git a/eng/common/templates-official/steps/get-delegation-sas.yml b/eng/common/templates-official/steps/get-delegation-sas.yml
index c0e8f91317f077..c690cc0a070cdd 100644
--- a/eng/common/templates-official/steps/get-delegation-sas.yml
+++ b/eng/common/templates-official/steps/get-delegation-sas.yml
@@ -28,7 +28,16 @@ steps:
# Calculate the expiration of the SAS token and convert to UTC
$expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
- $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads
+ # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484
+ $sas = ""
+ do {
+ $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+ } while($sas.IndexOf('/') -ne -1)
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to generate SAS token."
diff --git a/eng/common/templates/steps/get-delegation-sas.yml b/eng/common/templates/steps/get-delegation-sas.yml
index c0e8f91317f077..c690cc0a070cdd 100644
--- a/eng/common/templates/steps/get-delegation-sas.yml
+++ b/eng/common/templates/steps/get-delegation-sas.yml
@@ -28,7 +28,16 @@ steps:
# Calculate the expiration of the SAS token and convert to UTC
$expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
- $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads
+ # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484
+ $sas = ""
+ do {
+ $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+ } while($sas.IndexOf('/') -ne -1)
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to generate SAS token."
diff --git a/global.json b/global.json
index a2a0581ed84a93..4aea1744d82984 100644
--- a/global.json
+++ b/global.json
@@ -8,9 +8,9 @@
"dotnet": "8.0.110"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24508.1",
- "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24508.1",
- "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.24508.1",
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24516.1",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24516.1",
+ "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.24516.1",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0",
"Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6"
diff --git a/src/mono/mono/sgen/sgen-cardtable.c b/src/mono/mono/sgen/sgen-cardtable.c
index 6a662fb605019f..e344ec15fe228f 100644
--- a/src/mono/mono/sgen/sgen-cardtable.c
+++ b/src/mono/mono/sgen/sgen-cardtable.c
@@ -165,6 +165,31 @@ sgen_card_table_wbarrier_range_copy (gpointer _dest, gconstpointer _src, int siz
}
}
+// Marks more cards so that it works with remset consistency debug checks
+static void
+sgen_card_table_wbarrier_range_copy_debug (gpointer _dest, gconstpointer _src, int size)
+{
+ GCObject **dest = (GCObject **)_dest;
+ GCObject **src = (GCObject **)_src;
+
+ size_t nursery_bits = sgen_nursery_bits;
+ char *start = sgen_nursery_start;
+ G_GNUC_UNUSED char *end = sgen_nursery_end;
+
+ while (size) {
+ GCObject *value = *src;
+ *dest = value;
+ if (SGEN_PTR_IN_NURSERY (value, nursery_bits, start, end) || sgen_concurrent_collection_in_progress) {
+ volatile guint8 *card_address = (volatile guint8 *)sgen_card_table_get_card_address ((mword)dest);
+ *card_address = 1;
+ sgen_dummy_use (value);
+ }
+ ++src;
+ ++dest;
+ size -= SIZEOF_VOID_P;
+ }
+}
+
MONO_RESTORE_WARNING
#ifdef SGEN_HAVE_OVERLAPPING_CARDS
@@ -606,7 +631,7 @@ sgen_cardtable_scan_object (GCObject *obj, mword block_obj_size, guint8 *cards,
}
void
-sgen_card_table_init (SgenRememberedSet *remset)
+sgen_card_table_init (SgenRememberedSet *remset, gboolean consistency_checks)
{
sgen_cardtable = (guint8 *)sgen_alloc_os_memory (CARD_COUNT_IN_BYTES, (SgenAllocFlags)(SGEN_ALLOC_INTERNAL | SGEN_ALLOC_ACTIVATE), "card table", MONO_MEM_ACCOUNT_SGEN_CARD_TABLE);
@@ -637,7 +662,10 @@ sgen_card_table_init (SgenRememberedSet *remset)
remset->find_address = sgen_card_table_find_address;
remset->find_address_with_cards = sgen_card_table_find_address_with_cards;
- remset->wbarrier_range_copy = sgen_card_table_wbarrier_range_copy;
+ if (consistency_checks)
+ remset->wbarrier_range_copy = sgen_card_table_wbarrier_range_copy_debug;
+ else
+ remset->wbarrier_range_copy = sgen_card_table_wbarrier_range_copy;
need_mod_union = sgen_get_major_collector ()->is_concurrent;
}
diff --git a/src/mono/mono/sgen/sgen-cardtable.h b/src/mono/mono/sgen/sgen-cardtable.h
index 1ea3055fce085d..e07bc2cf5c0348 100644
--- a/src/mono/mono/sgen/sgen-cardtable.h
+++ b/src/mono/mono/sgen/sgen-cardtable.h
@@ -30,7 +30,7 @@ void sgen_card_table_preclean_mod_union (guint8 *cards, guint8 *cards_preclean,
guint8* sgen_get_card_table_configuration (int *shift_bits, gpointer *mask);
guint8* sgen_get_target_card_table_configuration (int *shift_bits, target_mgreg_t *mask);
-void sgen_card_table_init (SgenRememberedSet *remset);
+void sgen_card_table_init (SgenRememberedSet *remset, gboolean consistency_checks);
/*How many bytes a single card covers*/
#define CARD_BITS 9
diff --git a/src/mono/mono/sgen/sgen-gc.c b/src/mono/mono/sgen/sgen-gc.c
index 5024faa35173cb..5338b9dc5df0a1 100644
--- a/src/mono/mono/sgen/sgen-gc.c
+++ b/src/mono/mono/sgen/sgen-gc.c
@@ -3895,7 +3895,7 @@ sgen_gc_init (void)
memset (&remset, 0, sizeof (remset));
- sgen_card_table_init (&remset);
+ sgen_card_table_init (&remset, remset_consistency_checks);
sgen_register_root (NULL, 0, sgen_make_user_root_descriptor (sgen_mark_normal_gc_handles), ROOT_TYPE_NORMAL, MONO_ROOT_SOURCE_GC_HANDLE, GINT_TO_POINTER (ROOT_TYPE_NORMAL), "GC Handles (SGen, Normal)");