Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Well, I just spent six hours thinking I was going insane chasing something similar. In my case, I was using DotNetOpenAuth for a single-sign on implementation, just like my five other servers. But this new server would vomit 99% of the time:</p> <pre><code>DotNetOpenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---&gt; System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---&gt; System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream. at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security._SslStream.StartFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.TlsStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) --- End of inner exception stack trace --- at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) at DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) at DotNetOpenAuth.Yadis.Yadis.Request(IDirectWebRequestHandler requestHandler, Uri uri, Boolean requireSsl, String[] acceptTypes) at DotNetOpenAuth.Yadis.Yadis.Discover(IDirectWebRequestHandler requestHandler, UriIdentifier uri, Boolean requireSsl) at DotNetOpenAuth.OpenId.UriDiscoveryService.Discover(Identifier identifier, IDirectWebRequestHandler requestHandler, Boolean&amp; abortDiscoveryChain) at DotNetOpenAuth.OpenId.IdentifierDiscoveryServices.Discover(Identifier identifier) at DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Create(Identifier userSuppliedIdentifier, OpenIdRelyingParty relyingParty, Realm realm, Uri returnToUrl, Boolean createNewAssociationsAsNeeded) </code></pre> <p>To really question my sanity,</p> <ul> <li>Visiting the SSL endpoint in the Web browser worked just fine</li> <li>Turning on Fiddler capturing made it work, and turning it off made it not work</li> <li>It really did work by itself about 1% of the time</li> <li>Using an <code>HttpWebRequest</code> in a console app to the same endpoint worked, but switching to DotNetOpenAuth (which appears to be doing more or less the same thing) caused it to mostly not work</li> </ul> <p>After checking about every possible thing that can be checked, I went into the Network Adapter properties (in my case, a Citrix PV Ethernet Adapter on the Rackspace Cloud), clicked Configure, went to Advanced, and <strong>disabled IPv4 Checksum Offload</strong>. Then it started working immediately.</p> <p>I have no idea what IPv4 Checksum Offload does, but it didn't work reliably on this virtual machine. Hope this helps someone else!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload