This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 42864 - [Cycle 7] "System.Net.WebException: Error: NameResolutionFailure" on second web request to certain raw IP addresses with HttpClient
Summary: [Cycle 7] "System.Net.WebException: Error: NameResolutionFailure" on second w...
Alias: None
Product: Class Libraries
Classification: Mono
Component: System (show other bugs)
Version: 4.4.0 (C7)
Hardware: PC Mac OS
: High major
Target Milestone: 4.6.0 (C8)
Assignee: Marek Safar
: 42850 (view as bug list)
Depends on: 41782
  Show dependency treegraph
Reported: 2016-07-28 00:45 UTC by Brendan Zagaeski
Modified: 2016-08-17 17:48 UTC (History)
7 users (show)

See Also:
Tags: BZRC7S1_C6SR4S1, C8Beta1
Is this bug a regression?: Yes
Last known good build: Mono 4.2.4 (71b88f3)


Description Brendan Zagaeski 2016-07-28 00:45:47 UTC
[Cycle 7] "System.Net.WebException: Error: NameResolutionFailure" on second web request to certain raw IP addresses with HttpClient

This is a follow-up to Bug 41782.  At least when using HttpClient as in the code example below, `ServicePoint.get_HostEntry()` [1] gets called 2 separate times, once for each request.  On the second time, `host` is non-null and `HasTimedOut` is true, so `get_HostEntry()` returns `null` rather than returning the non-null `host`.


## Steps to replicate

Replace the IP address in the following program with a "bad" IP address that hits the problem and run the program.

using System.Net.Http;

namespace ConsoleApp1
    class MainClass
        public static void Main(string[] args)

        public static void DoRequest()
            var httpClient = new HttpClient();

            var responseTask = httpClient.GetAsync("");
            var response = responseTask.Result;

## Regression status: regression in Cycle 7

BAD:  Mono 4.6.0 (mono-4.6.0-branch/37dea728)      "C8"
BAD:  Mono 4.4.2 (mono-4.4.0-branch-c7sr1/b430435) "C7SR1"
GOOD: Mono 4.2.4 (explicit/71b88f3)                "C6SR4"

## BAD Results

The second call to `DoRequest()` fails:

> Unhandled Exception:
> System.AggregateException: One or more errors occurred. ---> System.Net.WebException: Error: NameResolutionFailure

## GOOD Results

The app runs to completion without error.
Comment 2 Brendan Zagaeski 2016-07-28 00:50:31 UTC
*** Bug 42850 has been marked as a duplicate of this bug. ***
Comment 5 Marek Safar 2016-08-16 13:26:47 UTC
Fixed in master and Mono 4.6

Note You need to log in before you can comment on or make changes to this bug.