From 502b899da69669a78d07b2d55f2f2c5ca9e1c647 Mon Sep 17 00:00:00 2001 From: Nikita Kazmin Date: Tue, 23 Dec 2025 11:05:41 +0300 Subject: [PATCH 1/3] Fix Timeout_during_authentication test --- src/Npgsql/Internal/NpgsqlConnector.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Npgsql/Internal/NpgsqlConnector.cs b/src/Npgsql/Internal/NpgsqlConnector.cs index 6bca520d43..4c18372699 100644 --- a/src/Npgsql/Internal/NpgsqlConnector.cs +++ b/src/Npgsql/Internal/NpgsqlConnector.cs @@ -1339,7 +1339,7 @@ async Task ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationTok } else { - IPAddress[] ipAddresses; + IPAddress[] ipAddresses = []; try { using var combinedCts = timeout.IsSet ? CancellationTokenSource.CreateLinkedTokenSource(cancellationToken) : null; @@ -1352,7 +1352,8 @@ async Task ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationTok catch (OperationCanceledException) { cancellationToken.ThrowIfCancellationRequested(); - throw new TimeoutException(); + Debug.Assert(timeout.HasExpired); + ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException("The operation has timed out"); } } catch (SocketException ex) From a58f34e98f580fa7bd8039e4ac6bf10058c4c832 Mon Sep 17 00:00:00 2001 From: Nikita Kazmin Date: Tue, 23 Dec 2025 11:09:00 +0300 Subject: [PATCH 2/3] Try to get ci dump --- .github/workflows/build.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41b2f87b54..4886d6aa18 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -302,6 +302,15 @@ jobs: dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.DependencyInjection.Tests --logger "GitHubActions;report-warnings=false" shell: bash + - name: Upload Hang Dumps + uses: actions/upload-artifact@v6 + if: always() + with: + name: test-hang-dumps + path: | + **/*.dmp + **/Sequence*.xml + - name: Test Plugins if: "!startsWith(matrix.os, 'macos')" run: | From 9478f68db76a7d71f92805f124e4bbc70eab134c Mon Sep 17 00:00:00 2001 From: Nikita Kazmin Date: Sat, 27 Dec 2025 11:38:23 +0300 Subject: [PATCH 3/3] Review --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4886d6aa18..84187b554c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -298,13 +298,13 @@ jobs: # TODO: Once test/Npgsql.Specification.Tests work, switch to just testing on the solution - name: Test run: | - dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.Tests --logger "GitHubActions;report-warnings=false" --blame-hang-timeout 30s + dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.Tests --logger "GitHubActions;report-warnings=false" --blame-crash --blame-hang-timeout 30s dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.DependencyInjection.Tests --logger "GitHubActions;report-warnings=false" shell: bash - - name: Upload Hang Dumps + - name: Upload Test Hang Dumps uses: actions/upload-artifact@v6 - if: always() + if: failure() with: name: test-hang-dumps path: |