Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Created attachment 89 [details]
Samples demonstrating the problem.
Using HttpWebRequest to POST some data to a server with NTLM authentication and waiting for some response from server very often ends with System.Net.WebException: The operation has timed out.
The same problem is also in MonoTouch.
Steps to reproduce:
1. Build and deploy NTLMServer project.
2. Open Android or iOS client (NTLMClient/iOS or NTLMClient/Android). Alternatively you can check the result with Win32 client as well.
3. Modify source code to provide correct url path and credentials:
Android: Activity1.cs - lines 50 and 54
iOS: Main.cs - lines 119 and 123
4. Build, deploy and run client app.
Client tries 100 times to send and receive some data to/from server. Check device screen for result. All iterations should end with OK status and without any errors.
The specified bug may be fixed in 1.0.2, to be replaced by a different bug.
What I did (on OSX):
1. Extract the "Samples demonstrating the problem" NTLMTest.zip.
2. (cd NTLMServer && xbuild)
3. Edit NTLMClient/Win32/Program.cs, and change line 19 to:
var url = @"http://localhost:8080/Default.aspx";
Specifically, I'm changing the IP address and removing "NTLMTest" from the URL.
Removing "NTLMTest" is needed so that (5)(a) works.
4. (cd NTLMClient/Win32 && xbuild)
5. Open two shells (both in $CWD)
(a) (cd NTLMServer && xsp)
(b) (cd NTLMClient/Win32 && mono bin/Debug/NTLMClient.exe)
The Win32 client works successfully. Yay.
6. Edit NTLMClient/Android/Activity1.cs, and change line 50 as was done in (3) but using an explicit IP address, e.g.
var url = @"http://192.168.1.5:8080/Default.aspx";
7. Build/install/run the NTLMClient/Android app.
At this point, it receives ~40 messages before it dies, but it dies due to a NulllReferenceException, _not_ a WebException:
I/MonoDroid( 9955): UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
I/MonoDroid( 9955): at Java.Lang.Thread/RunnableImplementor.Run () <0x000c4>
I/MonoDroid( 9955): at Java.Lang.IRunnableAdapter.n_Run (intptr,intptr) <0x00037>
I/MonoDroid( 9955): at (wrapper dynamic-method) object.b56fa1f4-8bcf-45b1-9d80-771daa7615b2 (intptr,intptr) <0x0002b>
This is presumably due to the SetTitleOnMainThread() or WriteLineOnMainThread(), and the crash is probably due to a GC issue; this will need further investigation.
I rebuilded Android app with the latest and greatest Mono for Android 1.0.2 and ended up with the same result "The operation has timed out".
If it hepls, I'm testing it on: Server is running in Win7 64 on a laptop connected to LAN. Also wifi hotspot is connected to the same LAN. Client is running on Nexus S which is connected through wifi.
If I'm lucky, Bug #245 is a simplification of the NullReferenceException issue
mentioned in Comment #1. I'm not sure I'm that lucky, though, given that Bug
#245 doesn't elicit a NullReferenceException...
@Michal: How many loops does it complete for you before you get the WebException?
@Jonathan: It's random. I started app for a few times with these numbers (of successful attempts): 1, 1, 0, 5, 2, 36, 17, 18, 11, 0, 2, 5, 17, 14, 17
This appears to be fixed in 1.0.3.
I'm able to run the test (with the changes mentioned in Comment #1) and complete all 100 tests without error on my N1.