Skip to content

iOS: NullReferenceException in HttpConnectionPool when using HttpWebRequest #49201

Closed
@rolfbjarne

Description

@rolfbjarne

Description

Test case:

git clone https://github.com/rolfbjarne/xamarin-macios
cd xamarin-macios
git checkout httpclient-testcase
./configure --enable-dotnet
make reset
make all -j8 && make install -j8
  • Run the test app:
make -C tests/dotnet run-test

Result:

[...]
Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
   at System.Net.Http.HttpConnectionPool..ctor(HttpConnectionPoolManager poolManager, HttpConnectionKind kind, String host, Int32 port, String sslHostName, Uri proxyUri, Int32 maxConnections)
   at System.Net.Http.HttpConnectionPoolManager.SendAsyncCore(HttpRequestMessage request, Uri proxyUri, Boolean async, Boolean doRequestAuth, Boolean isProxyConnect, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPoolManager.SendAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at System.Net.HttpWebRequest.SendRequest(Boolean async)
   at System.Net.HttpWebRequest.GetResponse()
   at MySingleView.AppDelegate.FinishedLaunching(UIApplication app, NSDictionary options) in /Users/rolf/work/maccore/main/xamarin-macios/tests/dotnet/MySingleView/AppDelegate.cs:line 22
--- End of stack trace from previous location ---
   at UIKit.UIApplication.Main(String[] args, IntPtr principal, IntPtr delegate)
   at UIKit.UIApplication.Main(String[] args, String principalClassName, String delegateClassName)
   at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass)
   at MySingleView.Application.Main(String[] args) in /Users/rolf/work/maccore/main/xamarin-macios/tests/dotnet/MySingleView/Main.cs:line 12

I tried reproing on desktop (https://gist.github.com/rolfbjarne/f1cb38aab4ba58b49b2ec244e45d1a70), but it worked just fine.

Regression?

Yes, this is a regression between preview.2.21114.3 and preview.2.21153.28.

CC @steveisok

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions