From 3c3d98e355a41b519c80bceae04bb45776704f33 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:33:09 +0000 Subject: [PATCH 01/10] Initial plan From 799bcae68d044af9a0412a451ac51436d4615a21 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:46:25 +0000 Subject: [PATCH 02/10] Add diagnostic logging for userevents investigation (#123442) - Add --log-mode verbose and --log-filter * to record-trace invocation - Set DOTNET_DiagnosticServerDiag=1 on tracee process for runtime logging - Add fprintf diagnostic logging to ds-server.c (IPC command handling) - Add fprintf diagnostic logging to ep-session-provider.c (tracepoint registration) - Add fprintf diagnostic logging to ep-session.c (tracepoint write) Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- src/native/eventpipe/ds-server.c | 21 +++++++++ src/native/eventpipe/ep-session-provider.c | 44 ++++++++++++++++--- src/native/eventpipe/ep-session.c | 28 +++++++++++- .../userevents/common/UserEventsTestRunner.cs | 8 ++++ 4 files changed, 93 insertions(+), 8 deletions(-) diff --git a/src/native/eventpipe/ds-server.c b/src/native/eventpipe/ds-server.c index a89f757970167c..bf5c728b6750b9 100644 --- a/src/native/eventpipe/ds-server.c +++ b/src/native/eventpipe/ds-server.c @@ -12,6 +12,20 @@ #include "ds-dump-protocol.h" #include "ds-profiler-protocol.h" #include "ds-rt.h" +#include +#include + +// Temporary diagnostic logging for userevents investigation (https://github.com/dotnet/runtime/issues/123442). +// Enabled when DOTNET_DiagnosticServerDiag=1 is set. +static int ds_diag_enabled = -1; // -1 = uninitialized +static inline int ds_diag_is_enabled (void) { + if (ds_diag_enabled == -1) { + const char *val = getenv ("DOTNET_DiagnosticServerDiag"); + ds_diag_enabled = (val != NULL && val[0] == '1') ? 1 : 0; + } + return ds_diag_enabled; +} +#define DS_DIAG_LOG(...) do { if (ds_diag_is_enabled ()) { fprintf (stderr, "[DS_DIAG] " __VA_ARGS__); fflush (stderr); } } while (0) /* * Globals and volatile access functions. @@ -119,6 +133,8 @@ static size_t server_loop_tick (void* data) { if (!stream) return 0; // continue + DS_DIAG_LOG ("server_loop_tick: obtained IPC stream.\n"); + ds_rt_auto_trace_signal (); DiagnosticsIpcMessage message; @@ -126,6 +142,7 @@ static size_t server_loop_tick (void* data) { return 0; // continue if (!ds_ipc_message_initialize_stream (&message, stream)) { + DS_DIAG_LOG ("server_loop_tick: failed to initialize stream (bad encoding).\n"); ds_ipc_message_send_error (stream, DS_IPC_E_BAD_ENCODING); ds_ipc_stream_free (stream); ds_ipc_message_fini (&message); @@ -136,6 +153,7 @@ static size_t server_loop_tick (void* data) { (const ep_char8_t *)ds_ipc_header_get_magic_ref (ds_ipc_message_get_header_ref (&message)), (const ep_char8_t *)DOTNET_IPC_V1_MAGIC) != 0) { + DS_DIAG_LOG ("server_loop_tick: unknown magic header.\n"); ds_ipc_message_send_error (stream, DS_IPC_E_UNKNOWN_MAGIC); ds_ipc_stream_free (stream); ds_ipc_message_fini (&message); @@ -143,12 +161,14 @@ static size_t server_loop_tick (void* data) { } DS_LOG_INFO_2 ("DiagnosticServer - received IPC message with command set (%d) and command id (%d)", ds_ipc_header_get_commandset (ds_ipc_message_get_header_ref (&message)), ds_ipc_header_get_commandid (ds_ipc_message_get_header_ref (&message))); + DS_DIAG_LOG ("server_loop_tick: received IPC command set=%d, command id=%d.\n", (int)ds_ipc_header_get_commandset (ds_ipc_message_get_header_ref (&message)), (int)ds_ipc_header_get_commandid (ds_ipc_message_get_header_ref (&message))); switch ((DiagnosticsServerCommandSet)ds_ipc_header_get_commandset (ds_ipc_message_get_header_ref (&message))) { case DS_SERVER_COMMANDSET_DUMP: ds_dump_protocol_helper_handle_ipc_message (&message, stream); break; case DS_SERVER_COMMANDSET_EVENTPIPE: + DS_DIAG_LOG ("server_loop_tick: dispatching EVENTPIPE command.\n"); ds_eventpipe_protocol_helper_handle_ipc_message (&message, stream); break; case DS_SERVER_COMMANDSET_PROFILER: @@ -158,6 +178,7 @@ static size_t server_loop_tick (void* data) { ds_process_protocol_helper_handle_ipc_message (&message, stream); break; default: + DS_DIAG_LOG ("server_loop_tick: unknown command set %d.\n", (int)ds_ipc_header_get_commandset (ds_ipc_message_get_header_ref (&message))); server_protocol_helper_unknown_command (&message, stream); break; } diff --git a/src/native/eventpipe/ep-session-provider.c b/src/native/eventpipe/ep-session-provider.c index 936899066fae79..a8e0174a304b92 100644 --- a/src/native/eventpipe/ep-session-provider.c +++ b/src/native/eventpipe/ep-session-provider.c @@ -6,11 +6,27 @@ #define EP_IMPL_SESSION_PROVIDER_GETTER_SETTER #include "ep-session-provider.h" #include "ep-rt.h" +#include +#include +#include #if HAVE_SYS_IOCTL_H #include // session_register_tracepoint +#include #endif // HAVE_SYS_IOCTL_H +// Temporary diagnostic logging for userevents investigation (https://github.com/dotnet/runtime/issues/123442). +// Enabled when DOTNET_DiagnosticServerDiag=1 is set. +static int ep_sp_diag_enabled = -1; // -1 = uninitialized +static inline int ep_sp_diag_is_enabled (void) { + if (ep_sp_diag_enabled == -1) { + const char *val = getenv ("DOTNET_DiagnosticServerDiag"); + ep_sp_diag_enabled = (val != NULL && val[0] == '1') ? 1 : 0; + } + return ep_sp_diag_enabled; +} +#define EP_SP_DIAG_LOG(...) do { if (ep_sp_diag_is_enabled ()) { fprintf (stderr, "[EP_SP_DIAG] " __VA_ARGS__); fflush (stderr); } } while (0) + /* * Forward declares of all static functions. */ @@ -163,10 +179,15 @@ session_provider_tracepoint_register ( reg.name_args = (uint64_t)tracepoint->tracepoint_format; - if (ioctl(user_events_data_fd, DIAG_IOCSREG, ®) == -1) + EP_SP_DIAG_LOG ("tracepoint_register: registering tracepoint format='%s', fd=%d.\n", tracepoint->tracepoint_format ? tracepoint->tracepoint_format : "(null)", user_events_data_fd); + + if (ioctl(user_events_data_fd, DIAG_IOCSREG, ®) == -1) { + EP_SP_DIAG_LOG ("tracepoint_register: ioctl DIAG_IOCSREG failed, errno=%d (%s).\n", errno, strerror (errno)); return false; + } tracepoint->write_index = reg.write_index; + EP_SP_DIAG_LOG ("tracepoint_register: success, write_index=%u.\n", (unsigned)reg.write_index); return true; } @@ -227,28 +248,39 @@ ep_session_provider_register_tracepoints ( EP_ASSERT (session_provider != NULL); EP_ASSERT (user_events_data_fd != -1); - if (user_events_data_fd < 0) + if (user_events_data_fd < 0) { + EP_SP_DIAG_LOG ("register_tracepoints: invalid fd=%d.\n", user_events_data_fd); return false; + } EventPipeSessionProviderTracepointConfiguration *tracepoint_config = session_provider->tracepoint_config; - if (tracepoint_config == NULL) + if (tracepoint_config == NULL) { + EP_SP_DIAG_LOG ("register_tracepoints: tracepoint_config is NULL.\n"); return false; + } - if (tracepoint_config->default_tracepoint.tracepoint_format == NULL && tracepoint_config->tracepoints == NULL) + if (tracepoint_config->default_tracepoint.tracepoint_format == NULL && tracepoint_config->tracepoints == NULL) { + EP_SP_DIAG_LOG ("register_tracepoints: no tracepoints configured (both default and list are NULL).\n"); return false; + } if (tracepoint_config->default_tracepoint.tracepoint_format != NULL && - !session_provider_tracepoint_register (&tracepoint_config->default_tracepoint, user_events_data_fd)) + !session_provider_tracepoint_register (&tracepoint_config->default_tracepoint, user_events_data_fd)) { + EP_SP_DIAG_LOG ("register_tracepoints: default tracepoint registration failed.\n"); return false; + } if (tracepoint_config->tracepoints != NULL) { DN_VECTOR_PTR_FOREACH_BEGIN (EventPipeSessionProviderTracepoint *, tracepoint, tracepoint_config->tracepoints) { EP_ASSERT (tracepoint != NULL); - if (!session_provider_tracepoint_register (tracepoint, user_events_data_fd)) + if (!session_provider_tracepoint_register (tracepoint, user_events_data_fd)) { + EP_SP_DIAG_LOG ("register_tracepoints: tracepoint registration failed.\n"); return false; + } } DN_VECTOR_PTR_FOREACH_END; } + EP_SP_DIAG_LOG ("register_tracepoints: all tracepoints registered successfully.\n"); return true; } diff --git a/src/native/eventpipe/ep-session.c b/src/native/eventpipe/ep-session.c index 19ff91952ce31e..d9289eef8b9b8a 100644 --- a/src/native/eventpipe/ep-session.c +++ b/src/native/eventpipe/ep-session.c @@ -14,6 +14,8 @@ #include "ep-stream.h" #include "ep-event-payload.h" #include "ep-rt.h" +#include +#include #if HAVE_UNISTD_H #include // close @@ -27,6 +29,18 @@ #include // errno #endif // HAVE_ERRNO_H +// Temporary diagnostic logging for userevents investigation (https://github.com/dotnet/runtime/issues/123442). +// Enabled when DOTNET_DiagnosticServerDiag=1 is set. +static int ep_sess_diag_enabled = -1; // -1 = uninitialized +static inline int ep_sess_diag_is_enabled (void) { + if (ep_sess_diag_enabled == -1) { + const char *val = getenv ("DOTNET_DiagnosticServerDiag"); + ep_sess_diag_enabled = (val != NULL && val[0] == '1') ? 1 : 0; + } + return ep_sess_diag_enabled; +} +#define EP_SESS_DIAG_LOG(...) do { if (ep_sess_diag_is_enabled ()) { fprintf (stderr, "[EP_SESS_DIAG] " __VA_ARGS__); fflush (stderr); } } while (0) + /* * Forward declares of all static functions. */ @@ -730,11 +744,15 @@ session_tracepoint_write_event ( EventPipeSessionProviderList *session_provider_list = session->providers; EventPipeSessionProvider *session_provider = ep_session_provider_list_find_by_name (ep_session_provider_list_get_providers (session_provider_list), ep_provider_get_provider_name (provider)); const EventPipeSessionProviderTracepoint *tracepoint = ep_session_provider_get_tracepoint_for_event (session_provider, ep_event); - if (tracepoint == NULL) + if (tracepoint == NULL) { + EP_SESS_DIAG_LOG ("tracepoint_write_event: tracepoint not found for provider='%s', event_id=%u.\n", ep_provider_get_provider_name (provider), (unsigned)ep_event_get_event_id (ep_event)); return false; + } - if (ep_session_provider_tracepoint_get_enabled (tracepoint) == 0) + if (ep_session_provider_tracepoint_get_enabled (tracepoint) == 0) { + EP_SESS_DIAG_LOG ("tracepoint_write_event: tracepoint disabled for provider='%s', event_id=%u.\n", ep_provider_get_provider_name (provider), (unsigned)ep_event_get_event_id (ep_event)); return false; + } // Setup iovec array const int max_non_parameter_iov = 9; @@ -874,6 +892,12 @@ session_tracepoint_write_event ( if (should_write_metadata && (bytes_written == io_bytes_to_write)) ep_event_update_metadata_written_mask (ep_event, session_mask, true); + if (bytes_written == -1) { + EP_SESS_DIAG_LOG ("tracepoint_write_event: writev failed for provider='%s', event_id=%u, fd=%d, errno=%d (%s).\n", ep_provider_get_provider_name (provider), (unsigned)ep_event_get_event_id (ep_event), session->user_events_data_fd, errno, strerror (errno)); + } else { + EP_SESS_DIAG_LOG ("tracepoint_write_event: writev success for provider='%s', event_id=%u, bytes_written=%zd.\n", ep_provider_get_provider_name (provider), (unsigned)ep_event_get_event_id (ep_event), bytes_written); + } + if (io != static_io) free (io); diff --git a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs index f6cec8bd79953a..cf50b8c4492810 100644 --- a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs +++ b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs @@ -108,6 +108,10 @@ private static int RunOrchestrator( recordTraceStartInfo.ArgumentList.Add(scriptFilePath); recordTraceStartInfo.ArgumentList.Add("--out"); recordTraceStartInfo.ArgumentList.Add(traceFilePath); + recordTraceStartInfo.ArgumentList.Add("--log-mode"); + recordTraceStartInfo.ArgumentList.Add("verbose"); + recordTraceStartInfo.ArgumentList.Add("--log-filter"); + recordTraceStartInfo.ArgumentList.Add("*"); recordTraceStartInfo.WorkingDirectory = userEventsScenarioDir; recordTraceStartInfo.UseShellExecute = false; recordTraceStartInfo.RedirectStandardOutput = true; @@ -155,6 +159,10 @@ private static int RunOrchestrator( traceeStartInfo.RedirectStandardOutput = true; traceeStartInfo.RedirectStandardError = true; + // Enable diagnostic logging in the runtime's eventpipe/diagnostic server code + // for investigation of flaky userevents tests (https://github.com/dotnet/runtime/issues/123442). + traceeStartInfo.Environment["DOTNET_DiagnosticServerDiag"] = "1"; + // record-trace currently only searches /tmp/ for diagnostic ports https://github.com/microsoft/one-collect/issues/183 string diagnosticPortDir = "/tmp"; traceeStartInfo.Environment["TMPDIR"] = diagnosticPortDir; From 41eab9e0838d188e48e08533e7969210cfdc9093 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:53:07 +0000 Subject: [PATCH 03/10] Temporarily disable CI jobs except CoreCLR runtime tests on linux-x64/arm64 Disable all CI pipeline jobs in runtime.yml except those needed to run CoreCLR runtime tests on linux-x64 and linux-arm64 for investigating flaky userevents tests (issue #123442). Kept jobs: - EvaluatePaths stage - Libraries_CheckedCoreCLR build for linux_arm64 - Libraries_CheckedCoreCLR build for linux_x64 - CoreCLR test build (build-test-job.yml with CoreClrTestBuildHost) - CoreCLR test execution (run-test-job.yml for linux_x64 and linux_arm64) All other ~63 job blocks are disabled with condition: false. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/pipelines/runtime.yml | 401 ++++++++++++-------------------------- 1 file changed, 126 insertions(+), 275 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 6acc029e186a13..540008da3fb42a 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -82,10 +82,8 @@ extends: nameSuffix: AllSubsets_CoreCLR_ReleaseRuntimeLibs buildArgs: -s clr+libs+host+packs -rc Release -lc Release -c $(_BuildConfig) timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -98,10 +96,8 @@ extends: nameSuffix: AllSubsets_CoreCLR buildArgs: -s clr+libs+host+packs -rc Release -c Release -lc $(_BuildConfig) timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # Release build of browser wasm for WBT - template: /eng/pipelines/common/platform-matrix.yml @@ -125,12 +121,8 @@ extends: parameters: testGroup: innerloop liveLibrariesBuildConfig: Release - condition: >- - or( - eq(variables['wasmDarcDependenciesChanged'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_coreclr_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -175,12 +167,8 @@ extends: - template: /eng/pipelines/common/templates/runtimes/native-test-assets-variables.yml parameters: testGroup: innerloop - condition: >- - or( - eq(variables['wasmDarcDependenciesChanged'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_coreclr_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -219,16 +207,14 @@ extends: parameters: testGroup: innerloop liveLibrariesBuildConfig: Release - condition: >- - or( - eq(variables['wasmDarcDependenciesChanged'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_coreclr_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # Browser Wasm.Build.Tests - template: /eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm - browser_wasm_win @@ -270,11 +256,8 @@ extends: archiveExtension: $(archiveExtension) tarCompression: $(tarCompression) artifactName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -304,11 +287,8 @@ extends: archiveExtension: $(archiveExtension) tarCompression: $(tarCompression) artifactName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CoreCLR and Libraries @@ -334,11 +314,8 @@ extends: tarCompression: $(tarCompression) artifactName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) displayName: Build Assets - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CoreCLR and Libraries with the respective tests @@ -350,7 +327,6 @@ extends: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - linux_arm64 - - osx_arm64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked /p:ArchiveTests=true @@ -392,7 +368,6 @@ extends: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - linux_x64 - - windows_x64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR buildArgs: -s clr+clr.wasmjit+libs -c $(_BuildConfig) -rc Checked @@ -448,10 +423,8 @@ extends: archiveExtension: $(archiveExtension) tarCompression: $(tarCompression) artifactName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -479,11 +452,8 @@ extends: parameters: testGroup: innerloop configOverride: Checked - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -512,11 +482,8 @@ extends: - template: /eng/pipelines/common/templates/runtimes/native-test-assets-variables.yml parameters: testGroup: innerloop - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -549,10 +516,8 @@ extends: archiveExtension: $(archiveExtension) tarCompression: $(tarCompression) artifactName: CoreCLR_ReleaseLibraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build the whole product using GNU compiler toolchain @@ -572,14 +537,8 @@ extends: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests.yml parameters: testBuildArgs: skipmanaged skipgeneratelayout skiprestorepackages -gcc - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CoreCLR and run crossgen on S.P.CoreLib @@ -597,10 +556,8 @@ extends: nameSuffix: CoreCLR buildArgs: -s clr.runtime+clr.jit+clr.iltools+clr.spmi+clr.corelib+clr.nativecorelib -c $(_BuildConfig) timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CoreCLR as a non-portable build @@ -618,10 +575,8 @@ extends: nameSuffix: CoreCLR_NonPortable buildArgs: -s clr.native+clr.tools+clr.corelib+clr.nativecorelib+clr.aot+clr.packages --targetrid tizen.9.0.0-armel -c $(_BuildConfig) /p:PortableBuild=false timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CoreCLR + Libs + Host @@ -641,11 +596,8 @@ extends: nameSuffix: CoreCLR_Bootstrapped buildArgs: -s clr+libs+host+packs+tools.cdac -c $(_BuildConfig) -rc Checked --bootstrap timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # CoreCLR NativeAOT debug build and smoke tests @@ -680,12 +632,8 @@ extends: parameters: testGroup: innerloop liveLibrariesBuildConfig: Release - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # CoreCLR NativeAOT checked build and smoke tests @@ -719,12 +667,8 @@ extends: parameters: testGroup: innerloop liveLibrariesBuildConfig: Release - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # CoreCLR NativeAOT release build and smoke tests @@ -763,12 +707,8 @@ extends: parameters: testGroup: innerloop liveLibrariesBuildConfig: Release - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # CoreCLR NativeAOT release build and libraries tests @@ -795,12 +735,8 @@ extends: parameters: creator: dotnet-bot testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # Build and test clr tools - template: /eng/pipelines/common/platform-matrix.yml @@ -816,12 +752,8 @@ extends: enablePublishTestResults: true testResultsFormat: 'xunit' # We want to run AOT tests when illink changes because there's share code and tests from illink which are used by AOT - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_cdac.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build CrossDacs # @@ -843,10 +775,8 @@ extends: - publish: $(Build.SourcesDirectory)/artifacts/bin/coreclr displayName: Publish CrossDacs for diagnostics artifact: CoreCLRCrossDacArtifacts - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # Build Mono AOT offset headers once, for validation # Only when mono changed @@ -883,11 +813,8 @@ extends: condition: failed() artifact: MonoAOTOffsets_$(osGroup)$(osSubGroup) displayName: Upload offset files - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # Build the whole product using Mono runtime # Only when libraries, mono or installer are changed @@ -906,12 +833,8 @@ extends: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -925,18 +848,16 @@ extends: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # WebAssembly legs # - template: /eng/pipelines/common/templates/wasm-library-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm alwaysRun: ${{ variables.isRollingBuild }} @@ -947,6 +868,8 @@ extends: - template: /eng/pipelines/common/templates/wasm-library-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm_win alwaysRun: ${{ variables.isRollingBuild }} @@ -957,6 +880,8 @@ extends: # WebAssembly CoreCLR - template: /eng/pipelines/common/templates/wasm-coreclr-library-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm alwaysRun: ${{ variables.isRollingBuild }} @@ -969,6 +894,8 @@ extends: # EAT Library tests - only run on linux - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm nameSuffix: _EAT @@ -981,6 +908,8 @@ extends: # AOT Library tests - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm - browser_wasm_win @@ -997,7 +926,8 @@ extends: platforms: - browser_wasm - browser_wasm_win - condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false nameSuffix: SingleThreaded extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) publishArtifactsForWorkload: true @@ -1008,7 +938,8 @@ extends: platforms: - browser_wasm - browser_wasm_win - condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false nameSuffix: MultiThreaded extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) publishArtifactsForWorkload: true @@ -1017,6 +948,8 @@ extends: # Browser Wasm.Build.Tests - template: /eng/pipelines/common/templates/browser-wasm-build-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm - browser_wasm_win @@ -1026,6 +959,8 @@ extends: # Wasm runtime tests - template: /eng/pipelines/common/templates/wasm-runtime-tests.yml parameters: + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false platforms: - browser_wasm alwaysRun: ${{ variables.isRollingBuild }} @@ -1039,7 +974,8 @@ extends: - wasi_wasm - wasi_wasm_win extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false publishArtifactsForWorkload: false publishWBT: false @@ -1067,12 +1003,8 @@ extends: nameSuffix: AllSubsets_Mono_Smoke buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:EnableAdditionalTimezoneChecks=true timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1109,12 +1041,8 @@ extends: nameSuffix: AllSubsets_CoreCLR_Smoke buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1153,13 +1081,8 @@ extends: nameSuffix: AllSubsets_Mono_Smoke buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:EnableAggressiveTrimming=true timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1199,12 +1122,8 @@ extends: nameSuffix: AllSubsets_CoreCLR_Smoke buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:UseMonoRuntime=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=false timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1244,12 +1163,8 @@ extends: buildArgs: --cross -s clr.alljits+clr.tools+clr.nativeaotruntime+clr.nativeaotlibs+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:DevTeamProvisioning=- /p:BuildTestsOnHelix=true /p:UseNativeAOTRuntime=true /p:RunAOTCompilation=false /p:ContinuousIntegrationBuild=true timeoutInMinutes: 180 useNativeAOTRuntime: true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1287,12 +1202,8 @@ extends: nameSuffix: AllSubsets_Mono_Smoke buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml @@ -1321,12 +1232,8 @@ extends: nameSuffix: AllSubsets_Mono_LLVMAOT buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -1340,12 +1247,8 @@ extends: nameSuffix: AllSubsets_Mono_LLVMAOT buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build Mono debug @@ -1368,10 +1271,8 @@ extends: jobParameters: nameSuffix: Mono_Runtime buildArgs: -s mono -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build Mono release AOT cross-compilers @@ -1395,11 +1296,8 @@ extends: buildArgs: -c $(_BuildConfig) /p:DotNetBuildMonoCrossAOT=true nameSuffix: CrossAOT_Mono runtimeVariant: crossaot - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build and test libraries for .NET Framework @@ -1422,10 +1320,8 @@ extends: creator: dotnet-bot testRunNamePrefixSuffix: NET481_$(_BuildConfig) extraHelixArguments: /p:BuildTargetFramework=net481 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build and test libraries for all TFMs and create packages @@ -1440,11 +1336,8 @@ extends: buildArgs: -test -s tools.illink+libs+libs.tests -pack -c $(_BuildConfig) /p:TestAssemblies=false /p:TestPackages=true nameSuffix: Libraries_WithPackages timeoutInMinutes: 150 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Installer Build and Test @@ -1477,10 +1370,8 @@ extends: - template: /eng/pipelines/installer/helix.yml parameters: creator: dotnet-bot - condition: - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -1509,10 +1400,8 @@ extends: - template: /eng/pipelines/installer/helix.yml parameters: creator: dotnet-bot - condition: - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build the whole product using Mono and run runtime tests @@ -1537,11 +1426,8 @@ extends: runtimeVariant: minijit buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false postBuildSteps: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml @@ -1573,11 +1459,8 @@ extends: runtimeVariant: minijit buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release -lc ${{ variables.debugOnPrReleaseOnRolling }} timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false postBuildSteps: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml @@ -1612,11 +1495,8 @@ extends: runtimeVariant: monointerpreter buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false postBuildSteps: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml parameters: @@ -1650,11 +1530,8 @@ extends: buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false postBuildSteps: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml parameters: @@ -1701,11 +1578,8 @@ extends: liveLibrariesBuildConfig: Release unifiedArtifactsName: CoreCLR_ReleaseLibraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) unifiedBuildNameSuffix: CoreCLR_ReleaseLibraries - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -1721,22 +1595,16 @@ extends: unifiedArtifactsName: CoreCLR_ReleaseLibraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) unifiedBuildNameSuffix: CoreCLR_ReleaseLibraries extraBuildArgs: -os browser -p:HostConfiguration=Release - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml buildConfig: checked platforms: - - osx_arm64 - - osx_x64 - linux_x64 - linux_arm64 - - windows_x64 helixQueueGroup: pr helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml jobParameters: @@ -1769,10 +1637,8 @@ extends: unifiedArtifactsName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) helixArtifactsName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) unifiedBuildNameSuffix: CoreCLR_Libraries - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Libraries Debug Test Execution against a release coreclr runtime @@ -1796,10 +1662,8 @@ extends: helixArtifactsName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(debugOnPrReleaseOnRolling) unifiedBuildNameSuffix: CoreCLR_Libraries unifiedBuildConfigOverride: ${{ variables.debugOnPrReleaseOnRolling }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # The next three jobs run checked coreclr + libraries tests. # The matrix looks like the following, where the right columns specify which configurations # the libraries tests are built in. @@ -1835,10 +1699,8 @@ extends: unifiedArtifactsName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) helixArtifactsName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) unifiedBuildNameSuffix: Libraries_CheckedCoreCLR - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Release Libraries Test Execution against a checked runtime @@ -1862,10 +1724,8 @@ extends: helixArtifactsName: CoreCLR_ReleaseLibraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_Checked unifiedBuildNameSuffix: CoreCLR_ReleaseLibraries unifiedBuildConfigOverride: checked - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -1881,11 +1741,8 @@ extends: unifiedArtifactsName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) helixArtifactsName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) unifiedBuildNameSuffix: Libraries_CheckedCoreCLR - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build and test Mono Interpreter with the libraries testss @@ -1913,11 +1770,8 @@ extends: creator: dotnet-bot testRunNamePrefixSuffix: Mono_Interpreter_$(_BuildConfig) interpreter: true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false # # Build and test Mono Minijit with the libraries testss @@ -1944,8 +1798,5 @@ extends: parameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_Minijit_$(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) + # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) + condition: false From 4d3dbcca3e4b20d947f4adffb7a06f2a7752db15 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:55:04 +0000 Subject: [PATCH 04/10] Fix record-trace log args: use --log-mode console --log-filter trace Per the one-collect commandline.rs API, --log-mode accepts 'disabled', 'console', or 'file', and --log-filter accepts Rust tracing EnvFilter strings like 'trace', 'debug', 'info'. Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- src/tests/tracing/userevents/common/UserEventsTestRunner.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs index cf50b8c4492810..bce9fde0b8d132 100644 --- a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs +++ b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs @@ -109,9 +109,9 @@ private static int RunOrchestrator( recordTraceStartInfo.ArgumentList.Add("--out"); recordTraceStartInfo.ArgumentList.Add(traceFilePath); recordTraceStartInfo.ArgumentList.Add("--log-mode"); - recordTraceStartInfo.ArgumentList.Add("verbose"); + recordTraceStartInfo.ArgumentList.Add("console"); recordTraceStartInfo.ArgumentList.Add("--log-filter"); - recordTraceStartInfo.ArgumentList.Add("*"); + recordTraceStartInfo.ArgumentList.Add("trace"); recordTraceStartInfo.WorkingDirectory = userEventsScenarioDir; recordTraceStartInfo.UseShellExecute = false; recordTraceStartInfo.RedirectStandardOutput = true; From c4eafa6db0e33196b01257d7f9737882ca6128e0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 21:17:10 +0000 Subject: [PATCH 05/10] Filter trace events by tracee PID to exclude stray .NET processes Change traceValidator signature to Func to pass the tracee process ID. Each scenario validator now filters events by ProcessID and logs a count of events from other processes. Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- .../tracing/userevents/activity/activity.cs | 17 +++++++++++++++-- src/tests/tracing/userevents/basic/basic.cs | 16 ++++++++++++++-- .../userevents/common/UserEventsTestRunner.cs | 6 +++--- .../userevents/custommetadata/custommetadata.cs | 16 ++++++++++++++-- .../userevents/managedevent/managedevent.cs | 16 ++++++++++++++-- .../userevents/multithread/multithread.cs | 16 ++++++++++++++-- 6 files changed, 74 insertions(+), 13 deletions(-) diff --git a/src/tests/tracing/userevents/activity/activity.cs b/src/tests/tracing/userevents/activity/activity.cs index 71db59ef9f8c8b..9ac99246488f2f 100644 --- a/src/tests/tracing/userevents/activity/activity.cs +++ b/src/tests/tracing/userevents/activity/activity.cs @@ -45,7 +45,7 @@ private static async Task Query(string query) ActivityEventSource.Log.QueryStop(); } - private static readonly Func s_traceValidator = source => + private static readonly Func s_traceValidator = (traceePid, source) => { Guid firstWorkActivityId = Guid.Empty; Guid secondWorkActivityId = Guid.Empty; @@ -60,8 +60,16 @@ private static async Task Query(string query) Guid secondWorkQuery1RelatedActivityId = Guid.Empty; Guid secondWorkQuery2RelatedActivityId = Guid.Empty; + int eventsFromOtherProcesses = 0; + source.Dynamic.All += e => { + if (e.ProcessID != traceePid) + { + eventsFromOtherProcesses++; + return; + } + if (!string.Equals(e.ProviderName, "DemoActivityIDs", StringComparison.Ordinal)) { return; @@ -114,9 +122,14 @@ private static async Task Query(string query) source.Process(); + if (eventsFromOtherProcesses > 0) + { + Console.WriteLine($"Ignored {eventsFromOtherProcesses} events from processes other than tracee (PID {traceePid})."); + } + if (firstWorkActivityId == Guid.Empty || secondWorkActivityId == Guid.Empty) { - Console.Error.WriteLine("The trace did not contain two WorkStart events with ActivityIds for RequestA and RequestB."); + Console.Error.WriteLine($"The trace did not contain two WorkStart events with ActivityIds for RequestA and RequestB from tracee PID {traceePid}."); return false; } diff --git a/src/tests/tracing/userevents/basic/basic.cs b/src/tests/tracing/userevents/basic/basic.cs index 0e9a3891ac9c10..126e9a3a36ce14 100644 --- a/src/tests/tracing/userevents/basic/basic.cs +++ b/src/tests/tracing/userevents/basic/basic.cs @@ -25,12 +25,19 @@ public static void BasicTracee() } } - private readonly static Func s_traceValidator = source => + private readonly static Func s_traceValidator = (traceePid, source) => { bool allocationSampledEventFound = false; + int eventsFromOtherProcesses = 0; source.Dynamic.All += (TraceEvent e) => { + if (e.ProcessID != traceePid) + { + eventsFromOtherProcesses++; + return; + } + if (e.ProviderName == "Microsoft-Windows-DotNETRuntime") { // TraceEvent's ClrTraceEventParser does not know about the AllocationSampled Event, so it shows up as "Unknown(303)" @@ -43,9 +50,14 @@ public static void BasicTracee() source.Process(); + if (eventsFromOtherProcesses > 0) + { + Console.WriteLine($"Ignored {eventsFromOtherProcesses} events from processes other than tracee (PID {traceePid})."); + } + if (!allocationSampledEventFound) { - Console.Error.WriteLine("The trace did not contain an AllocationSampled event."); + Console.Error.WriteLine($"The trace did not contain an AllocationSampled event from tracee PID {traceePid}."); } return allocationSampledEventFound; }; diff --git a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs index bce9fde0b8d132..b2fe8f6a827c28 100644 --- a/src/tests/tracing/userevents/common/UserEventsTestRunner.cs +++ b/src/tests/tracing/userevents/common/UserEventsTestRunner.cs @@ -27,7 +27,7 @@ public static int Run( string[] args, string scenarioName, Action traceeAction, - Func traceValidator, + Func traceValidator, int traceeExitTimeout = DefaultTraceeExitTimeoutMs, int recordTraceExitTimeout = DefaultRecordTraceExitTimeoutMs, int traceeDelayToSetupTracepoints = DefaultTraceeDelayToSetupTracepointsMs) @@ -52,7 +52,7 @@ public static int Run( private static int RunOrchestrator( string scenarioName, - Func traceValidator, + Func traceValidator, int traceeExitTimeout, int recordTraceExitTimeout) { @@ -228,7 +228,7 @@ private static int RunOrchestrator( } using EventPipeEventSource source = new EventPipeEventSource(traceFilePath); - if (!traceValidator(source)) + if (!traceValidator(traceePid, source)) { Console.Error.WriteLine($"Trace file `{traceFilePath}` does not contain expected events."); UploadTraceFileFromHelix(traceFilePath, scenarioName); diff --git a/src/tests/tracing/userevents/custommetadata/custommetadata.cs b/src/tests/tracing/userevents/custommetadata/custommetadata.cs index 1436e548ea1f58..34d89a83023338 100644 --- a/src/tests/tracing/userevents/custommetadata/custommetadata.cs +++ b/src/tests/tracing/userevents/custommetadata/custommetadata.cs @@ -16,12 +16,19 @@ public static void CustomMetadataTracee() CustomMetadataEventSource.Log.WorkItem(1, "Item1"); } - private static readonly Func s_traceValidator = source => + private static readonly Func s_traceValidator = (traceePid, source) => { bool anyMatching = false; + int eventsFromOtherProcesses = 0; source.Dynamic.All += (TraceEvent e) => { + if (e.ProcessID != traceePid) + { + eventsFromOtherProcesses++; + return; + } + if (!string.Equals(e.ProviderName, "DemoCustomMetadata", StringComparison.Ordinal)) { return; @@ -57,9 +64,14 @@ public static void CustomMetadataTracee() source.Process(); + if (eventsFromOtherProcesses > 0) + { + Console.WriteLine($"Ignored {eventsFromOtherProcesses} events from processes other than tracee (PID {traceePid})."); + } + if (!anyMatching) { - Console.Error.WriteLine("The trace did not contain the expected CustomMetadata event."); + Console.Error.WriteLine($"The trace did not contain the expected CustomMetadata event from tracee PID {traceePid}."); } return anyMatching; diff --git a/src/tests/tracing/userevents/managedevent/managedevent.cs b/src/tests/tracing/userevents/managedevent/managedevent.cs index 97364d5151c7fb..f77f7e03b05d0f 100644 --- a/src/tests/tracing/userevents/managedevent/managedevent.cs +++ b/src/tests/tracing/userevents/managedevent/managedevent.cs @@ -24,12 +24,19 @@ public static void ManagedEventTracee() } } - private static readonly Func s_traceValidator = source => + private static readonly Func s_traceValidator = (traceePid, source) => { bool sampleEventFound = false; + int eventsFromOtherProcesses = 0; source.Dynamic.All += (TraceEvent e) => { + if (e.ProcessID != traceePid) + { + eventsFromOtherProcesses++; + return; + } + if (!string.Equals(e.ProviderName, "ManagedUserEvent", StringComparison.OrdinalIgnoreCase)) { return; @@ -45,9 +52,14 @@ public static void ManagedEventTracee() source.Process(); + if (eventsFromOtherProcesses > 0) + { + Console.WriteLine($"Ignored {eventsFromOtherProcesses} events from processes other than tracee (PID {traceePid})."); + } + if (!sampleEventFound) { - Console.Error.WriteLine("The trace did not contain the expected managed event."); + Console.Error.WriteLine($"The trace did not contain the expected managed event from tracee PID {traceePid}."); } return sampleEventFound; diff --git a/src/tests/tracing/userevents/multithread/multithread.cs b/src/tests/tracing/userevents/multithread/multithread.cs index 01a9768f3de0fc..d534bef2099871 100644 --- a/src/tests/tracing/userevents/multithread/multithread.cs +++ b/src/tests/tracing/userevents/multithread/multithread.cs @@ -46,12 +46,19 @@ public static void MultiThreadTracee() Task.WaitAll(tasks); } - private static readonly Func s_traceValidator = source => + private static readonly Func s_traceValidator = (traceePid, source) => { HashSet seenWorkers = new HashSet(); + int eventsFromOtherProcesses = 0; source.Dynamic.All += (TraceEvent e) => { + if (e.ProcessID != traceePid) + { + eventsFromOtherProcesses++; + return; + } + if (!string.Equals(e.ProviderName, "DemoMultiThread", StringComparison.Ordinal)) { return; @@ -80,11 +87,16 @@ public static void MultiThreadTracee() source.Process(); + if (eventsFromOtherProcesses > 0) + { + Console.WriteLine($"Ignored {eventsFromOtherProcesses} events from processes other than tracee (PID {traceePid})."); + } + for (int i = 0; i < WorkerCount; i++) { if (!seenWorkers.Contains(i)) { - Console.Error.WriteLine($"Did not observe event for worker {i}."); + Console.Error.WriteLine($"Did not observe event for worker {i} from tracee PID {traceePid}."); return false; } } From 5464c5092839e729dedff136bb1dc462a447d7b1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 21:19:14 +0000 Subject: [PATCH 06/10] Add clarifying comments for narrowed platform lists in runtime.yml Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- eng/pipelines/runtime.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 540008da3fb42a..bbd3060b9fa86a 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -326,6 +326,7 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: + # TEMPORARY: narrowed to linux_arm64 only for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442), was also osx_arm64 - linux_arm64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR @@ -367,6 +368,7 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: + # TEMPORARY: narrowed to linux_x64 only for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442), was also windows_x64 - linux_x64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR @@ -1603,6 +1605,7 @@ extends: jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml buildConfig: checked platforms: + # TEMPORARY: narrowed to linux_x64 and linux_arm64 only for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442), was also osx_arm64, osx_x64, windows_x64 - linux_x64 - linux_arm64 helixQueueGroup: pr From 6d6785d234e702ac782f72d9fc4869822f1a853f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 21:40:31 +0000 Subject: [PATCH 07/10] Fix pipeline: add osx_arm64 back to Libraries_CheckedCoreCLR build The disabled osx_arm64 test run job depends on a Libraries_CheckedCoreCLR build for osx_arm64 existing. When osx_arm64 was removed from the build platforms list, Azure Pipelines YAML validation fails because the dependency cannot be resolved (even though the test job has condition: false). Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- eng/pipelines/runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index bbd3060b9fa86a..441588c26f0326 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -326,8 +326,8 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - # TEMPORARY: narrowed to linux_arm64 only for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442), was also osx_arm64 - linux_arm64 + - osx_arm64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked /p:ArchiveTests=true From 5090159ed2cc9f1f387163eab4a63a7b385a0d17 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 21:47:38 +0000 Subject: [PATCH 08/10] Remove osx_arm64 from Libraries_CheckedCoreCLR build and test jobs Remove osx_arm64 from the Libraries_CheckedCoreCLR build platforms (only linux-x64 and linux-arm64 needed for userevents investigation). Also remove the osx_arm64 test job block entirely since setting condition: false does not skip dependency validation in Azure Pipelines YAML - the build job must still exist for the dependency to resolve. Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- eng/pipelines/runtime.yml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 441588c26f0326..e7a997ab35b651 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -327,7 +327,6 @@ extends: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - linux_arm64 - - osx_arm64 jobParameters: nameSuffix: Libraries_CheckedCoreCLR buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked /p:ArchiveTests=true @@ -1730,22 +1729,7 @@ extends: # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) condition: false - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/run-test-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - platforms: - - osx_arm64 - helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml - helixQueueGroup: libraries - jobParameters: - testScope: innerloop - liveRuntimeBuildConfig: checked - unifiedArtifactsName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - helixArtifactsName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) - unifiedBuildNameSuffix: Libraries_CheckedCoreCLR - # TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) - condition: false + # TEMPORARY: osx_arm64 Libraries_CheckedCoreCLR test job removed for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) # # Build and test Mono Interpreter with the libraries testss From 79c4f21485fcb3a2eb6e906251a872e4ad63deeb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Feb 2026 00:27:11 +0000 Subject: [PATCH 09/10] Re-enable userevents tests and disable additional pipelines - Remove CLRTestTargetUnsupported from userevents Directory.Build.props (keep Mono exclusion only) - Disable PR triggers for runtime-linker-tests, hardware-intrinsics, global-build (dev-innerloop), and runtime-diagnostics pipelines - All browser-wasm jobs in runtime.yml already had condition: false Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- eng/pipelines/coreclr/hardware-intrinsics.yml | 22 +++++----- eng/pipelines/global-build.yml | 40 ++++++++++--------- eng/pipelines/runtime-diagnostics.yml | 20 +++++----- eng/pipelines/runtime-linker-tests.yml | 36 +++++++++-------- .../tracing/userevents/Directory.Build.props | 3 -- 5 files changed, 63 insertions(+), 58 deletions(-) diff --git a/eng/pipelines/coreclr/hardware-intrinsics.yml b/eng/pipelines/coreclr/hardware-intrinsics.yml index b54f33da29e830..83e1842b9a1e86 100644 --- a/eng/pipelines/coreclr/hardware-intrinsics.yml +++ b/eng/pipelines/coreclr/hardware-intrinsics.yml @@ -1,14 +1,16 @@ trigger: none -pr: - branches: - include: - - main - paths: - include: - - eng/pipelines/** - - src/coreclr/jit/** - - src/tests/Common/GenerateHWIntrinsicTests/** - - src/tests/JIT/HardwareIntrinsics/** +# TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) +pr: none +# pr: +# branches: +# include: +# - main +# paths: +# include: +# - eng/pipelines/** +# - src/coreclr/jit/** +# - src/tests/Common/GenerateHWIntrinsicTests/** +# - src/tests/JIT/HardwareIntrinsics/** variables: - template: /eng/pipelines/common/variables.yml diff --git a/eng/pipelines/global-build.yml b/eng/pipelines/global-build.yml index f1a62719914144..5f00eae749a923 100644 --- a/eng/pipelines/global-build.yml +++ b/eng/pipelines/global-build.yml @@ -4,25 +4,27 @@ trigger: none -pr: - branches: - include: - - main - - release/*.* - paths: - include: - - '*' - - eng/pipelines/global-build.yml - exclude: - - '**.md' - - .devcontainer/* - - .github/* - - docs/* - - eng/pipelines/coreclr/*.* - - eng/pipelines/libraries/*.* - - eng/pipelines/installer/*.* - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT +# TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) +pr: none +# pr: +# branches: +# include: +# - main +# - release/*.* +# paths: +# include: +# - '*' +# - eng/pipelines/global-build.yml +# exclude: +# - '**.md' +# - .devcontainer/* +# - .github/* +# - docs/* +# - eng/pipelines/coreclr/*.* +# - eng/pipelines/libraries/*.* +# - eng/pipelines/installer/*.* +# - PATENTS.TXT +# - THIRD-PARTY-NOTICES.TXT variables: - template: /eng/pipelines/common/variables.yml diff --git a/eng/pipelines/runtime-diagnostics.yml b/eng/pipelines/runtime-diagnostics.yml index 3fde402abd2009..26a73eca7011b2 100644 --- a/eng/pipelines/runtime-diagnostics.yml +++ b/eng/pipelines/runtime-diagnostics.yml @@ -25,15 +25,17 @@ schedules: - main always: true -pr: - branches: - include: - - main - paths: - include: - - eng/pipelines/** - - src/native/managed/cdac/** - - src/coreclr/debug/runtimeinfo/** +# TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) +pr: none +# pr: +# branches: +# include: +# - main +# paths: +# include: +# - eng/pipelines/** +# - src/native/managed/cdac/** +# - src/coreclr/debug/runtimeinfo/** extends: template: /eng/pipelines/common/templates/pipeline-with-resources.yml diff --git a/eng/pipelines/runtime-linker-tests.yml b/eng/pipelines/runtime-linker-tests.yml index e5fe67fbc0b595..e9a06cfebb0832 100644 --- a/eng/pipelines/runtime-linker-tests.yml +++ b/eng/pipelines/runtime-linker-tests.yml @@ -29,23 +29,25 @@ schedules: - main always: false # run only if there were changes since the last successful scheduled run. -pr: - branches: - include: - - main - - release/*.* - paths: - include: - - '*' - exclude: - - '**.md' - - eng/Version.Details.xml - - .devcontainer/* - - .github/* - - docs/* - - LICENSE.TXT - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT +# TEMPORARY: disabled for userevents diagnostic investigation (https://github.com/dotnet/runtime/issues/123442) +pr: none +# pr: +# branches: +# include: +# - main +# - release/*.* +# paths: +# include: +# - '*' +# exclude: +# - '**.md' +# - eng/Version.Details.xml +# - .devcontainer/* +# - .github/* +# - docs/* +# - LICENSE.TXT +# - PATENTS.TXT +# - THIRD-PARTY-NOTICES.TXT variables: - template: /eng/pipelines/common/variables.yml diff --git a/src/tests/tracing/userevents/Directory.Build.props b/src/tests/tracing/userevents/Directory.Build.props index aa27c19739e518..67961d29740a70 100644 --- a/src/tests/tracing/userevents/Directory.Build.props +++ b/src/tests/tracing/userevents/Directory.Build.props @@ -3,9 +3,6 @@ - - true - true From b798845c9559722ce8ff39529d204ccb1310dee5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Feb 2026 02:34:30 +0000 Subject: [PATCH 10/10] Fix missing string.h include in ep-session.c for strerror The diagnostic logging at line 896 calls strerror(errno) but the file did not include which declares strerror. This could cause an implicit function declaration warning/error depending on compiler settings. Co-authored-by: mdh1418 <16830051+mdh1418@users.noreply.github.com> --- src/native/eventpipe/ep-session.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/native/eventpipe/ep-session.c b/src/native/eventpipe/ep-session.c index d9289eef8b9b8a..ff0529f4e14481 100644 --- a/src/native/eventpipe/ep-session.c +++ b/src/native/eventpipe/ep-session.c @@ -16,6 +16,7 @@ #include "ep-rt.h" #include #include +#include #if HAVE_UNISTD_H #include // close