Miguel de Icaza [Fri, 26 Apr 2013 16:55:22 +0000 (09:55 -0700)]
Merge pull request #615 from nealef/master
Fix incompatibility with .NET's serialization of ObservableCollection
Miguel de Icaza [Fri, 26 Apr 2013 16:48:29 +0000 (09:48 -0700)]
Merge pull request #620 from knocte/monoservice_playground
Little improvements to mono-service land.
Miguel de Icaza [Fri, 26 Apr 2013 16:47:07 +0000 (09:47 -0700)]
Merge pull request #618 from knocte/aspnet_lru
[WebConfigurationManager] Fix memleak by using a LruCache (BXC#5598)
Andres G. Aragoneses [Fri, 26 Apr 2013 16:03:54 +0000 (17:03 +0100)]
[System.Web] Use STDERR instead of STDOUT in LRUcache
As suggested by Marek Habersack
Andres G. Aragoneses [Fri, 26 Apr 2013 15:58:50 +0000 (16:58 +0100)]
[System.Web] Move MONO_ASPNET_WEBCONFIG_CACHESIZE parsing out of LRUcache
Zoltan Varga [Thu, 25 Apr 2013 23:34:43 +0000 (01:34 +0200)]
Avoid creating any new threadpool threads while the runtime is suspended by sdb, since they cannot do any work, causing the code in monitor_thread () to spawn new ones indefinitely. Fixes #6452/11940.
Rodrigo Kumpera [Thu, 25 Apr 2013 22:38:10 +0000 (18:38 -0400)]
When attaching a foreigh thread, make sure we initialize MOnoInternalThread::thread_info.
Duncan Mak [Thu, 25 Apr 2013 22:19:32 +0000 (18:19 -0400)]
Bump version number to 3.0.11
Mark Probst [Thu, 25 Apr 2013 21:32:02 +0000 (14:32 -0700)]
[profiler] Fix sampling timestamp output.
Neale Ferguson [Thu, 25 Apr 2013 21:18:53 +0000 (17:18 -0400)]
Correct call parameter processing for GENERICINST types
Neale Ferguson [Thu, 25 Apr 2013 14:01:14 +0000 (10:01 -0400)]
Add lazy rgctx support to s390x
Rodrigo Kumpera [Thu, 25 Apr 2013 19:56:37 +0000 (15:56 -0400)]
Document the new function and fix a typo on other.
Rodrigo Kumpera [Thu, 25 Apr 2013 19:51:49 +0000 (15:51 -0400)]
Add MonoThreadInfo::runtime_thread so we can know if this thread is managed by the runtime or not.
* mono-threads.h: Add new field to MonoThreadInfo.
* threads.c: New API function mono_thread_is_foreign that allows one to query if a given thread
is foreign or not.
Rodrigo Kumpera [Thu, 25 Apr 2013 18:49:45 +0000 (14:49 -0400)]
On windows, Register/unregister runtime-managed threads from our wrapper.
* driver.c: Don't auto attach all threads, this is the same behavior of
posix and mach. We still auto-detach so we can catch foreign threads that
forgot to do it.
* mono-threads-windows.c: Detach the thread after the thread fun has run to
completion, this ensures we cleanup runtime-managed threads in a saner fashion.
Rodrigo Kumpera [Thu, 25 Apr 2013 18:49:13 +0000 (14:49 -0400)]
Unregister runtime-managed threads before OS cleanup kicks in.
* mono-threads.c:
* mono-threads-posix.c: Explicitly detach a thread from the wrapper
instead of relying on the TLS destructor. This gives a good environment
most of the time for other parts of the runtime to work with.
Rodrigo Kumpera [Thu, 25 Apr 2013 17:59:18 +0000 (13:59 -0400)]
Don't emit thread event twice when explicitly detaching a thread.
Sebastien Pouliot [Thu, 25 Apr 2013 19:24:56 +0000 (15:24 -0400)]
[linker] Move the special marking of serializable types in a virtual method
Sebastien Pouliot [Thu, 25 Apr 2013 19:23:56 +0000 (15:23 -0400)]
Use field for GetObjectData and this (instead of base) for .ctor in SecurityException to help linker remove more code
Marek Safar [Thu, 25 Apr 2013 15:11:06 +0000 (17:11 +0200)]
Better error message
Andres G. Aragoneses [Thu, 25 Apr 2013 13:23:41 +0000 (14:23 +0100)]
[System.ServiceProcess.ServiceController] Remove NET_2_0 ifdefs
Also dropping ONLY_1_1.
Andres G. Aragoneses [Thu, 25 Apr 2013 13:22:23 +0000 (14:22 +0100)]
[mono-service] Report to syslog if ExitCode ended up != 0 after Stop()
In the previous commit, ExitCode was implemented, so we can query it now.
This is useful because many Windows Services nowadays use this variable
to notify about a problem at stop time.
Andres G. Aragoneses [Thu, 25 Apr 2013 13:20:33 +0000 (14:20 +0100)]
[System.ServiceProcess.ServiceBase]: Implement Stop() and ExitCode
Stop() wasn't calling OnStop, so a unit test was added, its basic
functionality was implemented, and MonoTODO is removed.
ExitCode now also stops throwing NIE. A unit test is added to confirm
that ServiceBase class doesn't modify it across runs. This property will
be useful for my next commit in mono-service.cs.
Martin Baulig [Thu, 25 Apr 2013 03:55:21 +0000 (05:55 +0200)]
Trying to fix the opensuse build.
Andres G. Aragoneses [Wed, 24 Apr 2013 23:10:50 +0000 (00:10 +0100)]
[WebConfigurationManager] Reset LRUcache eviction count in Clear()
Andres G. Aragoneses [Wed, 24 Apr 2013 23:01:08 +0000 (00:01 +0100)]
[WebConfigurationManager] Make the max LRUcache size configurable
Using the env var MONO_ASPNET_WEBCONFIG_CACHESIZE, as discussed in BXC#5598
Martin Baulig [Wed, 24 Apr 2013 22:35:56 +0000 (00:35 +0200)]
[monodoc]: Use shell script for jay to support parallel builds.
Zoltan Varga [Wed, 24 Apr 2013 15:00:52 +0000 (17:00 +0200)]
Fix gsharedvt support for gsharedvt methods on shared classes. Fixes #11933.
Andres G. Aragoneses [Wed, 24 Apr 2013 14:04:26 +0000 (15:04 +0100)]
[man] Update mono version 2.11->3.0
Andres G. Aragoneses [Wed, 24 Apr 2013 11:35:26 +0000 (12:35 +0100)]
[System.Web] Coding style nits in LruCache
Alex Rønne Petersen [Wed, 24 Apr 2013 09:18:10 +0000 (02:18 -0700)]
Merge pull request #610 from metanest/tests_gc_descriptors_vpath_build_2013Mar_spike
modify for VPATH builds
Marek Safar [Wed, 24 Apr 2013 08:28:37 +0000 (10:28 +0200)]
Don't check public token on missing references. Fixes #11796
Marek Safar [Wed, 24 Apr 2013 08:26:29 +0000 (10:26 +0200)]
Task.Yield needs to continue on synchronization context if there is any. Fixes #11908
Marek Safar [Tue, 23 Apr 2013 17:15:03 +0000 (19:15 +0200)]
Remove double verification checks
Marek Safar [Tue, 23 Apr 2013 11:41:09 +0000 (13:41 +0200)]
Don't catch aggregate exception handle predicate exceptions. Fixes #11867
Marek Safar [Tue, 23 Apr 2013 10:34:52 +0000 (12:34 +0200)]
Fix quoted values parsing for custom tostring formats. Fixes #11739
Rodrigo Kumpera [Tue, 23 Apr 2013 21:43:28 +0000 (17:43 -0400)]
Another try in fixing the windows build.
Rodrigo Kumpera [Tue, 23 Apr 2013 21:29:16 +0000 (17:29 -0400)]
Fix the build.
Rodrigo Kumpera [Tue, 23 Apr 2013 21:04:17 +0000 (17:04 -0400)]
[sgen] Fix bridge interop missing some xrefs due to improve registration.
* sgen-bridge.c: Split the registration and dfs1 steps so we avoid issues
where an earlier entry that points to a later one would not have a xref
created between them.
First we insert all bridges into the hash table and then we do dfs1.
It must be done in 2 steps since the bridge arrays doesn't come in reverse topological order,
which means that we can have entry N pointing to entry N + 1.
If we dfs1 entry N before N + 1 is registered we'll not consider N + 1 for this bridge
pass and not create the required xref between the two.
Atsushi Eno [Tue, 23 Apr 2013 20:46:48 +0000 (05:46 +0900)]
quick nullref fix for part of bugfix #11916.
Zoltan Varga [Tue, 23 Apr 2013 18:29:29 +0000 (20:29 +0200)]
Clean the domain tls var on all code paths in thread_cleanup ().
Rodrigo Kumpera [Tue, 23 Apr 2013 16:30:45 +0000 (12:30 -0400)]
Fix windows build.
Andres G. Aragoneses [Tue, 23 Apr 2013 15:36:42 +0000 (16:36 +0100)]
[WebConfigurationManager] Fix memleak by using a LruCache (BXC#5598)
System.Web.ConfigurationManager had a cache which didn't have any max limit,
therefore when using Restful URIs in ASP.NET (like having some variable
parameter in the virtual path, i.e. /user/{userId}/tracks, where {userId}
is a variable Integer) this was very likely to cause a leak which would
end up causing troubles, like an InvalidCastException thrown by
HttpApplication::PreStart()
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=5598
Zoltan Varga [Tue, 23 Apr 2013 11:41:19 +0000 (13:41 +0200)]
Disable an sdb test which is not deterministic.
Marek Safar [Tue, 23 Apr 2013 08:27:47 +0000 (10:27 +0200)]
Update failing test
Rodrigo Kumpera [Mon, 22 Apr 2013 22:18:36 +0000 (18:18 -0400)]
The build bots run on Snow Leopard that doesn't have pthread_spis.h. Let's revert this for now until the bots are switched to lion.
Rolf Bjarne Kvinge [Mon, 22 Apr 2013 21:40:59 +0000 (23:40 +0200)]
Rework MulticastDelegate.Equals to use a loop instead of recursion.
This should aid in tracking down bugs such as #11871 (or possibly even
fixing them) - if the problem still exists the process will run into
an infinite loop, which is a lot easier to debug (at least on iOS, and
likely other platforms too) than a stackoverflow.
Rodrigo Kumpera [Mon, 22 Apr 2013 21:17:52 +0000 (17:17 -0400)]
Introduce a new kind of mutex, the suspension safe one.
* mono-mutex.c: Add mono_mutex_init_suspend_safe so special targets
like OSX that have broken implementations of suspend for pthread mutex
will hang less.
A suspension safe mutex means one that can handle this scenario:
mutex M
thread 1:
1)lock M
2)suspend thread 2
3)unlock M
4)lock M
thread 2:
5)lock M
Say (1) happens before (5) and (5) happens before (2).
This means that thread 2 was suspended by the kernel because
it's waiting on mutext M.
Thread 1 then proceed to suspend thread 2 and unlock/lock the
mutex.
If the kernel implements mutexes with FIFO wait lists, this means
that thread 1 will be blocked waiting for thread 2 acquire the lock.
Since thread 2 is suspended, we have a deadlock.
A suspend safe mutex is an unfair lock but will schedule any runable
thread that is waiting for a the lock.
This problem was witnessed on OSX in mono/tests/thread-exit.cs.
Rodrigo Kumpera [Mon, 22 Apr 2013 20:41:48 +0000 (16:41 -0400)]
Remove some dead defines from mono-mutex.h
Rodrigo Kumpera [Mon, 22 Apr 2013 19:45:20 +0000 (15:45 -0400)]
Remove static initializers as they are not portable under windows.
Rodrigo Kumpera [Mon, 22 Apr 2013 15:36:36 +0000 (11:36 -0400)]
Remove the now unused mono_mutexattr family of functions.
Rodrigo Kumpera [Mon, 22 Apr 2013 15:30:15 +0000 (11:30 -0400)]
Cleanup the interface of mono_mutex_init.
* mono-mutex.h: mono_mutex_init no longer takes a mutexattr,
it's always non-recursive and returns zero on success.
* mono-mutex.h: Add mono_mutex_init_recursive for those that need
one. This makes the API much much nicer for win32 consumers. Caching
the mutexattr on posix is really a waste of time. Mutexes are heavyweight
objects such that their creating will never be on the fast path.
Rodrigo Kumpera [Mon, 22 Apr 2013 15:01:09 +0000 (11:01 -0400)]
Remove support for for pthread implementations that lack recursive mutexes.
* configure.in: Don't define USE_MONO_MUTEX. No sane posix system from this
millennium lacks recursive mutexes. Given that, let's just fail mono on them
and drop a bunch of dead code.
Rodrigo Kumpera [Mon, 22 Apr 2013 14:37:09 +0000 (10:37 -0400)]
Move mono-mutex.c from io-layer to utils. Killing the io-layer, softly.
Zoltan Varga [Mon, 22 Apr 2013 19:47:04 +0000 (21:47 +0200)]
Revert "Fix the win64 build."
This reverts commit
2975c3c9b5f8e741702591824107b07e6510ae0a.
Revert this as it seems to break the windows build.
Zoltan Varga [Mon, 22 Apr 2013 16:05:16 +0000 (18:05 +0200)]
Remove 32-bit s390 support from configure.in as well.
Alex Rønne Petersen [Mon, 22 Apr 2013 16:00:37 +0000 (18:00 +0200)]
Support a MONO_ARCH_HAVE_TLS_INIT variable.
Setting this on an architecture makes Mini call
mono_arch_tls_init () on thread attach.
This is primarily useful for architectures that have not
had their LMF code ported to the new infrastructure due to
a general lack of maintenance or hardware to do it on.
Zoltan Varga [Mon, 22 Apr 2013 15:54:27 +0000 (17:54 +0200)]
Remove obsolete 32 bit s390 backend.
Atsushi Eno [Mon, 22 Apr 2013 15:50:53 +0000 (00:50 +0900)]
now we (can) build Rx assemblies for mobile by *.sln in our mono/rx.git, so remove them from Makefile.
Marek Safar [Mon, 22 Apr 2013 14:31:22 +0000 (16:31 +0200)]
Always restore extension methods candidates after each run
Alex Rønne Petersen [Sun, 21 Apr 2013 19:56:50 +0000 (21:56 +0200)]
[configure] Use the preprocessor to determine the target FPU on ARM.
This is needed for a number of reasons:
1. Runtime detection of the target FPU is very hostile towards
cross-compiling. We'd previously only pick up an FPU if we're
compiling directly on the target device.
2. The runtime detection logic would attempt to use FP instructions
regardless of whether the toolchain is actually configured for
it. That means we could end up detecting an and using an FPU
when the entire system is actually soft float, i.e. P/Invoke
blows up.
3. The previous detection logic is never what distro packagers
want because one build server could just happen to have an FPU
even though the package is being built for soft float (armel).
4. We previously invoked 'gcc' explicitly, which is of course wrong
when a non-GCC compiler is being used, or the compiler has a
completely different executable name.
We now check preprocessor definitions to detect the FPU in use. This
works with cross-compilation, respects the toolchain's configuration,
and works when non-GCC compilers are being used. It also means distro
packagers can eliminate some downstream patches they previously used
to sanitize the FPU detection logic.
Marek Safar [Mon, 22 Apr 2013 08:23:44 +0000 (01:23 -0700)]
Merge pull request #617 from knocte/httpwebrequest_playground
[HttpWebRequest] Add timeout tests that cover BNC#317553 (ximian#74177)
Zoltan Varga [Sun, 21 Apr 2013 19:36:17 +0000 (21:36 +0200)]
Add a freelist around the code chunk allocator to avoid mmap failures when a lot of appdomains are created and destroyed. Hopefully fixes #3311.
Andres G. Aragoneses [Sat, 20 Apr 2013 13:29:37 +0000 (14:29 +0100)]
[HttpWebRequest] Add timeout tests that cover BNC#317553 (ximian #74177)
The pull-request that was merged [1] intending to fix BXC#1183 [2] was
later reverted [3] because it broke a scenario that wasn't covered by tests.
This commits creates a couple of tests that cover this scenario (which was
implemented back in 2005 [4]) so that we are sure that any further proposed
fixes for bug 1183 [2] don't cause any regression in this area.
[1] https://github.com/mono/mono/commit/
8c2167d52cb9acf9582647ebb5f99c92d9127fbd
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=11833
[3] https://github.com/mono/mono/commit/
14f0405443693ec2586e73e4b3746134046210d5
[4] https://bugzilla.novell.com/show_bug.cgi?id=317553
Zoltan Varga [Fri, 19 Apr 2013 18:37:00 +0000 (20:37 +0200)]
Fix the map of bool and char in runtime invoke signatures. Fixes #11862.
Zoltan Varga [Fri, 19 Apr 2013 16:54:24 +0000 (18:54 +0200)]
Fix previous commit.
Zoltan Varga [Fri, 19 Apr 2013 16:52:31 +0000 (18:52 +0200)]
Fix a warning.
Zoltan Varga [Fri, 19 Apr 2013 08:23:00 +0000 (10:23 +0200)]
Fix the msvc build.
Alex Rønne Petersen [Fri, 19 Apr 2013 08:16:18 +0000 (01:16 -0700)]
Merge pull request #555 from jack-pappas/sigaltstack-patch
Fix sigaltstack on BSD
Zoltan Varga [Thu, 18 Apr 2013 20:27:17 +0000 (22:27 +0200)]
Make the mkbundle output more dense to speed up assembly.
Zoltan Varga [Thu, 18 Apr 2013 20:26:44 +0000 (22:26 +0200)]
Parallelize the compression in mkbundle.
Zoltan Varga [Thu, 18 Apr 2013 19:40:49 +0000 (21:40 +0200)]
Avoid sharing signed/unsigned types in runtime invoke wrappers since they are need to be loaded differently, leading to problems if the argument is register allocated in the called method. Fixes #11750.
Steffen Kieß [Thu, 18 Apr 2013 18:34:15 +0000 (20:34 +0200)]
Fix a crash in Mono.Posix.Syscall.getpwuid_r () on some systems when a uid is not found. Fixes #11770.
Zoltan Varga [Thu, 18 Apr 2013 18:26:51 +0000 (20:26 +0200)]
Disable an sdb test which is not deterministic.
Neale [Thu, 18 Apr 2013 15:31:47 +0000 (11:31 -0400)]
Reverse previous changes
Neale [Thu, 18 Apr 2013 15:25:03 +0000 (11:25 -0400)]
Fix incompatibility with .NET's serialization of ObservableCollection - part of bug 11294
Neale [Thu, 18 Apr 2013 15:24:04 +0000 (11:24 -0400)]
Merge branch 'master' of https://github.com/mono/mono
Neale [Thu, 18 Apr 2013 15:23:35 +0000 (11:23 -0400)]
Reverse patches that should have gone to my fork rather than to head
Alex Rønne Petersen [Thu, 18 Apr 2013 10:23:55 +0000 (03:23 -0700)]
Merge pull request #614 from directhex/master
Remove duplicated definition of mini_gc_enable_gc_maps_for_aot
Jo Shields [Thu, 18 Apr 2013 09:28:17 +0000 (10:28 +0100)]
Remove duplicated definition of mini_gc_enable_gc_maps_for_aot - fixed build on PowerPC, Itanium, SPARC
Neale [Wed, 17 Apr 2013 02:48:58 +0000 (22:48 -0400)]
Correct marshalling of size variables used in CharSetToUnicode (and vice-versa). They were specified as integers but for these calls they are, in C parlance, size_t so use SysUInt instead.
Neale [Wed, 17 Apr 2013 02:42:30 +0000 (22:42 -0400)]
Part of fix of 11294 - matching names to .NET and turning off serialization attributes for variables not required in serialization
Neale [Wed, 17 Apr 2013 02:32:39 +0000 (22:32 -0400)]
Merge branch 'master' of https://github.com/mono/mono
Neale [Wed, 17 Apr 2013 02:27:47 +0000 (22:27 -0400)]
When .NET serializes it will use the TypeForwardedFrom information when
writing Assembly information but Mono does not. This means that
serialized objects created on one platform are not able to be
deserialized on the other, thus preventing interoperability between .NET
and mono applications. Fixes the ObservableCollection part of bugzilla
11294.
Zoltan Varga [Mon, 15 Apr 2013 20:24:22 +0000 (22:24 +0200)]
Fix the win64 build.
Zoltan Varga [Sat, 13 Apr 2013 20:07:37 +0000 (22:07 +0200)]
Clear the domain on thread exit after the profile thread end hook, since it might need it to be set.
Zoltan Varga [Thu, 11 Apr 2013 15:25:33 +0000 (17:25 +0200)]
Fix a test.
Zoltan Varga [Thu, 11 Apr 2013 14:56:18 +0000 (16:56 +0200)]
Disable some System.Data tests which are expected to fail in the mobile profile.
Zoltan Varga [Thu, 11 Apr 2013 14:37:02 +0000 (16:37 +0200)]
Disable some System tests which are expected to fail in the mobile profile.
Marek Safar [Thu, 11 Apr 2013 09:25:16 +0000 (11:25 +0200)]
Fix cascading errors for invalid out arguments
Marek Safar [Thu, 11 Apr 2013 07:59:51 +0000 (09:59 +0200)]
Check interface implementation using all base types members. Fixes #11694
Duncan Mak [Wed, 10 Apr 2013 17:22:34 +0000 (13:22 -0400)]
Bump version to 3.0.10
Marek Safar [Wed, 10 Apr 2013 16:45:11 +0000 (18:45 +0200)]
Don't emit symbol file entry for partial method declarations. Fixes #11704
Marek Safar [Wed, 10 Apr 2013 07:49:51 +0000 (09:49 +0200)]
Remove System.Net.Http from MT mobile build
Marek Safar [Wed, 10 Apr 2013 07:47:19 +0000 (09:47 +0200)]
Fix duplicate metadata override entry.
Marek Safar [Tue, 9 Apr 2013 16:45:07 +0000 (18:45 +0200)]
Add missing prepare phase to eval
Zoltan Varga [Wed, 10 Apr 2013 07:27:52 +0000 (09:27 +0200)]
Revert "Parallelize the compression in mkbundle."
This reverts commit
d168c95182f2619670428ccc78674d1235fb9cc9.
Revert this as it breaks mtouch.
Rodrigo Kumpera [Tue, 9 Apr 2013 23:20:44 +0000 (19:20 -0400)]
Revert "Remove System.Net.Http from MT mobile build"
This reverts commit
a00ab04a6445a3c540ec2fd924f3f9e2d2e3d51c.
Zoltan Varga [Tue, 9 Apr 2013 22:46:19 +0000 (00:46 +0200)]
Move some boehm specific code in gc.c to boehm-gc.c.
Zoltan Varga [Tue, 9 Apr 2013 20:36:35 +0000 (22:36 +0200)]
Don't abort the process using g_abort () when a breakpoint cannot be inserted.
Zoltan Varga [Tue, 9 Apr 2013 15:34:11 +0000 (17:34 +0200)]
Clear the domain TLS variable earlier in start_wrapper_internal () so async signal handlers don't run concurrently with thread cleanup. Hopefully fixes #11102.