Ludovic Henry [Tue, 16 Feb 2016 20:46:23 +0000 (20:46 +0000)]
[corlib] Fix potential RegisteredWaitHandle resource leak
If we construct RegisteredWaitHandle with executeOnlyOnce = true, and never call Unregister, we will keep _waitObject.SafeWaitHandle reference count unbalanced. This will lead to never releasing the waitObject handle.
As we only need to ensure that the waitObject handle is alive while in the Wait method, we use the SafeHandle mechanism only there. The 2 possibles scenarios in the Wait method are:
- waitObject has not been closed: we increment its ref count, so we ensure that it's alive as long as we use it here
- waitObject has been closed: a ObjectDisposedException is thrown, we catch it and keep on without trying to wait on the handle
Marek Safar [Wed, 17 Feb 2016 09:33:21 +0000 (10:33 +0100)]
Merge pull request #2627 from kasthack/sysweb-import
[System.Web] Reference source import
Marek Safar [Wed, 17 Feb 2016 09:31:11 +0000 (10:31 +0100)]
Merge pull request #2629 from gofman/fixtimezoneinfo
[System.TimeZoneInfo] Fix finding system time zone when /etc/localtim…
Paul Gofman [Wed, 17 Feb 2016 08:46:09 +0000 (11:46 +0300)]
[System.TimeZoneInfo] Fix finding system time zone when /etc/localtime has a relative path.
Zoltan Varga [Wed, 17 Feb 2016 04:57:55 +0000 (23:57 -0500)]
[jit] Use mono_resolve_patch_target_checked () in more places.
Zoltan Varga [Wed, 17 Feb 2016 04:20:02 +0000 (23:20 -0500)]
[jit] Use mono_resolve_patch_target_checked () in more places.
kasthack [Wed, 17 Feb 2016 04:08:56 +0000 (07:08 +0300)]
[System.Web] Reference source import: System.Web.Util internal classes
kasthack [Wed, 17 Feb 2016 03:35:31 +0000 (06:35 +0300)]
[System.Web] Reference source import: System.Web.Routing internal classes
kasthack [Wed, 17 Feb 2016 03:15:30 +0000 (06:15 +0300)]
[System.Web] Reference source import
Zoltan Varga [Wed, 17 Feb 2016 02:56:23 +0000 (21:56 -0500)]
Fix the build.
Zoltan Varga [Wed, 17 Feb 2016 02:56:03 +0000 (21:56 -0500)]
[llvm] Remove some unfinished code committed by mistake.
monojenkins [Wed, 17 Feb 2016 02:45:17 +0000 (02:45 +0000)]
Merge pull request #2625 from xmcclure/tinymemoryleak
Fix memory leak in mono_aot_plt_resolve when exiting with exception
We were not cleaning up our allocated memory on all code paths.
Rodrigo Kumpera [Wed, 27 Jan 2016 23:10:12 +0000 (18:10 -0500)]
[mono-error] Replace mono_metadata_parse_type_full with mono_metadata_parse_type_checked.
Rodrigo Kumpera [Wed, 27 Jan 2016 21:39:30 +0000 (16:39 -0500)]
[metadata] Introduce MonoError into mono_metadata_parse_type_internal.
Rodrigo Kumpera [Wed, 27 Jan 2016 21:12:33 +0000 (16:12 -0500)]
[metadata] Remove mono_metadata_parse_array_full, nothing uses it.
Zoltan Varga [Wed, 17 Feb 2016 01:09:41 +0000 (20:09 -0500)]
[llvm] Fix a crash when a simd argument is returned from a method by reference.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Fix the build.
kasthack [Wed, 17 Feb 2016 01:08:57 +0000 (04:08 +0300)]
[System.Web] Reference source import
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in method-to-ir.c and mini-exceptions.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in threads.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in verify.c and remoting.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in security-core-clr.c and security-manager.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in reflection.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in object.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in marshal.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in locale.c.
The macro generates the right form of corlib type lookup & caching.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in icall.c.
The macro generates the right form of corlib type lookup & caching. Plus it's shorter.
Andi McClure [Tue, 16 Feb 2016 23:04:18 +0000 (18:04 -0500)]
Import System.Diagnostics.Process changes to mobile profile
Changes modeled on ludovic-henry commit
00b5517dd3. Fixes build.
Andi McClure [Tue, 16 Feb 2016 21:45:53 +0000 (16:45 -0500)]
Fix memory leak in mono_aot_plt_resolve when exiting with exception
Radek Doulik [Tue, 16 Feb 2016 21:21:58 +0000 (22:21 +0100)]
[linker] do not set scope of non-marked typerefs
- fixes #38818
- setting the *unchanged* scope to non-marked types is harmful,
because in case the type has declaring type, the scope of declaring
type is set as well. see
https://github.com/mono/cecil/blob/master/Mono.Cecil/TypeReference.cs#L132
public virtual IMetadataScope Scope {
get ...
set {
var declaring_type = this.DeclaringType;
if (declaring_type != null) {
declaring_type.Scope = value;
return;
}
scope = value;
}
}
so in our case, we first set correctly scope of
System.Collections.Generic.Dictionary`2 to mscorlib, then (re)set
scope of System.Collections.Generic.Dictionary`2/ValueCollection
and
System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator
to System.Collection (note that these types are not marked and are
swept away by linker), which sets scope of its declaring type
System.Collections.Generic.Dictionary`2 back to System.Collection
and because the System.Collection is linked-out, the typeref is
incorrectly written with the scope set to System later
Ludovic Henry [Tue, 16 Feb 2016 20:42:57 +0000 (20:42 +0000)]
[runtime] Bump corlib version
Ludovic Henry [Thu, 11 Feb 2016 15:55:21 +0000 (15:55 +0000)]
[Process] Add stress tests
That's to ensure we do not have regression in the Process implementation.
Ludovic Henry [Mon, 8 Feb 2016 18:56:29 +0000 (18:56 +0000)]
[System] Import System.Diagnostics.Process
Ludovic Henry [Tue, 16 Feb 2016 17:03:45 +0000 (17:03 +0000)]
[corlib] Fix race condition between RegisteredWaitHandle Wait and Unregister methods
In the following case we would have a race between Wait and Unregister methods:
- T1 calls ThreadPool.RegisterWaitForSingleObject to wait on waitHandle
- registeredWaitHandle is constructed to wait on waitHandle
- registeredWaitHandle.Wait method is enqueued on the ThreadPool
- T1 calls registeredWaitHandle.Unregister
- T1 calls waitHandle.Close (happens in Process.StopWatchingForExit)
- TTP (the threadpool thread) calls registeredWaitHandle.Wait
- TTP calls WaitHandle.WaitAny (waitHandle, ...)
The last step try to access the waitHandle that has been previously closed, leading to a _wapi_handle_ref / _wapi_handle_unref_full error message.
The fix is to ensure that the RegisteredWaitHandle keeps the WaitHandle alive. To achieve this, we simply use the SafeWaitHandle inside the WaitHandle by: increasing its ref count when constructing the RegisteredWaitHandle, and decrementing it when unregistering it.
We also increase the count when using it in Wait, so if we execute Unregister and Wait concurrently, we guarantee that the WaitHandle is still valid in Wait, or get an exception if not.
Marek Safar [Tue, 16 Feb 2016 16:39:00 +0000 (17:39 +0100)]
[mcs] Add more known sdk paths redirections
Rodrigo Kumpera [Tue, 16 Feb 2016 16:02:23 +0000 (08:02 -0800)]
Merge pull request #2603 from kumpera/fix_set_pending_exception
[runtime] Move pending_exception from InternalThread to Thread to avoid crashing on domain unload.
Marcos Henrich [Tue, 16 Feb 2016 15:54:54 +0000 (15:54 +0000)]
Merge pull request #2548 from esdrubal/discovery
[System.Web.Services] Fix DiscoveryClientProtocol
Marcos Henrich [Tue, 16 Feb 2016 13:57:08 +0000 (13:57 +0000)]
Merge pull request #2623 from esdrubal/fileinfo_moveto
[corlib] Fix FileInfo.MoveTo with same name.
Alexander Köplinger [Tue, 16 Feb 2016 12:08:55 +0000 (13:08 +0100)]
Merge pull request #2615 from akoeplinger/fix-perfcounter-free-mem-calculation
[perfcounters] Fix calculation of free memory in mono_determine_physical_ram_available_size ()
Marcos Henrich [Sat, 30 Jan 2016 11:58:12 +0000 (11:58 +0000)]
[System.Web.Services] Test DiscoveryClientProtocol
Covers #36116
Marcos Henrich [Tue, 16 Feb 2016 11:17:19 +0000 (11:17 +0000)]
[corlib] Fix FileInfo.MoveTo with same name.
FileInfo.MoveTo was not moving a file from one directory to another when
the file name did not change.
Fixes #18361.
An ArgumentException when destFileName is an empty array was added,
otherwise FileInfoTest.MoveTo_DestFileName_Empty would fail. Both
Path.GetFullPath and File.Move throw similar exceptions but
MoveTo_DestFileName_Empty expects the one from File.Move so it was added
to this method.
Marcos Henrich [Tue, 16 Feb 2016 10:34:08 +0000 (10:34 +0000)]
[corlib] Test FileInfo.MoveTo with files with same name
Covers #18361
Marek Safar [Mon, 15 Feb 2016 19:29:05 +0000 (20:29 +0100)]
Bump reference source to fix the build
Vlad Brezae [Mon, 15 Feb 2016 19:04:55 +0000 (02:04 +0700)]
Merge pull request #2562 from BrzVlad/fix-drainstack-stats
[sgen] Drain the gray stack only in finish gray stack
Marek Safar [Mon, 15 Feb 2016 17:15:34 +0000 (18:15 +0100)]
[corlib] MethodInfo from reference source
Marek Safar [Mon, 15 Feb 2016 15:56:29 +0000 (16:56 +0100)]
[mcs] Update expression tree generator to use .net 4.5 api when available. Fixes #38703
Alexander Köplinger [Mon, 15 Feb 2016 14:18:40 +0000 (15:18 +0100)]
[io-layer] Add Get/SetThreadPriority to wapi-remap.h
The new functions were added in
d5768a7f141e2a579cbca26f76c791c215f4aabf but not remapped.
Marek Safar [Mon, 15 Feb 2016 14:20:59 +0000 (15:20 +0100)]
Merge pull request #2619 from directhex/dont_remap_npgsql
Don't remap all versions of Npgsql to 4.0.0.0
Jo Shields [Mon, 15 Feb 2016 14:12:52 +0000 (14:12 +0000)]
Don't remap all versions of Npgsql to 4.0.0.0
Mono has a list of assemblies considered "internal", whose versions are automatically remapped to the distro default version.
Since we no longer bundle Npgsql, it is up to individual distributions to package their own Npgsql - but Mono cannot load any version other than 4.0.0.0 from the GAC, due to this remapping:
Mono: Assembly Ref addref npghello[0x17e2fd0] -> mscorlib[0x1789c00]: 2
Mono: The request to load the assembly Npgsql v2.2.7.0 was remapped to v4.0.0.0
Mono: Assembly Loader probing location: '/usr/lib/mono/gac/Npgsql/4.0.0.0__5d8b90d52f46fda7/Npgsql.dll'.
Npgsql, Version=2.2.7.0, Culture=neutral, PublicKeyToken=
5d8b90d52f46fda7
Alexander Köplinger [Mon, 15 Feb 2016 14:03:37 +0000 (15:03 +0100)]
[msvc] Update order.xml and csproj files
Alexander Köplinger [Mon, 15 Feb 2016 14:02:13 +0000 (15:02 +0100)]
[genproj] Fix bashism in library.make
This was added in
2687866e99a0bb6669dc61b84393bc3ec5de3fc6, but on systems where /bin/sh (which make uses by default) isn't bash this doesn't work.
Fix is to use a standard switch-case which works in all shells.
Alexander Köplinger [Mon, 15 Feb 2016 13:25:03 +0000 (14:25 +0100)]
[msvc] Update .def files
Marcos Henrich [Mon, 15 Feb 2016 12:21:29 +0000 (12:21 +0000)]
Merge pull request #2400 from esdrubal/extrahead
[System] Fix extra head in config bug.
Marcos Henrich [Mon, 15 Feb 2016 12:08:21 +0000 (12:08 +0000)]
Merge pull request #2323 from esdrubal/servicemodel
[System.ServiceModel] Fixes missing xsi xsd attributes
Marek Safar [Mon, 15 Feb 2016 11:39:28 +0000 (12:39 +0100)]
Merge pull request #2613 from knocte/crypto-refsource
[Crypto] Include CngKeyBlobFormat from reference sources (rm old)
Marek Safar [Mon, 15 Feb 2016 11:31:59 +0000 (12:31 +0100)]
[mcs] Populate ProductVersion from all valid sources. Fixes #38553
Alexander Köplinger [Sat, 13 Feb 2016 23:33:34 +0000 (00:33 +0100)]
[corlib] Add missing semicolon in StringTest
monojenkins [Sat, 13 Feb 2016 11:50:17 +0000 (11:50 +0000)]
Merge pull request #2608 from ludovic-henry/monoerror-icall
[runtime] Use MonoError for icall.c functions
Alexander Köplinger [Sat, 13 Feb 2016 11:45:56 +0000 (12:45 +0100)]
Merge pull request #2611 from akoeplinger/cleanup
[corlib] Remove FIXME_CORLIB_CMP section from Makefile
monojenkins [Sat, 13 Feb 2016 06:05:32 +0000 (06:05 +0000)]
Merge pull request #2612 from xmcclure/largestring
Do not run 4GB string tests on low memory systems (fixes #38392)
"Low memory" here is defined as 32-bit, less than 6GB of physical RAM, or mobile (since mobile lacks the class for querying physical RAM).
Without this patch, one of the corlib tests allocates 4 GB of RAM, which causes OOM crashes on low-memory Jenkins instances and also mobile phones.
monojenkins [Sat, 13 Feb 2016 01:06:05 +0000 (01:06 +0000)]
Merge pull request #2442 from schani/fix-larger-tlab-size
[automerge] Fix larger tlab size
Zoltan Varga [Sat, 13 Feb 2016 00:58:41 +0000 (19:58 -0500)]
[jit] Add a checked version to mono_resolve_patch_target () so exceptions are thrown in upper level code.
Alexander Köplinger [Sat, 13 Feb 2016 00:15:55 +0000 (01:15 +0100)]
Revert "[Process] Add stress tests"
This reverts commit
a7955a93f5d063feadb4198d8a6f142d81373b79.
The Process import commit was reverted in
f74f7037195fe81396edde11c57cea3ec16f03fd,
this reverts the added tests as well since they fail on Jenkins now.
Mark Probst [Fri, 12 Feb 2016 21:09:38 +0000 (15:09 -0600)]
Merge pull request #2573 from BrzVlad/fix-conc-memusage
[sgen] Improve memory usage with the concurrent collector
monojenkins [Fri, 12 Feb 2016 20:25:20 +0000 (20:25 +0000)]
Merge pull request #2589 from gofman/master
sgen: fix bit counting in mword
Fixes GC crashe for 64-bit architecture when using libmono.
http://lists.ximian.com/pipermail/mono-devel-list/2016-February/043507.html
Alexander Köplinger [Fri, 12 Feb 2016 19:53:23 +0000 (20:53 +0100)]
[perfcounters] Fix calculation of free memory in mono_determine_physical_ram_available_size ()
The implementation added in
b5d0ffe7ddba53a6b17587fc43750bf5c0ec2f81 forgot to multiply vmstat.free_count (== number of free pages)
by the page size in the __APPLE__ case, making the reported number much smaller than the reality.
monojenkins [Fri, 12 Feb 2016 19:46:20 +0000 (19:46 +0000)]
Merge pull request #2585 from lambdageek/dev/bug-38222
[reflection] Signal pending loader error in mono_reflection_get_custom_attrs_data
Fixes [Bugzilla 38222](https://bugzilla.xamarin.com/show_bug.cgi?id=38222)
While we're at it, convert `mono_reflection_get_custom_attrs_data` to use
`MonoError` and mark it external only. Runtime should use
`mono_reflection_get_custom_attrs_data_checked`
Andi McClure [Fri, 12 Feb 2016 19:26:50 +0000 (14:26 -0500)]
Use Assert.Ignore for insufficient-memory test skips
Andrés G. Aragoneses [Fri, 12 Feb 2016 19:11:16 +0000 (03:11 +0800)]
[Crypto] Include CngKeyBlobFormat from reference sources (rm old)
CngKeyBlobFormat was never included in the build, but anyway
we can include the one from referencesource now.
Detected by a user of Npgsql 3.0.5 which reported the problem
in stackoverflow:
http://stackoverflow.com/questions/
35016066/failure-to-resolve-system-security-cryptography-cngkeyblobformat-when-using-npgs
Andi McClure [Fri, 12 Feb 2016 18:56:20 +0000 (13:56 -0500)]
Do not run 4GB string tests on low memory systems (fixes #38392)
"Low memory" here is defined as 32-bit, less than 6GB of physical RAM,
or mobile (since mobile lacks the class for querying physical RAM).
Alexander Köplinger [Fri, 12 Feb 2016 18:34:54 +0000 (19:34 +0100)]
[corlib] Remove FIXME_CORLIB_CMP section from Makefile
Looks like this isn't needed anymore.
Aleksey Kliger (λgeek) [Fri, 12 Feb 2016 18:16:44 +0000 (13:16 -0500)]
Merge pull request #2605 from lambdageek/dev/bug-38408
[io] Release Pipe and Console shared handles
Ludovic Henry [Fri, 12 Feb 2016 18:14:02 +0000 (18:14 +0000)]
Revert "[System] Import System.Diagnostics.Process"
This reverts commit
d30e99d172ec5074ce6deb44bc37f9a9ecaef7fe.
Mark Probst [Fri, 15 Jan 2016 02:05:14 +0000 (18:05 -0800)]
[sgen] Allow TLABs larger than MAX_SMALL_OBJ_SIZE.
`sgen_ensure_free_space()` assumed that if `size` was larger than
`SGEN_MAX_SMALL_OBJ_SIZE`, it should find free space on the major
heap, so it wouldn't consider triggering a nursery allocation. Making
TLABs larger than that would thus never trigger nursery collections
anymore.
Now we pass in the generation that says where we want space.
Mark Probst [Fri, 15 Jan 2016 01:52:41 +0000 (17:52 -0800)]
[sgen] Add necessary type cast.
Ludovic Henry [Fri, 12 Feb 2016 15:49:51 +0000 (15:49 +0000)]
[runtime] Use MonoError for mono_module_get_types
Ludovic Henry [Fri, 12 Feb 2016 15:31:32 +0000 (15:31 +0000)]
[runtime] Use MonoError for fill_reflection_assembly_name
Ludovic Henry [Fri, 12 Feb 2016 15:22:59 +0000 (15:22 +0000)]
[runtime] Use MonoError for create_version
Ludovic Henry [Fri, 12 Feb 2016 15:15:46 +0000 (15:15 +0000)]
[runtime] Use MonoError for type_from_parsed_name
monojenkins [Fri, 12 Feb 2016 16:20:44 +0000 (16:20 +0000)]
Merge pull request #2576 from ludovic-henry/referencesource-process
[System] Import System.Diagnostics.Process
Jo Shields [Fri, 12 Feb 2016 16:03:46 +0000 (16:03 +0000)]
Use X509 serial number in Mono cert store filename
The Mono cert store traditionally uses the SKI for the filename of a certificate, but this does not handle cases where a cert has been reissued with the same SKI but different serial (seen in the wild with StartCom certs). This patch appends the serial to all new imported certs, and attempts to interoperate cleanly with existing serial-less certificate stores to avoid duplication.
Closes: #30902
Alexander Köplinger [Fri, 12 Feb 2016 15:38:32 +0000 (16:38 +0100)]
Merge pull request #2604 from mattleibow/pcl-mono.dataconverter
[corlib] Ensure PCL compatibility with Mono.DataConverter
Aleksey Kliger [Thu, 11 Feb 2016 22:56:53 +0000 (17:56 -0500)]
[io] Don't leak Pipe filename
Named FIFOs do indeed have names, but pipe_close doesn't free
it. (Because CreatePipe doesn't set a filename).
Aleksey Kliger [Thu, 11 Feb 2016 22:55:24 +0000 (17:55 -0500)]
[io] Release Pipe and Console shared handles
Allows opening a character device or named fifo more than once with code like:
using (var f = new FileStream ("/dev/zero", FileMode.Open))
{
...
}
using (var f = new FileStream ("/dev/zero", FileMode.Open))
{
...
}
Aleksey Kliger [Thu, 11 Feb 2016 23:11:16 +0000 (18:11 -0500)]
[io] Test repeatedly opening a character device
Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=38408
monojenkins [Fri, 12 Feb 2016 15:10:24 +0000 (15:10 +0000)]
Merge pull request #2606 from akoeplinger/fix-hardcoded-testports
[System] Fix a few more hardcoded ports in tests
They'd cause "address already in use" errors when two builds are running concurrently on the same machine on Jenkins.
@monojenkins merge
Miguel de Icaza [Fri, 12 Feb 2016 14:31:11 +0000 (09:31 -0500)]
Add link to the updated location for the utf8 test file
Ludovic Henry [Thu, 11 Feb 2016 15:55:21 +0000 (15:55 +0000)]
[Process] Add stress tests
That's to ensure we do not have regression in the Process implementation.
Ludovic Henry [Mon, 8 Feb 2016 18:56:29 +0000 (18:56 +0000)]
[System] Import System.Diagnostics.Process
Alexander Köplinger [Fri, 12 Feb 2016 13:33:57 +0000 (14:33 +0100)]
[System] Fix a few more hardcoded ports in tests
They'd cause "address already in use" errors when two builds are running concurrently on the same machine on Jenkins.
Zoltan Varga [Fri, 12 Feb 2016 04:05:21 +0000 (23:05 -0500)]
Martin Baulig [Thu, 11 Feb 2016 22:50:31 +0000 (17:50 -0500)]
[Mono.Security]: Make 'Mono.Security.Protocol.Ntlm' public and include in System.dll on mobile.
(cherry picked from commit
2026a0b408d122cf3eb2f25cb7355215aa100291)
Miguel de Icaza [Thu, 11 Feb 2016 21:15:22 +0000 (16:15 -0500)]
Remove old, unused code
Matthew Leibowitz [Thu, 11 Feb 2016 20:55:02 +0000 (22:55 +0200)]
[corlib] Ensure PCL compatibility with Mono.DataConverter
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[runtime] Move pending_exception from InternalThread to Thread to avoid crashing on domain unload.
InternalThread is a fundamentally different type WRT to appdomain. All instances of Thread bound to the same
os thread have a reference to a shared InternalThread.
InternalThread is always allocated in the root domain, so it MUST NOT have references to other domains as
it will lead to crashes on unload.
This was the case with pending_exception. It could point to an exception meant to the domain unloading.
This bug became more and more frequent as we move to use mono_set_pending_exception in more places. I could
reproduce it in 10 minutes of looping appdomain-unload.exe.
Ludovic Henry [Thu, 11 Feb 2016 18:47:49 +0000 (18:47 +0000)]
Merge pull request #2560 from ludovic-henry/coop-threads-cleanup
[threads] Split abort/suspend into self and async cases
Aleksey Kliger (λgeek) [Thu, 11 Feb 2016 17:29:59 +0000 (12:29 -0500)]
Merge pull request #2587 from lambdageek/monoerror-api-cleanup-mistakes
[runtime] Better error handling in mono_{assembly,module_file}_get_object
Marcos Henrich [Thu, 11 Feb 2016 17:19:25 +0000 (17:19 +0000)]
Merge pull request #2590 from esdrubal/wcf_req
BCL changes required by dotnet/wcf
Ludovic Henry [Thu, 11 Feb 2016 16:20:45 +0000 (16:20 +0000)]
Merge pull request #2595 from ludovic-henry/tests-sgen
[tests] Remove manual for loop to run sgen tests and use different make targets
Aleksey Kliger [Wed, 10 Feb 2016 00:35:11 +0000 (19:35 -0500)]
[reflection] Better error behavior for API functions
mono_assembly_get_object and mono_module_file_get_object should return
NULL on failure without raising an exception.