{"push_id":1327241935,"size":13,"distinct_size":13,"ref":"refs/heads/master","head":"7a9f172bfe047bc90c88b87cfb7c3f04a0086de9","before":"c2c0d2756d76cd6c253be8d0a8cd04fe6c9a8f5d","commits":[{"sha":"eddd03a99f6198c6b4dd5dc65d7c1ccdbf1e491f","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Fix concurrency problem in FileWebRequest resulting in sporadic test failures\n\nWhen I ported FileWebRequest/Response to corefx, I added a test that invokes GetRequestStreamAsync and GetResponseAsync to run concurrently with each other, as there's logic in the implementation (for reasons I'm not clear about) that suggests this should work, by blocking the latter until the former has completed.  However, there's a race condition in the product that's causing the test to fail.\n\nFileWebRequest overrides the base's Begin/EndXx methods.  It does not override the XxAsync methods.  The base XxAsync implementations just wrap the Begin/End calls, but for whatever reason they also wrap it in a Task.Run.  When FileWebRequest inherits that implementation, it causes problems for the test, as the marking that operations are in progress happens in the Begin overrides, which means they happen as part of the queued tasks from the base implementation.  In rare cases where the BeginGetResponse task runs first, or where it runs in parallel with the BeginGetRequestStream task, problems occur.\n\nThree (simple) parts to the fix:\n1. Override GetRequestStreamAsync/GetResponse so as to avoid the extra task the base class queues; it's unnecessary, causes this race condition, and adds a bit of overhead.  I did some small refactoring to reuse all of the other logic between the XxAsync and Begin/EndXx overrides.\n2. Make sure this concurrency test doesn't run with the synchronous methods, which would potentially manifest the same problem.\n3. Since with (1) the Task-based APIs no longer wrap the Begin/End APIs, make sure all of the tests also run with the Begin/End APIs.","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/eddd03a99f6198c6b4dd5dc65d7c1ccdbf1e491f"},{"sha":"da7b71d4a44645c319a454a3f66f76b76d2aca27","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Address PR feedback","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/da7b71d4a44645c319a454a3f66f76b76d2aca27"},{"sha":"91e55ce3b66929920ca01bb9ad7bc3db8c524be5","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Skip a not support CodeDom test on desktop\n\nOne of the CodeDom tests is verifying that PlatformNotSupportedExceptions are thrown from certain operations that aren't supported yet on core, but are on desktop.  Just skip the test on desktop.","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/91e55ce3b66929920ca01bb9ad7bc3db8c524be5"},{"sha":"d37f83fb58b99eef950787f191744f503ee50067","author":{"name":"dotnet-bot","email":"f84cdf622175726c596bcedcda3805233e2ca5f8@microsoft.com"},"message":"Update CoreClr, CoreFx to beta-24601-01, beta-24530-03, respectively","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/d37f83fb58b99eef950787f191744f503ee50067"},{"sha":"3cc3683cf4002ea0c1d92b00fd36e8cef2259bdc","author":{"name":"Bart De Smet","email":"1dbd4e5507e42fc0a5c7c3e1825caf0c9a94df86@microsoft.com"},"message":"Separating instructions onto their own files","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/3cc3683cf4002ea0c1d92b00fd36e8cef2259bdc"},{"sha":"93b277c12c129347b5d05de973fe00323ac37fbc","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Merge pull request #12262 from dotnet-bot/master-UpdateDependencies\n\nUpdate CoreClr, CoreFx to beta-24601-01, beta-24530-03, respectively (master)","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/93b277c12c129347b5d05de973fe00323ac37fbc"},{"sha":"066111915d6fc90e9eae4d8672dd43bedca6c1ae","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Merge pull request #12265 from stephentoub/skip_codedom_test\n\nSkip a not support CodeDom test on desktop","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/066111915d6fc90e9eae4d8672dd43bedca6c1ae"},{"sha":"f1f20ecbde6e4bbe3cc982ac56558c332c2a422b","author":{"name":"Bart De Smet","email":"1dbd4e5507e42fc0a5c7c3e1825caf0c9a94df86@microsoft.com"},"message":"Adding some IL tests for closure generation.","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/f1f20ecbde6e4bbe3cc982ac56558c332c2a422b"},{"sha":"344c0081981238938fcc8717aa6e8c5466c853a6","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Merge pull request #12231 from stephentoub/fix_fwr_concurrency\n\nFix concurrency problem in FileWebRequest resulting in sporadic test failures","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/344c0081981238938fcc8717aa6e8c5466c853a6"},{"sha":"9dd8a3819b1c65b928dd120a1f930a157c602884","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Merge pull request #12271 from bartdesmet/InterpreterStructure\n\nSeparating instructions onto their own files","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/9dd8a3819b1c65b928dd120a1f930a157c602884"},{"sha":"dc6256b0092d3b8b91b5bacc0bf869054bd2798c","author":{"name":"Stephen Toub","email":"b60ab4ec0ae5032e51dd285ac67105c722f075d3@microsoft.com"},"message":"Merge pull request #12274 from bartdesmet/VerifyMoreIL\n\nAdding some IL tests for closure generation.","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/dc6256b0092d3b8b91b5bacc0bf869054bd2798c"},{"sha":"eb94e8f940585bef641a5743ef3043477e3f5267","author":{"name":"Jan Kotas","email":"ef12690177f97a0d90c7dc945df7fe18ccd5b553@microsoft.com"},"message":"Ensure that netcore50 won't be broken by directly referencing S.P.CoreLib in facades (#12269)\n\n- Update System.Diagnostics.StackTrace to netstandard1.7\r\n- Disable netcore50 builds that would get broken","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/eb94e8f940585bef641a5743ef3043477e3f5267"},{"sha":"7a9f172bfe047bc90c88b87cfb7c3f04a0086de9","author":{"name":"Jan Kotas","email":"ef12690177f97a0d90c7dc945df7fe18ccd5b553@microsoft.com"},"message":"Cleanup (#12268)\n\n- Delete bit-rotten netstandard13aot and netstandard15aot support that never shipped\r\n- Delete files moved to CoreLib that no longer build","distinct":true,"url":"https://api.github.com/repos/weshaggard/corefx/commits/7a9f172bfe047bc90c88b87cfb7c3f04a0086de9"}]}
{"actor":{"display_login":"weshaggard"}}