Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CoreFX System.IO.Pipes namespace #7143

Closed
marek-safar opened this issue Feb 20, 2018 · 4 comments
Closed

CoreFX System.IO.Pipes namespace #7143

marek-safar opened this issue Feb 20, 2018 · 4 comments
Assignees
Labels

Comments

@marek-safar
Copy link
Member

No description provided.

@luhenry
Copy link
Contributor

luhenry commented Apr 19, 2018

Depends on #8051.

@mfilippov
Copy link
Contributor

@luhenry Have you any news about this issue. I very want to have parallel build on macOS in MSBuild.

@marek-safar marek-safar changed the title CoreFX System.IO.Pipes CoreFX System.IO.Pipes namespace Jul 9, 2018
@filipnavara
Copy link
Contributor

filipnavara commented Jul 14, 2018

I reworked the original GSoC patch. It doesn't work, but feel free to pick it up and debug

https://github.com/filipnavara/corefx/tree/corefx-pipes (CoreFX changes needed because of some code not yet imported to Mono)
https://github.com/filipnavara/mono/tree/corefx-pipes

Update: I messed up the CoreFX part for socket.Receive. When fixed it passes couple of the unit tests, but still gets stuck later.
Update 2: It looks like the anonymous pipes actually work on macOS. The named pipes are still broken (pun not intended).
Update 3: The stuck test is ClonedServer_ActsAsOriginalServer, but it actually runs to the end.

@marek-safar marek-safar assigned akoeplinger and unassigned alexischr Jul 17, 2018
marek-safar pushed a commit that referenced this issue Jul 24, 2018
Rework of #5448, contributes to #7143.

The anonymous pipes were tested on macOS, build was tested only on few configurations (hoping to solve some issue through Jenkins builds). Named pipe tests get stuck on macOS, but it may be unrelated Xunit issue and needs some proper debugging.

@Therzok, do you know of anything else that is missing for parallel MSBuild? Do you have some test environment for it by chance?
@jaykrell
Copy link
Contributor

3 tests from here are failing several PRs in CI.
#9776

luhenry added a commit to lambdageek/mono that referenced this issue Aug 2, 2018
* [linker] Move BCL size diff to nightly job

It was too annoying on every PR

* [mini] return gracefully from compile_special if a method can not be compiled

the caller will check `error` anyway. It allows the machinery to try the
interpreter instead.

* [interp] add Span<T> intrinsics for get_Item and get_Length

similar to https://github.com/mono/mono/pull/9086/files#diff-89fe30e1e87c5db21be052ddb0c8e28dR183

* address review feedback

* [interp] Don't throw exception on -1 division

