Rodrigo Kumpera [Tue, 26 Jan 2016 19:42:03 +0000 (14:42 -0500)]
Merge pull request #2508 from lambdageek/monoerror-check_array_for_usertypes
[runtime] Use MonoError for check_array_for_usertypes
Rodrigo Kumpera [Tue, 26 Jan 2016 19:39:48 +0000 (14:39 -0500)]
Merge pull request #2506 from lambdageek/monoerror-mono_reflection_type_resolve_user_types
[runtime] Use MonoError for mono_reflection_type_resolve_user_types
monojenkins [Tue, 26 Jan 2016 19:15:17 +0000 (19:15 +0000)]
Merge pull request #2516 from lambdageek/monoerror-exception_instance
[runtime] Add MONO_ERROR_EXCEPTION_INSTANCE MonoError
This kind of MonoError can encapsulate a managed MonoException
object. (For example as a result of mono_runtime_invoke ()).
Issues:
- [x] Memory leak correctness.
`MonoError` already leaks memory if you simply swallow it without calling `mono_error_cleanup` or some function that calls it (for example `mono_error_raise_exception` or `mono_error_convert_to_exception`).
Now if we have an encapsulated exception, we'll leak a GC handle unless cleanup happens.
Sebastien Pouliot [Tue, 26 Jan 2016 18:11:46 +0000 (13:11 -0500)]
[System] Make SmtpClient fallback to it's old behaviour if the hostname cannot be resolved. Fix #37246
Warning: System.Net.Mail is broken by design and sends incorrect emails.
This is not to fix SmtpClient itself but to ensure it remains compatible
(even if incorrect/broken) with older Mono releases.
The commit associated with bug# 33551 [1] can cause issues on computer
and devices that cannot resolve their hostname using the Dns API (which
have their own issues).
This commit catch the exception that occurs when resolution fails and
continue to send an email without a fully qualified domain name - just
like earlier Mono versions did in the past.
This solve bug #32746 [2] where some, but not all, AppleTV devices fails
to execute some of the System.dll unit tests.
Note: Whenever possible stay clear of SmtpClient (and friends) and use
something else like MimeKit/MailKit for your email needs
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=33551
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=37246
Rodrigo Kumpera [Tue, 26 Jan 2016 17:50:31 +0000 (12:50 -0500)]
Merge pull request #2490 from ludovic-henry/monoerror-mono_string_builder_to_
[runtime] Use MonoError for mono_string_builder_to_utf8 and mono_string_builder_to_utf16
Rodrigo Kumpera [Tue, 26 Jan 2016 17:41:56 +0000 (12:41 -0500)]
Merge pull request #2463 from ludovic-henry/monoerror-mono_object_new_pinned
[runtime] Use MonoError for mono_object_new_pinned
Jonathan Pryor [Tue, 26 Jan 2016 17:30:27 +0000 (12:30 -0500)]
Merge pull request #2510 from jonpryor/jonp-MonoThread-accessors
[runtime] Allow getting thread name, managed id from embedding API
Rodrigo Kumpera [Tue, 26 Jan 2016 17:20:29 +0000 (12:20 -0500)]
Merge pull request #2512 from ludovic-henry/fix-coop-test-runtime
[coop] Use mono_thread_info_usleep which transition to BLOCKING state
Aleksey Kliger [Mon, 25 Jan 2016 23:39:46 +0000 (18:39 -0500)]
[runtime] Add MONO_ERROR_EXCEPTION_INSTANCE MonoError
This kind of MonoError can encapsulate a managed MonoException
object. (For example as a result of mono_runtime_invoke ()).
monojenkins [Tue, 26 Jan 2016 14:50:17 +0000 (14:50 +0000)]
Merge pull request #2449 from lambdageek/dev/no-chunks
[handle] Remove chunk_last field from MonoHandleArena
Remove the `chunk_last` field. This changes MonoHandleArena from a queue of chunks to a stack of chunks. More importantly, the MonoHandleArena has an initial chunk that is allocated on the stack together with the arena. Previously that chunk was at the front of the list of chunks, but now it is at the end.
Alexander Köplinger [Tue, 26 Jan 2016 12:13:10 +0000 (13:13 +0100)]
Merge pull request #2514 from akoeplinger/disable-monoposix-test
[Mono.Posix] Disable new ControlMsg() test that fails on OSX for now
Ludovic Henry [Fri, 22 Jan 2016 12:26:46 +0000 (12:26 +0000)]
[runtime] Use MonoError for mono_string_builder_to_utf8 and mono_string_builder_to_utf16
monojenkins [Tue, 26 Jan 2016 08:20:42 +0000 (08:20 +0000)]
Merge pull request #2511 from ludovic-henry/fix-coop-debugger
[coop] Fix debugger BLOCKING transitions
Alexander Köplinger [Tue, 26 Jan 2016 01:10:41 +0000 (02:10 +0100)]
[Mono.Posix] Disable new ControlMsg() test that fails on OSX for now
Added with https://github.com/mono/mono/pull/2097. Fails on Jenkins:
```
Test Case Failures:
1) MonoTests.Mono.Unix.Native.SocketTest.ControlMsg : System.ArgumentException : Invalid argument
----> Mono.Unix.UnixIOException : Invalid argument [EINVAL].
at Mono.Unix.UnixMarshal.ThrowExceptionForLastError () [0x00000] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:460
at MonoTests.Mono.Unix.Native.SocketTest+<ControlMsg>c__AnonStorey2.<>m__0 (Int32 so1, Int32 so2) [0x0018f] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:778
at MonoTests.Mono.Unix.Native.SocketTest.WithSocketPair (System.Action`2 f) [0x00025] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:68
at MonoTests.Mono.Unix.Native.SocketTest.<ControlMsg>m__9 (Int32 inner_so1, Int32 inner_so2) [0x00014] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:739
at MonoTests.Mono.Unix.Native.SocketTest.WithSocketPair (System.Action`2 f) [0x00025] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:68
at MonoTests.Mono.Unix.Native.SocketTest.ControlMsg () [0x00000] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:738
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:295
--UnixIOException
```
Zoltan Varga [Tue, 26 Jan 2016 00:37:40 +0000 (19:37 -0500)]
[llvmonly] Call 'opt' when running with --aot=asmonly too. No optimizations enabled yet.
Zoltan Varga [Tue, 26 Jan 2016 00:13:56 +0000 (19:13 -0500)]
[llvm] Add another missing opcode.
Rodrigo Kumpera [Tue, 26 Jan 2016 00:07:23 +0000 (19:07 -0500)]
Merge pull request #2483 from ludovic-henry/monoerror-mono_string_new_size
[runtime] Use MonoError for mono_string_new_size
Rodrigo Kumpera [Mon, 25 Jan 2016 23:54:22 +0000 (18:54 -0500)]
Merge pull request #2493 from ludovic-henry/monoerror-mono_thread_attach_full
[runtime] Use MonoError for mono_thread_attach_full
Rodrigo Kumpera [Mon, 25 Jan 2016 22:42:33 +0000 (17:42 -0500)]
Merge pull request #2489 from ludovic-henry/monoerror-mono_array_new_specific
[runtime] Use MonoError for mono_array_new_specific
Rodrigo Kumpera [Mon, 25 Jan 2016 22:38:41 +0000 (17:38 -0500)]
Merge pull request #2481 from ludovic-henry/monoerror-mono_array_new_full
[runtime] Use MonoError for mono_array_new_full
Zoltan Varga [Mon, 25 Jan 2016 21:56:36 +0000 (16:56 -0500)]
[llvmonly] Reenable running 'opt', it was disabled by mistake.
Zoltan Varga [Mon, 25 Jan 2016 21:54:02 +0000 (16:54 -0500)]
[llvmonly] Avoid inlining the original method into unbox trampolines.
Ludovic Henry [Mon, 25 Jan 2016 21:43:47 +0000 (21:43 +0000)]
[coop] Use mono_thread_info_usleep which transition to BLOCKING state
Because we could sleep for too long, while being in RUNNING state, the cooperative suspend would not finish in a timely manner. That would lead to the abort in `mono_threads_wait_pending_operations`.
Ludovic Henry [Mon, 25 Jan 2016 21:08:33 +0000 (21:08 +0000)]
[coop] Fix debugger BLOCKING transitions
Make the transition as close as possible to the syscall, so we don't nest these BLOCKING transition, as they leads to a crash.
Ludovic Henry [Wed, 20 Jan 2016 14:34:58 +0000 (14:34 +0000)]
[runtime] Use MonoError for mono_object_new_pinned
Jonathan Pryor [Mon, 25 Jan 2016 20:03:53 +0000 (15:03 -0500)]
Merge pull request #2097 from steffen-kiess/posix-sockets-3
[Mono.Posix] Add support for sending and receiving socket control messages
Aleksey Kliger [Mon, 25 Jan 2016 18:03:01 +0000 (13:03 -0500)]
[runtime] Use MonoError for check_array_for_usertypes
Jonathan Pryor [Mon, 25 Jan 2016 18:42:32 +0000 (13:42 -0500)]
[runtime] Allow getting thread name, managed id from embedding API
When tracing multi-threaded program execution, it is useful to have a
way of separating which events happen on which thread. The
System.Threading.Thread.Name and Thread.ManagedThreadId properties are
useful proxies for tracking program execution.
However, if program execution spans both managed and embedded mono
native code, there is no existing mechanism to read the Thread.Name or
Thread.ManagedThreadId properties from native code without using
delegates, and delegates may not be usable in all circumstances (e.g.
within a mono_gc_register_bridge_callbacks() callback).
Add the following APIs to the embedding API to permit reading the
Thread.Name and Thread.ManagedThreadId properties:
char *mono_thread_get_name_utf8 (MonoThread *thread);
gint32 mono_thread_get_managed_id (MonoThread *thread);
mono_thread_get_name_utf8() returns the Thread.Name value as a UTF-8
string in newly allocated memory; the caller must g_free() this value.
mono_thread_get_managed_id() returns the Thread.ManagedThreadId value.
Zoltan Varga [Mon, 25 Jan 2016 19:18:59 +0000 (14:18 -0500)]
[llvmonly] Rename MonoDelegate.rgctx to 'extra_arg' to better reflect its purpose.
Zoltan Varga [Mon, 25 Jan 2016 18:45:37 +0000 (13:45 -0500)]
Merge pull request #2429 from alexanderkyte/nunit_lite_integration
[nunit-lite] Add nunit-lite runner to build system
Sebastien Pouliot [Mon, 25 Jan 2016 18:45:11 +0000 (13:45 -0500)]
[tests][System][ios] Avoid reflection usage when testing for Xamarin.iOS. Fixes #34133
When the linker is enabled (default for device builds) unused methods
are removed and cannot be reflected.
In this case we do not need reflection as the answer to port reuse is
always true.
https://bugzilla.xamarin.com/show_bug.cgi?id=34133
Aleksey Kliger [Mon, 25 Jan 2016 17:50:34 +0000 (12:50 -0500)]
[runtime] Use MonoError for mono_reflection_type_resolve_user_types
Zoltan Varga [Mon, 25 Jan 2016 17:37:04 +0000 (12:37 -0500)]
monojenkins [Mon, 25 Jan 2016 16:45:18 +0000 (16:45 +0000)]
Merge pull request #2504 from ludovic-henry/fix-console-error
[Console] Fix Console.Error to terminal (tty)
Ludovic Henry [Mon, 25 Jan 2016 13:48:10 +0000 (13:48 +0000)]
[Console] Cleanup console setup
Ludovic Henry [Mon, 25 Jan 2016 13:01:11 +0000 (13:01 +0000)]
[Console] Fix Console.Error to terminal (tty)
We would previously open the standard output for the Console.Error StreamWriter. This behavior has never surfaced so far, because if you try to redirect the process standard output through a pipe or to a file, then the condition ConsoleDriver.IsConsole does not apply, and the other path does not have the same bug.
The only way to reproduce it is to redirect the standard error to another file, and observe that you would still have the Console.Error content. For example, with mono/tests/console-output.exe:
Expected output:
$> MONO_PATH=mcs/class/lib/net_4_x mono/mini/mono mono/tests/console-output.exe 2>/dev/null
Out
Actual output:
$> MONO_PATH=mcs/class/lib/net_4_x mono/mini/mono mono/tests/console-output.exe 2>/dev/null
Out
Error
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=36988
Zoltan Varga [Mon, 25 Jan 2016 01:46:01 +0000 (20:46 -0500)]
Remove libgc/depcomp and libgc/missing, newer automake versions seem to overwrite them.
Zoltan Varga [Mon, 25 Jan 2016 01:40:21 +0000 (20:40 -0500)]
[llvm] Fix 32 bit platform support which got broken after
c678533842f10356968c203ed8fa43e86a406c6e.
Zoltan Varga [Mon, 25 Jan 2016 01:15:57 +0000 (20:15 -0500)]
[amd64] Add some more unwind info for generic trampolines.
Zoltan Varga [Sun, 24 Jan 2016 23:09:21 +0000 (18:09 -0500)]
[llvmonly] Optimize delegate invocation.
Zoltan Varga [Sun, 24 Jan 2016 03:29:30 +0000 (22:29 -0500)]
Merge pull request #2487 from alexanderkyte/wrapper_type_mismatch
[runtime] Fix type mismatch between runtime invoke and aot compiler
Zoltan Varga [Sun, 24 Jan 2016 03:09:37 +0000 (22:09 -0500)]
[llvmonly] Fix the invocation of generic array helpers, they need an rgctx arg.
monojenkins [Sat, 23 Jan 2016 18:45:14 +0000 (18:45 +0000)]
Merge pull request #2499 from alexrp/signal-sa-restart
[runtime] Add SA_RESTART to SIG{CONT,INT,PROF,QUIT,USR2,WINCH}.
We need this as these signals can be delivered at any point and can interrupt system calls that external (non-Mono) code is executing, which such code may not be written to handle gracefully.
Rodrigo Kumpera [Sat, 23 Jan 2016 05:10:59 +0000 (00:10 -0500)]
Merge pull request #2453 from kumpera/fix_ji_free
[runtime] Avoid a read-after-free in JI table that frees tomstones. Fixes some of the crashes in #36851.
Rolf Bjarne Kvinge [Sat, 23 Jan 2016 02:08:56 +0000 (03:08 +0100)]
[linker] Add API to notify subclasses of removed attributes.
Zoltan Varga [Fri, 22 Jan 2016 23:20:35 +0000 (18:20 -0500)]
[arm] Emit more complete unwind info for generic trampolines.
Alex Rønne Petersen [Fri, 22 Jan 2016 19:57:06 +0000 (20:57 +0100)]
[runtime] Add SA_RESTART to SIG{CONT,INT,PROF,QUIT,USR2,WINCH}.
We need this as these signals can be delivered at any point and can interrupt
system calls that external (non-Mono) code is executing, which such code may
not be written to handle gracefully.
Sebastien Pouliot [Fri, 22 Jan 2016 19:19:46 +0000 (14:19 -0500)]
[system] Avoid reflection use to create NtlmSession. Fixes #37732
commit
d2325f1483cd642457a7b2efe402e3c1d414d69d (only since 4.3.2, not
4.3.1) caused the failure when an application is linked.
The use of `GetOrCreateValue` uses reflection to create an `NtlmSession`
instance so the linker won't see it as used anymore (and removes it).
Fixed by avoiding reflection (which will also perform better).
https://bugzilla.xamarin.com/show_bug.cgi?id=37732
Ludovic Henry [Fri, 22 Jan 2016 18:25:31 +0000 (18:25 +0000)]
[runtime] Fix warning
Marek Safar [Fri, 22 Jan 2016 17:19:49 +0000 (18:19 +0100)]
[mcs] String interpolating of dynamic arguments does not behave like normal dynamic operation but assumes all arguments are object only (not dynamic). Fixes #37886
Zoltan Varga [Fri, 22 Jan 2016 16:27:44 +0000 (11:27 -0500)]
[amd64] Fix setting ainfo->pair_size[1] to 1 instead of 0 if the argument is only passed in one reg.
Alexander Köplinger [Fri, 22 Jan 2016 15:40:41 +0000 (16:40 +0100)]
Merge pull request #2494 from nealef/master
Adjust last fix to bypass another compiler failing
Neale [Fri, 22 Jan 2016 15:36:28 +0000 (10:36 -0500)]
Adjust last fix to bypass another compiler failing
Ludovic Henry [Fri, 22 Jan 2016 14:39:44 +0000 (14:39 +0000)]
[runtime] Use MonoError for mono_thread_attach_full
Ludovic Henry [Fri, 22 Jan 2016 14:33:04 +0000 (14:33 +0000)]
[runtime] Use MonoError for new_thread_with_internal
Alexander Köplinger [Fri, 22 Jan 2016 14:02:39 +0000 (15:02 +0100)]
Merge pull request #2476 from ludovic-henry/fix-process-readbuffer-nullref
[Process] Fix NullReferenceException in AsyncStreamReader.ReadBuffer after disposing the Process
Ludovic Henry [Tue, 19 Jan 2016 19:14:43 +0000 (19:14 +0000)]
[Process] Fix NullReferenceException in AsyncStreamReader.ReadBuffer after disposing the Process
The following exception would arise if we dispose the Process before making sure the AsyncStreamReader finished its work:
Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
at System.Diagnostics.AsyncStreamReader.ReadBuffer (IAsyncResult ar) [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/System/services/monitoring/system/diagnosticts/AsyncStreamReader.cs:158
at System.IO.Stream+ReadWriteTask.InvokeAsyncCallback (System.Object completedTask) [0x00015] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/io/stream.cs:670
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) [0x0008d] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/executioncontext.cs:957
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/executioncontext.cs:904
at System.IO.Stream+ReadWriteTask.System.Threading.Tasks.ITaskCompletionAction.Invoke (System.Threading.Tasks.Task completingTask) [0x0005e] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/io/stream.cs:696
at System.Threading.Tasks.Task.FinishContinuations () [0x0009a] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:3633
at System.Threading.Tasks.Task.FinishStageThree () [0x00045] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
at System.Threading.Tasks.Task.FinishStageTwo () [0x000f8] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2339
at System.Threading.Tasks.Task.Finish (Boolean bUserDelegateExecuted) [0x00049] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2239
at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task& currentTaskSlot) [0x00079] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2834
at System.Threading.Tasks.Task.ExecuteEntry (Boolean bPreventDoubleExecution) [0x0006f] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2760
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2707
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/threadpool.cs:857
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/threading/threadpool.cs:1212
This would arise in test-runner.cs when one of the test would timeout, leading to the Process being disposed. This would then dispose the AsyncStreamReader, setting its `stream` value to null. The callback to ReadBuffer would then try to access `stream`, but would throw a NullReferenceException. By not disposing the AsyncStreamReader explicitely, we close the stream first, which will trigger a call to ReadBuffer, thus not triggering the NullReferenceException.
Alexander Köplinger [Fri, 22 Jan 2016 13:38:16 +0000 (14:38 +0100)]
Merge pull request #2482 from akoeplinger/mono-posix-test-fix
[Mono.Posix] Make UnixSignalTest.TestRaiseStorm() more reliable
Ludovic Henry [Fri, 22 Jan 2016 12:31:52 +0000 (12:31 +0000)]
[runtime] Use MonoError for create_thread_object and create_internal_thread
Ludovic Henry [Fri, 22 Jan 2016 11:55:34 +0000 (11:55 +0000)]
[runtime] Use MonoError for mono_array_new_specific
Ludovic Henry [Thu, 21 Jan 2016 15:54:18 +0000 (15:54 +0000)]
[runtime] Use MonoError for mono_array_new_full
Ludovic Henry [Fri, 22 Jan 2016 11:13:58 +0000 (11:13 +0000)]
Merge pull request #2477 from ludovic-henry/monoerror-mono_object_new_alloc_specific
[runtime] Use MonoError for mono_object_new_alloc_specific
Zoltan Varga [Fri, 22 Jan 2016 03:28:16 +0000 (22:28 -0500)]
Merge pull request #2488 from nealef/master
…
Neale [Fri, 22 Jan 2016 02:41:44 +0000 (21:41 -0500)]
To get around a problem with gcc 4.4.7 on s390x, the SWAP macro is reworked so that it correctly processes all elements
Ludovic Henry [Thu, 21 Jan 2016 16:20:03 +0000 (16:20 +0000)]
[runtime] Use MonoError for mono_string_new_size
Ludovic Henry [Thu, 21 Jan 2016 14:46:59 +0000 (14:46 +0000)]
[runtime] Use MonoError for mono_object_new_alloc_specific
Rodrigo Kumpera [Fri, 22 Jan 2016 00:55:39 +0000 (19:55 -0500)]
Merge pull request #2485 from ludovic-henry/monoerror-mono_marshal_alloc
[runtime] Use MonoError for mono_marshal_alloc
Rodrigo Kumpera [Fri, 22 Jan 2016 00:54:37 +0000 (19:54 -0500)]
Merge pull request #2484 from ludovic-henry/monoerror-mono_string_get_pinned
[runtime] Use MonoError for mono_string_get_pinned
Rodrigo Kumpera [Fri, 22 Jan 2016 00:41:07 +0000 (19:41 -0500)]
Merge pull request #2480 from ludovic-henry/monoerror-mono_object_clone
[runtime] Use MonoError for mono_object_clone
Rodrigo Kumpera [Fri, 22 Jan 2016 00:39:45 +0000 (19:39 -0500)]
Merge pull request #2479 from ludovic-henry/monoerror-mono_object_new_mature
[runtime] Use MonoError for mono_object_new_mature
Rodrigo Kumpera [Fri, 22 Jan 2016 00:39:13 +0000 (19:39 -0500)]
Merge pull request #2478 from ludovic-henry/monoerror-mono_object_new_fast
[runtime] Use MonoError for mono_object_new_fast
Rodrigo Kumpera [Fri, 22 Jan 2016 00:33:58 +0000 (19:33 -0500)]
Merge pull request #2462 from ludovic-henry/monoerror-mono_object_new_specific
[runtime] Use MonoError for mono_object_new_specific
Rodrigo Kumpera [Thu, 21 Jan 2016 23:47:35 +0000 (18:47 -0500)]
Merge pull request #2458 from ludovic-henry/monoerror-mono_domain_create_appdomain_internal
[runtime] Use MonoError for mono_domain_create_appdomain_internal
Rodrigo Kumpera [Thu, 21 Jan 2016 23:46:22 +0000 (18:46 -0500)]
Merge pull request #2457 from ludovic-henry/monoerror-mono_make_shadow_copy
[runtime] Use MonoError for mono_make_shadow_copy
Alexander Kyte [Wed, 13 Jan 2016 17:55:02 +0000 (12:55 -0500)]
[nunit-lite] Use nunit-lite in the build system if variable set, set for mobile_static
Alexander Kyte [Wed, 13 Jan 2016 17:10:01 +0000 (12:10 -0500)]
[nunit-lite] Add NUnitLite fork as submodule and build through makefiles
in /mcs/tools/nunit-lite
Zoltan Varga [Thu, 21 Jan 2016 22:23:53 +0000 (17:23 -0500)]
[bcl] Fix a System.Core test failure caused by a method linked away.
Alexander Kyte [Thu, 21 Jan 2016 21:37:26 +0000 (16:37 -0500)]
[runtime] Fix type mismatch between runtime invoke and aot compiler
We were using get_runtime_invoke_type () to reduce the number of
wrappers we were using by sharing the wrappers that have MONO_TYPE_I
with that of MONO_TYPE_PTR. They have the same size, but these are not
valid types to share because they have different levels of indirection,
so runtime wrappers that have been aot'ed for the MONO_TYPE_I will be
used for MONO_TYPE_PTR and will dereference the value in the first word
of the pointer. In the case that this is null, we observed a segfault.
Specifically, the wrapper code in marshal.c looks like so:
```
case MONO_TYPE_I:
case MONO_TYPE_U:
case MONO_TYPE_I4:
case MONO_TYPE_U4:
case MONO_TYPE_R4:
case MONO_TYPE_R8:
case MONO_TYPE_I8:
case MONO_TYPE_U8:
mono_mb_emit_byte (mb, CEE_LDIND_I);
mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
break;
case MONO_TYPE_STRING:
case MONO_TYPE_CLASS:
case MONO_TYPE_ARRAY:
case MONO_TYPE_PTR:
case MONO_TYPE_SZARRAY:
case MONO_TYPE_OBJECT:
mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
break;
```
showing that the two types are not equivalent.
Zoltan Varga [Thu, 21 Jan 2016 21:29:53 +0000 (16:29 -0500)]
[llvmonly] Fix the addition of gsharedvt out wrappers on calls from gsharedvt to normal code.
Rodrigo Kumpera [Thu, 21 Jan 2016 21:19:31 +0000 (16:19 -0500)]
Merge pull request #2474 from kumpera/compact_mono_error
[MonoError] Introduce fast (and short) macros for initing and checking MonoError. Optimize its size.
Rodrigo Kumpera [Thu, 21 Jan 2016 21:13:21 +0000 (16:13 -0500)]
[MonoError] Fix the definition of init_error.
Martin Baulig [Thu, 21 Jan 2016 20:46:45 +0000 (21:46 +0100)]
[Mono.Security]: Add 'MonoTlsSettings.EnabledCiphers'.
(cherry picked from commit
79c7c38cc608f3fe896c450131f42dfeddf0d3b4)
Zoltan Varga [Thu, 21 Jan 2016 19:30:44 +0000 (14:30 -0500)]
[jit] Fix the reference type detection for Volatile:Read/Write (). Fixes part of #37846.
Ludovic Henry [Thu, 21 Jan 2016 17:41:13 +0000 (17:41 +0000)]
[marshal] Inline mono_gc_out_of_memory to explicitly raise an exception
Mark Probst [Thu, 21 Jan 2016 17:40:48 +0000 (09:40 -0800)]
Merge pull request #2387 from BrzVlad/feature-concurrent-scanfunc
[sgen] Use separate object ops when not evacuating in the concurrent case
Mark Probst [Thu, 21 Jan 2016 17:39:37 +0000 (09:39 -0800)]
Merge pull request #2388 from BrzVlad/feature-los-caching
[sgen] Improve caching of los objects
Ludovic Henry [Thu, 21 Jan 2016 17:37:32 +0000 (17:37 +0000)]
[runtime] Use MonoError for mono_marshal_alloc
Ludovic Henry [Thu, 21 Jan 2016 16:52:32 +0000 (16:52 +0000)]
[runtime] Use MonoError for mono_string_get_pinned
Ludovic Henry [Thu, 21 Jan 2016 15:18:31 +0000 (15:18 +0000)]
[runtime] Use MonoError for mono_object_clone
Ludovic Henry [Thu, 21 Jan 2016 15:07:26 +0000 (15:07 +0000)]
[runtime] Use MonoError for mono_object_new_mature
Ludovic Henry [Thu, 21 Jan 2016 15:03:05 +0000 (15:03 +0000)]
[runtime] Use MonoError for mono_object_new_fast
Ludovic Henry [Wed, 20 Jan 2016 14:26:13 +0000 (14:26 +0000)]
[runtime] Use MonoError for mono_object_new_specific
Rodrigo Kumpera [Thu, 21 Jan 2016 16:54:02 +0000 (11:54 -0500)]
Merge pull request #2472 from kumpera/gc_api_fixes
[gc] Change the GC interface to be friendlier to coop and misc cleanups.
Alexander Köplinger [Thu, 21 Jan 2016 16:11:18 +0000 (17:11 +0100)]
[Mono.Posix] Make UnixSignalTest.TestRaiseStorm() more reliable
The test was reenabled in
3f3df2694529b6fc3b88bf9c83c76d792ff47428 and we were seeing it randomly fail
on Jenkins on OSX like that:
```
[...]
***** MonoTests.Mono.Unix.UnixSignalTest.TestNoEmitAny
***** MonoTests.Mono.Unix.UnixSignalTest.TestRaise
***** MonoTests.Mono.Unix.UnixSignalTest.TestRaiseAny
***** MonoTests.Mono.Unix.UnixSignalTest.TestRaiseStorm
/bin/sh: line 1: 40164 Hangup: 1 PATH="/Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/runtime/_tmpinst/bin:/opt/mono/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" MONO_REGISTRY_PATH="/Users/builder/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" MONO_PATH="./../../class/lib/net_4_x::$MONO_PATH" /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/runtime/mono-wrapper --debug ./../../class/lib/net_4_x/nunit-console.exe Mono.Posix_test_net_4_x.dll -noshadow -labels -exclude=NotOnMac,NotWorking,ValueAdd,CAS,InetAccess -labels -xml=TestResult-net_4_x.xml
make[1]: *** [run-test-lib] Error 1
make[1]: Leaving directory `/Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/Mono.Posix'
make: *** [do-run-test] Error 1
```
The problem is that (especially on OSX it seems) the signals raised by the threads in the test can be
delivered after we closed the UnixSignal, which means the default behavior of terminating the program kicks in.
The simplest fix is to just sleep for some time to make sure the signal is delivered and ignored before closing.
monojenkins [Thu, 21 Jan 2016 15:05:16 +0000 (15:05 +0000)]
Merge pull request #2471 from ludovic-henry/checkedbuild-disable-mempool
[checked-build] Add compile flag to disable checked-build tests selectively
Ludovic Henry [Wed, 20 Jan 2016 20:12:33 +0000 (20:12 +0000)]
[checked-build] Add compile flag to disable checked-build tests selectively
Marek Safar [Thu, 21 Jan 2016 08:32:25 +0000 (09:32 +0100)]
Merge pull request #2475 from sandyarmstrong/getcultureinfo-37848
[corlib] Throw correct exception for GetCultureInfo(0)
Sandy Armstrong [Wed, 20 Jan 2016 18:42:05 +0000 (10:42 -0800)]
[corlib] Throw correct exception for GetCultureInfo(0)
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=37848
Rodrigo Kumpera [Wed, 20 Jan 2016 23:52:02 +0000 (18:52 -0500)]
Add mono-error macros for init and check.
Rodrigo Kumpera [Thu, 21 Jan 2016 01:32:25 +0000 (20:32 -0500)]
[MonoError] Don't use type_name for the argument name, it will produce weird results with mono_error_get_message.