Handle managed exceptions a bit better when we know there won't be any other
managed frames further up the stack (such as in the main method). In this
case, there's no use in trying to convert the managed exception into an
Objective-C exception, because we already know the process will be terminated.
Instead just print the exception to stderr, and abort immediately.
This means we'll actually get some useful information printed to stderr.
* adding nullability
* throw better exceptions
* use is null and is not null
* revert these exceptions
* use ArrayPoolBuffer and remove comments
* remove the exclamation point
* Throw exceptions instead of re-init
* Move EnsureBufferInitialized to the correct spot
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
- Add a stupidly simple "download a nuget and test it" target
- Fix a few targets that should have had :: instead of : (I believe)
I tried to create a fancy define block to param this instead of hard coding, but I ran into the limits of my makefile example. Bike shedding an example would be appreciated, else we can go with this for now.
* Handle 502 and 503 errors in the TrustUsingOldPolicy and TrustUsingNewCallback tests. Fixes:
[FAIL] TrustUsingOldPolicy : System.Net.WebException : The remote server returned an error: (503) Service Unavailable.
[FAIL] TrustUsingNewCallback : System.Net.WebException : The remote server returned an error: (503) Service Unavailable.
* Add more http and https urls to try (and don't use microsoft.com). Hopefully fixes:
[FAIL] WebClient_SSL_Leak : At least one url should work
This is a follow-up to #14943.
* Update dependencies from https://github.com/dotnet/runtime build 20220510.4
Microsoft.NETCore.App.Ref
From Version 6.0.6 -> To Version 6.0.6
* Update dependencies from https://github.com/dotnet/runtime build 20220513.1
Microsoft.NETCore.App.Ref
From Version 6.0.6 -> To Version 6.0.6
* Update dependencies from https://github.com/dotnet/runtime build 20220513.11
Microsoft.NETCore.App.Ref
From Version 6.0.6 -> To Version 6.0.6
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Update dependencies from https://github.com/dotnet/installer build 20220513.15
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.301-rtm.22261.3 -> To Version 6.0.301-rtm.22263.15
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
There will always be an API diff between:
* legacy Xamarin.*.dll assemblies and .NET Microsoft.*.dll assemblies.
* Microsoft.iOS.dll and Microsoft.MacCatalyst.dll
so don't bother with logic to detect empty diffs, just assume they will never be empty.
* Update dependencies from https://github.com/dotnet/installer build 20220510.1
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.301-rtm.22254.17 -> To Version 6.0.301-rtm.22260.1
* Update dependencies from https://github.com/dotnet/installer build 20220510.12
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.301-rtm.22254.17 -> To Version 6.0.301-rtm.22260.12
Dependency coherency updates
Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref
From Version 6.0.200-1.22178.2 -> To Version 6.0.200-1.22219.3 (parent: Microsoft.Dotnet.Sdk.Internal
* Update dependencies from https://github.com/dotnet/installer build 20220511.3
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.301-rtm.22254.17 -> To Version 6.0.301-rtm.22261.3
Dependency coherency updates
Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref
From Version 6.0.200-1.22178.2 -> To Version 6.0.200-1.22219.3 (parent: Microsoft.Dotnet.Sdk.Internal
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Improve error reporting when an external tool fails to print some of stderr (up to 1024 characters).
Before:
error : clang exited with code 1
After:
error : clang exited with code 1:
error : [...]/xamarin-macios/tests/dotnet/MyInterpretedApp/iOS/obj/Debug/net6.0-ios/iossimulator-x64/linker-cache/main.x86_64.mm:58:25: error: use of undeclared identifier 'MONO_AOT_MODE_INTERP_ONLY'; did you mean 'MONO_AOT_MODE_INTERP'?
error : mono_jit_set_aot_mode (MONO_AOT_MODE_INTERP_ONLY);
error : ^~~~~~~~~~~~~~~~~~~~~~~~~
error : MONO_AOT_MODE_INTERP
error : [...]/xamarin-macios/builds/downloads/dotnet-sdk-6.0.301-rtm.22254.17-osx-x64/packs/Microsoft.iOS.Runtime.iossimulator-x64/15.4.16-ci.x64-interpreter-only/runtimes/iossimulator-x64/native/xamarin/mono-runtime.h:452:2: note: 'MONO_AOT_MODE_INTERP' declared here
error : MONO_AOT_MODE_INTERP,
error : ^
Point to a new document in the wiki explaining how to get version information
and build logs.
The wiki allows us to have longer explanations with screenshots, and it also
explains how to get a binary build log.
* A few tests seem to be failing rather consistently with network errors.
Rewrite these tests to try multiple urls before failing (we'll be assuming
that if one of the urls succeed, the other failures were network related).
* Rename the LinkAnyTest.WebClientTest to LinkAnyTest.WebClientTest_Http to
follow it's original intent, and make it test http instead of https.
* Remove unnecessary assertion from SSL_IP_5706. This is tested in plenty of other places.
- change visibility of methods in Program.cs to make it unit-testable
- infrastructure to find the Microsoft platform dlls
- tests to ensure that Xamarin and Microsoft dlls are where we expect
- a (failing) test that shows that dependency is not being removed
* Add nullability
* throw better null exceptions
* use is null and is not null AND fix spacing
* Rolfs suggestions and redo spacing
* missed a few spaces
* Found one more elusive space
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Bots seems to break more often after this change, so let's see if this improves matters.
This is what happens with the bots:
We stopped hearing from agent [...]. Verify the agent machine is running and has a healthy network connection. Anything that terminates an agent process, starves it for CPU, or blocks its network access can cause this error. For more information, see: https://go.microsoft.com/fwlink/?linkid=846610
Before:
$ make whatever
Print: Entry, ":ProductBuildVersion", Does Not Exist
After:
$ make whatever
The required Xcode (13.3) is not installed in /Applications/Xcode_13.3.0.app/Contents/Developer
Switch to getting mono-api-[info|html] from a newly created repository we
control and where we can easily fix issues, since mono/mono isn't getting many
fixes anymore. In the past I know I've been reluctant to look at these tools,
just because of the hassle of setting things up to debug, and then the
paperwork to get the fixes in mono/mono, and then backported to the branch
where we need them.
This repo has a few other benefits:
* The tools are built using normal projects, which means they're easy to debug
in an IDE (mono/mono's code has generated project files, which used in-tree versions
of the BCL, and it got quite complex quite fast).
* One fewer dependency on the mono archive, so we're getting closed to be able
to drop it completely when we drop support for legacy Xamarin.
* #13669 is already fixed there.
* It contains a few other misc fixes.
Fixes https://github.com/xamarin/xamarin-macios/issues/13669.
- Test is currently semi-manual and uses Alert to popup results
- Covers nint/nuint/nfloat with method/prop/field/event
- Execution currently doesn't execute events yet.
- Test fails due to reference issue reported to Steve
- Currently not hooked up to any automated tests