* [bcl] Update BCL Linked Size (mono#9682)

* [runtime] Return the result properly from mono_exception_walk_trace (). (mono#9675)

[runtime] Return the result properly from mono_exception_walk_trace ().

* Use `SafePasswordHandle` in the internal certificate APIs. (mono#9651)

* `X509Helper`, `X509CertificateImpl`, `X509Certificate2Impl` and `ISystemCertificateProvider` now use `SafePasswordHandle` instead of strings.

* `X509Certificate`: actually implement `SecurePassword` based APIs using `SafePasswordHandle`.

* `mono_btls_pkcs12_import()`: when passed an empty password, try both the empty string and null.

* [MacOS] On Mac, use the copyfile API to copy files (mono#9642)

[MacOS] On Mac, use the copyfile API to copy files

Rebase of mono#9038 with added fix for the failing unit tests. Note that there's a race condition in the check between `source file == destination file` and the `copyfile` call, but a similar race condition already exists there in the current code except the outcome is different.

* [mcs] Don't wrap exception expression in contextual return. Fixes mono#9505

* Remove ves_icall_System_AppDomain_GetIDFromDomain. (mono#9674)

* Remove excess code -- strings are already nul terminated. (mono#9697)

* System.IO.Pipes from CoreFX (mono#9573)

Rework of mono#5448, contributes to mono#7143.

The anonymous pipes were tested on macOS, build was tested only on few configurations (hoping to solve some issue through Jenkins builds). Named pipe tests get stuck on macOS, but it may be unrelated Xunit issue and needs some proper debugging.

@Therzok, do you know of anything else that is missing for parallel MSBuild? Do you have some test environment for it by chance?

* [System.Reflection] CoreFX import for set of simple types. (mono#9693)

Part of mono#9660.

The imported CoreFX types:
- AmbiguousMatchException
- AssemblyAlgorithmIdAttribute
- AssemblyCompanyAttribute
- AssemblyConfigurationAttribute
- AssemblyConfigurationAttribute
- AssemblyContentType
- AssemblyCopyrightAttribute
- AssemblyCultureAttribute
- AssemblyDefaultAliasAttribute
- AssemblyDelaySignAttribute
- AssemblyDescriptionAttribute
- AssemblyFileVersionAttribute
- AssemblyFlagsAttribute
- AssemblyInformationalVersionAttribute
- AssemblyKeyFileAttribute
- AssemblyKeyNameAttribute
- AssemblyMetadataAttribute
- AssemblyNameFlags
- AssemblyProductAttribute
- AssemblySignatureKeyAttribute
- AssemblyTitleAttribute
- AssemblyTrademarkAttribute
- AssemblyTrademarkAttribute
- AssemblyVersionAttribute
- BindingFlags
- CallingConventions
- CustomAttributeFormatException
- DefaultMemberAttribute
- EventAttributes
- FieldAttributes
- GenericParameterAttributes
- ICustomAttributeProvider
- ImageFileMachine
- InterfaceMapping
- IntrospectionExtensions
- InvalidFilterCriteriaException
- IReflect
- IReflectableType
- MemberFilter
- MemberTypes
- MethodAttributes
- MethodImplAttributes
- ObfuscateAssemblyAttribute
- ObfuscationAttribute
- ParameterAttributes
- ParameterModifier
- PortableExecutableKinds
- ProcessorArchitecture
- PropertyAttributes
- ReflectionContext
- ReflectionTypeLoadException
- ResourceAttributes
- TargetException
- TargetInvocationException
- TargetParameterCountException
- TypeAttributes
- TypeFilter

* [bcl] Update BCL Linked Size

* [coop] Refactor suspend policy selection code

Untangle the configure-time and runtime suspend policy defaults.

* New MONO_THREADS_SUSPEND env var to select suspend policy

Set to one of "preemptive", "coop" or "hybrid".

Unlike the old MONO_ENABLE_COOP, MONO_ENABLE_COOP_SUSPEND,
MONO_ENABLE_HYBRID_SUSPEND, the value of MONO_THREADS_SUSPEND will take
priority over the configure flags default.

For compatability the old environment variables will be respected if neither
MONO_THREADS_SUSPEND nor a configure flag was set.  A warning will be emitted
if MONO_THREADS_SUSPEND isn't set.  (Rationale: maybe the environment set both
because they're not sure which version of Mono they will be running - so don't
nag them).

* [coop] Define mono_threads_is_blocking_transition_enabled in terms of suspend policy

Instead of digging around in the environment for the coop and hybrid suspend
settings, define in terms of mono_threads_suspend_policy (or the
MONO_ENABLE_BLOCKING_TRANSITION env var as before).

* [runtime] Removes unused icalls

* Be sure always assign out parameter. (mono#9701)

* NOHANDLES(ves_icall_Interop_Sys_DoubleToString) (mono#9702)

* [Coop] NOHANDLES(ReleaseMutex_internal), remove some error_init, (mono#9704)

and clear last error in Win32 path like on Unix.

* [Coop] Convert CreateProcess and ShellExecute. (mono#9699)

* [System]: Remove two `X509Certificate2Test` tests.

Both `Certificate_11_Properties` and `Certificate_14_Properties` use an invalid
certificate that violates X.690 11.8.2 (UTCTime under a DER encoding).

This will no longer be supported once we switch to CoreFX's PAL code.

See also dotnet/corefx#31293.

* Revert CharUnicodeInfo to reference-sources (Big Endian issue) (mono#9711)

Temporarily switch back to ref-source impl for `CharUnicodeInfo` which contains a few special BE patches while I am trying to upstream them.

Fixes mono#9684

* Fix up behaviour of verbose method with arguments (mono#9087)

* Fix up behaviour of verbose method with arguments

Given a method spec which looks like:
`MainClass:Do(int,int,int)`

Via f024e82 the code would match 3 methods:
`MainClass:Do(int`, `int`, `int)`, crashing the runtime.

Accept the multiple method matches via `;`, rather than `,`.

Now, the behaviour is changed so:
`MainClass:Do(int,int,int);MainClass:Do(int,int)`

Get parsed as:
`MainClass:Do(int,int,int)`
`MainClass:Do(int,int)`

* Add tests

* add test file and make tests actually output something

* Smarter unit test around disassembling methods

* Try single quoting environment variable value

* Try using non-throwing setter

* Move generated resource files from System and System.Security into corlib. (mono#9665)

* Make `corlib` internals visible to `System.Security` on all profiles, not just monotouch watch.
  
* Moves all generated `SR` files and their generation logic from `System` and `System.Security` into `corlib`.  Since `corlib` internals are visible to these assemblies, we don't need to duplicate the resource strings.

* Cleanup the `RESX_RESOURCE_STRING` is `corlib` and sort them alphabetically.

* Add the internal `Internal.Cryptography.Helpers` helper class from CoreFX to `corlib` (currently unused, but "Blue" will need it).

* [build] Update xunit to 2.4 version

This exposed few issue in CoreFX tests

* [corlib]: Cleanup `X509Certificate` implementation and sync it with CoreFx. (mono#9650)

* [corlib]: Cleanup `X509Certificate` implementation and sync it with CoreFX.

Completely refactored the `X509Certificate` implementation to make it based very closely on CoreFX.

We cannot fully switch to their implementation yet because we are missing things and they also have
a few issues in their implementation.  However, this will make it a lot easier to do this at a later time.

The internal `X509CertificateImpl` has been cleaned up as well, using properties instead of methods in
most places and the `ToString()` implementation is now shared between all platforms.

* `X509Certificate.CreateFromSignedFile()`: in CoreFX, this is the same as `CreateFromCertFile()`.
  Our old implementation was incomplete and did not verify the signature - we even had a test where
  loading a certificate with an invalid signature was supposed to work; this test has been disabled
  because we're now throwing an exception.

* `X509CertificateImpl.KeyAlgorithmParameters`: this is supposed to throw `CryptographicException`
  on error, see `Certificate13` in `X509CertificateTest.cs`.

* We now match CoreFX's behavior regarding serialization - while the `X509Certificate` type is still
  marked as `[Serializable]`, we now throw `PlatformNotSupportedException` when attempting to serialize
  or deserialize it.

* Bump API snapshot submodule

* [csproj] Update project files

* [tests] Disable verbose.exe test on Windows

See mono#9739

* [corlib] Bring back serialization ctors/methods for X509Certificate (mono#9745)

They were replaced with PNSE in mono#9650
but that broke xUnit 2.4.0.

* [bcl] Update BCL Linked Size (mono#9747)

Size Diff: https://jenkins.mono-project.com/job/test-mono-mainline-bclsize/18/BCL_20Size_20Diff/

Commits since last update:

.NET 4.x: 8b25769...770ad9e
MonoTouch: 8b25769...770ad9e
MonoDroid: 8b25769...770ad9e

* [interp] Improve icall perf (mono#9645)

* [interp] Refactor MINT_ICALL opcodes

Remove integer versions, since they add unnecessary complexity, and with some signatures we were already implicitly casting int to gpointer.

* [interp] Use fast versions for icalls

* [interp] Include more fast pinvoke/icall signatures

These cover almost all icalls

* [interp] Fix fast icall return value

The returned value needs to be converted to the stackval representation

* [runtime] Refactor cattr decoding. (mono#9724)

Return objects from load_cattr_value () using an additional out parameter. Add a variant of
mono_reflection_create_custom_attr_data_args () which can only decode a subset of cattr types, but
it doesn't allocate any objects. Use this in marshal.c/marshal-ilgen.c to avoid allocating objects
while decoding FixedBufferAttribute and UnmanagedFunctionPointerAttribute.

* [Coop] nohandles() System.Math and System.MathF. (mono#9741)

* Checkpoint tests.make update to use gensources.exe

* Manually specify the search directory for libraries when compiling gensources because it can't find it for some reason

* Checkpoint

* Checkpoint

* Checkpoint

* Bug fixes to gensources and the way tests.make invokes it. Compensate for the gross behavior where tests sources files are not relative to their location.

* Fix typo

* Okay, xtests sources files ARE relative to their location

* Remove missing directory from microsoft.csharp.dll.sources

* Workaround for gensources treating 0 result files as an error when we didn't load any non-empty sources files

* Fix parse errors in GetRelativePath and add to the ErrorCount when one occurs so the build will fail

* Handle invalid include paths. Resolve include paths relative to the .sources file even if source file names are relative to another folder.

* Fix included sources files not inheriting overridden path directory

* Remove invalid paths from exclusions files

* Ignore missing files/directories in exclusions lists since they are harmless errors

* Get rid of duplicate definition warnings for the gensources rule

* Handle extra whitespace in include directives

* Checkpoint: Move gensources build to basic.make after profile check and invoke that version directly when we need gensources.

* Checkpoint

* Fix build failure if gensources destination path doesn't exist yet by moving it to build.

* Fix wrong logic for finding the right profiles/platforms folders

* Fix xtest gensources invocation

* Fix mode damage

* Remove debugging messages

* Checkpoint: Move vars to rules.make

* Try moving gensources vars to rules.make

* Revert "Try moving gensources vars to rules.make"

This reverts commit 496f82e.

* [Coop] A bunch of nohandles(). (mono#9738)

* [Coop] System.IO mark all remaining NOHANDLES().

* Functions take no parameters, not any parameters -- () vs. (void).

* [Coop] Mark System.Threading.Interlocked as mostly NOHANDLES().

* [Coop] ves_icall_System_Threading_Thread_MemoryBarrier is NOHANDLES().

* [Coop] System.Threading volatile reads/writes are NOHANDLES().

* Make YieldInternal NOHANDLES and remove two potential layers.

* [Coop] Make ves_icall_System_Threading_Thread_current_lcid NOHANDLES().

* [Coop] mono_100ns_ticks nohandles.

* [Coop] More nohandles volatile reads/writes.

* [Coop] NOHANDLES() System.Security.SecurityManager.

* [System.Native] Build a reduced library on Android and iOS

* Fix copy/paste error. Use size parameter for non-moving GC allocation. Remove return statements from void function to silence warnings.

* Revert "[System.Native] Build a reduced library on Android and iOS"

This reverts commit 1e9be63.

It doesn't appear to been run through CI and does appear to be breaking things.
mono#9776

* [cxx] C++ deprecates the "register" keyword.

* [cxx] C++ does not have designated initializers.
 Current clang supports them, current g++ has partial support, Centos6 g++ 4.4 has no support.

* [cxx] C++11 needs spaces around string pieces to disambiguate from user defined literals.
Or at least on one side but we do both for clarity.
e.g. #define PRIdMAX "lld" (inttypes.h)
123"PRIdMAX"345" should be instead "123" PRIdMAX "345"

* [cxx] Make debugger-engine.c valid C++.

* [cxx] Convert debugger-agent.c.

* [cxx] Convert interpreter.

* [Coop] Convert ves_icall_System_Reflection_Module_ResolveStringToken. (mono#9743)

* [Coop] Convert ves_icall_System_Reflection_Module_ResolveStringToken.

* Use System.Security.Policy.Publisher from corefx (they essentially stubbed it out). (mono#9749)

* Use System.Security.Policy.Publisher from corefx (they essentially stubbed it out).

Fixes the XUnit 2.4 problem.

* Use `PublisherMembershipCondition` from CoreFX as well (stubbed out in there) and remove the tests.

* Bump API snapshot submodule

* Update csproj

* Fix typo

* Use correct domain (so far no difference), thanks @alexischr. (mono#9784)

* [interp] Overflow fixes (mono#9688)

* [interp] Fix some conv ovf opcodes

* [interp] Correctly hande a few conv ovf cases

For conversion from unsigned value to i1 and i2.

* [interp] Fix multiplication overflow case

* [interp] Remove some constants from code

* [cxx] Build/CI support for C++. (mono#9731)

* [cxx] Build/CI support for C++.
configure -enable-cplusplus and CI_TAGS=cplusplus
https://jenkins.mono-project.com//job/test-mono-mainline-linux-cplusplus/

* [cxx] Rename CPLUSPLUS/cplusplus to CXX/cxx.

* [cxx] Add C++ build support to mini.

* [cxx] Jenkins/CI support for cxx not just cplusplus.

* [bcl] Update BCL Linked Size (mono#9791)

* Change corlib version to a string, so that you can use uuidgen (or a git hash or github PR). (mono#9787)

* [bcl] Include all .sources files in the tarball (mono#9803)

mono@0f0e318 added a new pipes_pns.sources file
but we forgot to add it to EXTRA_DISTFILES so it gets included in the tarball.

Given that this happens almost all the time when we add a new .sources file
we should just always include all *.sources

* Fix comparison of IntPtr with null (mono#9800)

See dotnet/corefx#31457

* Apply F# portable pdb debug fix for pinvokes & bump (mono#9792)

It wasn't possible to debug any F# app that contained PInvokes.
The F# compiler omitted MethodDebuginformation for PInvokes which in
turn caused Mono to fail on an assertion.

```
* Assertion at metadata.c:1117, condition `idx < t->rows' not met
```

* Bump submodule for mono#9684 and mono/corefx#108 (mono#9773)

* [llvm] Bump llvm to release_60/fc854b8ec5873d294b80afa3e6cf6a88c5c48886. (mono#9786)

[llvm] Bump llvm to release_60/fc854b8ec5873d294b80afa3e6cf6a88c5c48886.

Fixes mono#9750.

* [jit] Avoid checking ins->inst_left in MONO_IS_COND_BRANCH_NOFP (), its not initialized by MONO_INST_NEW (). (mono#9790)

[jit] Avoid checking ins->inst_left in MONO_IS_COND_BRANCH_NOFP (), its not initialized by MONO_INST_NEW ().

* [cxx] Keywords: new => new_, typename => type_nam, namespace => name_space, (mono#9737)

[cxx] Keywords: new => new_, typename => type_name, namespace => name_…

…space, conditionally class => super_class.

* [runtime] Make collect_threads helper pin MonoInternalThread objects

* [jit] Clean up the handling of the lower/higher parts of long values on 32 bit platforms. (mono#9807)

Instead of accessing them using the inst_ls_word/inst_ms_word macros which use the union in MonoInst.data, access them normally using
MonoInst.Data.i8const.

* Add support for Blazor custom interop support. (mono#9713)

* Add support for Blazor custom interop support.

This adds additional ability to perform unmarshalled calls for advanced but high-performance shared-memory interop.
* Note: * This is only safe in Blazor's case because of its exact usage patterns.

* Add dotnet_support.js backing file.

* Fix tarballs again (mono#9810)

* Add GC Unsafe thread state transitions to MONO_API functions - Fourth Edition (mono#9630)

* [appdomain] MONO_API mono_domain_set needs GC Unsafe

* [runtime] MONO_API mono_domain_set_config needs GC Unsafe

* [runtime] MONO_API mono_dllmap_insert sometimes needs GC Unsafe

   When adding a global mapping, don't do the state transition because the thread may not be attached yet.   When adding a per-image mapping, do the transition.

* [runtime] MONO_API mono_g_hash_table_insert needs GC Unsafe

* [runtime] MONO_API mono_g_hash_table_new_type needs GC Unsafe

* [runtime] MONO_API mono_gc_reference_queue_new needs GC Unsafe

* [runtime] mono_thread_detach_if_exiting thread state change

   1. Mark it external only, it's unused in the runtime.
   2. If detaching, switch to GC Unsafe before detaching

* [metadata] Make mono_class_get_fields external only

   - Runtime should use mono_class_get_fields_internal
   - MONO_API mono_class_get_fields needs GC Unsafe

* [runtime] MONO_API mono_gc_reference_queue_add needs GC Unsafe

* [metadata] Make mono_class_get_name and namespace external only

   - Runtime should use m_class_get_name and m_class_get_name_space
   - MONO_API mono_class_get_name and mono_class_get_namespace need GC Unsafe

* [metadata] MONO_API mono_class_get_parent needs GC Unsafe

   - mark it external only; runtime should use m_class_get_parent

* [metadata] Make mono_class_is_delegate external only

   - runtime should use m_class_is_delegate
   - MONO_API mono_class_is_delegate needs GC Unsafe

* [metadata] Make mono_class_is_valuetype external only

   - runtime should use m_class_is_valuetype
   - MONO_API mono_class_is_valuetype needs GC Unsafe

* [metadata] Make mono_class_is_enum external only

   - runtime should use m_class_is_enum_type
   - MONO_API mono_class_is_enum needs GC Unsafe

* [metadata] Mark mono_class_get_element_class external only

   - runtime should use m_class_get_element_class
   - MONO_API mono_class_get_element_class needs GC Unsafe

* w32file-unix.c fix warnings about unused locals (mono#9823)

w32file-unix.c:2361:7: warning: unused variable 'ret_utime' [-Wunused-variable]
        gint ret_utime;
             ^
w32file-unix.c:2358:15: warning: unused variable 'dest_fd' [-Wunused-variable]
        gint src_fd, dest_fd;
                     ^
w32file-unix.c:2358:7: warning: unused variable 'src_fd' [-Wunused-variable]
        gint src_fd, dest_fd;
             ^
w32file-unix.c:2362:7: warning: unused variable 'syscall_res' [-Wunused-variable]
        gint syscall_res;
             ^
4 warnings generated.

* [Coop] Convert ves_icall_MonoField_GetFieldOffset. (mono#9742)

* Fix System.Drawing on 64-bit macOS. (mono#9824)

Carbon implementation now throws exception instead of crashing in the mismatched p/invoke calls.
Cocoa implementation now support 64-bit mode and uses the handle of `NSView` that is passed in instead of relying on `NSGraphicsContext.CurrentContext`. It also fixes handling of flipped views.

Requires up to date libgdiplus.

* Really fix CoreR[FT] version of System.Decimal for big endian (mono#9828)

The version imported and attempted to patch didn't work fully. This
preserves the .NET representation while converting if directives to
runtime checks, which CoreCLR inlines.

Testing was done poking some values in the REPL and running some
test suites (System.Json, System.Decimal) that broke as a result.
mcs should also properly handle constants; again, the "bits" inside
are consistent with amd64, and just converted as needed.

Unless I fucked up, should fix mono#9772.

* [utils] Sane assert instead of crash on allocation failure

* [LinkerDescriptor] remove remoting feature from MonoMethodMessage

Fixes those failures on Xamarin.iOS:
> 2018-07-30 21:16:19.931 monotouchtest[49618:80799179] error: * Assertion at /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/mono/mono/metadata/object.c:7896, condition `init_message_method != NULL' not met
> 2018-07-30 21:16:19.931 monotouchtest[49618:80799179] critical: Stacktrace:
>
> 2018-07-30 21:16:19.932 monotouchtest[49618:80799179] critical:   at <unknown> <0xffffffff>
> 2018-07-30 21:16:19.932 monotouchtest[49618:80799179] critical:   at (wrapper managed-to-native) object.__icall_wrapper_mono_delegate_begin_invoke (object,intptr) <0x00012>
> 2018-07-30 21:16:19.932 monotouchtest[49618:80799179] critical:   at (wrapper delegate-begin-invoke) <Module>.begin_invoke_IAsyncResult__this___AsyncCallback_object (System.AsyncCallback,object) [0x00015] in <643e5a0761d140d1977f1bbd2bd72153>:0
> 2018-07-30 21:16:19.932 monotouchtest[49618:80799179] critical:   at MonoTouchFixtures.AVFoundation.AVAssetImageGeneratorTest.GenerateCGImagesAsynchronously () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/monotouch-test/AVFoundation/AVAssetImageGeneratorTest.cs:126
> 2018-07-30 21:16:19.933 monotouchtest[49618:80799179] critical:   at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <643e5a0761d140d1977f1bbd2bd72153>:0
> 2018-07-30 21:16:19.933 monotouchtest[49618:80799179] critical:   at <unknown> <0xffffffff>
> 2018-07-30 21:16:19.934 monotouchtest[49618:80799179] critical:   at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0x00012>
> 2018-07-30 21:16:19.934 monotouchtest[49618:80799179] critical:   at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x0003b] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.15.0.36/src/Xamarin.iOS/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
> 2018-07-30 21:16:19.934 monotouchtest[49618:80799179] critical:   at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.15.0.36/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
> 2018-07-30 21:16:19.934 monotouchtest[49618:80799179] critical:   at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215
> 2018-07-30 21:16:19.935 monotouchtest[49618:80799179] critical:   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:114

Also see
https://github.com/xamarin/xamarin-macios/blob/10d98e67d88231fd41218a93b92d42914550ee10/tools/mtouch/Tuning.cs#L137

@akoeplinger mentions further:
> we even have custom code to preserve MonoMethodMessage in the XI linker:
> https://github.com/xamarin/xamarin-macios/blob/a563a66c342d2e982a9648fbfd5ce9c361bea07e/tools/linker/MonoTouch.Tuner/RemoveCode.cs#L178-L180

Fixes regression introduced by mono#8055
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants