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)");