Ludovic Henry [Tue, 27 Oct 2015 11:42:32 +0000 (11:42 +0000)]
[Process] Use output/error stream instead of naked handle
This is to make sure the handle is closed, whenever we close the streams
Alexander Köplinger [Tue, 27 Oct 2015 11:45:39 +0000 (12:45 +0100)]
[test-runner] Make the --testsuite-name option required
Defaulting to a value doesn't make sense since the NUnit xml would be overwritten if multiple tests used the same default.
João Matos [Tue, 27 Oct 2015 11:39:48 +0000 (11:39 +0000)]
[runtime] Added --with-cross-offsets configure option for including an explicit AOT cross offsets file.
This option will define MONO_OFFSETS_FILE which will be used by the rest of the code to include the right file when looking for cross offsets.
Marek Safar [Tue, 27 Oct 2015 09:19:58 +0000 (10:19 +0100)]
[mcs] Declared fields cannot have unmanaged check done before all types are defined. Fixes #35269
Zoltan Varga [Tue, 27 Oct 2015 04:31:34 +0000 (00:31 -0400)]
[llvmonly] Fix EH when llvm is disabled.
Zoltan Varga [Mon, 26 Oct 2015 22:32:10 +0000 (18:32 -0400)]
[llvmonly] Fix an assertion for methods with many arguments.
Zoltan Varga [Mon, 26 Oct 2015 22:28:45 +0000 (18:28 -0400)]
[llvmonly] Fix the computation of the generic context used to initialize shared methods, previously we would be using the context of the class of the receiver, but that wouldn't work when its a non-generic class inheriting from a generic class. Use the context of the method which was used to lookup the shared method in the first place instead.
Mark Probst [Mon, 26 Oct 2015 22:01:06 +0000 (15:01 -0700)]
[sgen] Fix binary protocol limit default.
`size_t` is unsigned, so using `-1` by default will always impose a
limit, and make binary protocol file names numbered, which is not
usually what you want or expect.
Ludovic Henry [Mon, 26 Oct 2015 22:00:51 +0000 (22:00 +0000)]
[Process] Close process in/out/err handle on Process dispose
This would lead to leaked handle, and that would be visible when running
the test suite on Jenkins, with a "Too many open files" exception.
That also reverts the behavior to before
789808b507fe16941a31acc43ffc6bc8e0cdae75
Zoltan Varga [Mon, 26 Oct 2015 19:17:50 +0000 (15:17 -0400)]
[llvm] Fix aot support in non-llvmonly mode.
Zoltan Varga [Mon, 26 Oct 2015 18:58:11 +0000 (14:58 -0400)]
[llvmonly] Avoid disabling llvm for methods with pinvoke signatures in llvmonly mode.
Zoltan Varga [Mon, 26 Oct 2015 18:57:45 +0000 (14:57 -0400)]
[llvm] Register the llvmonly icalls even if llvm is not enabled.
Zoltan Varga [Mon, 26 Oct 2015 17:52:29 +0000 (13:52 -0400)]
Fix the non-llvm build.
Ludovic Henry [Mon, 26 Oct 2015 16:35:14 +0000 (16:35 +0000)]
[tests] Add timeout before failing
Ludovic Henry [Mon, 26 Oct 2015 15:50:12 +0000 (15:50 +0000)]
[tests] Increase timeout before failing
Marek Safar [Mon, 26 Oct 2015 15:40:48 +0000 (16:40 +0100)]
[mcs] Support auto-property with private setter with member definition from external assembly. Fixes #35236
Ludovic Henry [Mon, 26 Oct 2015 14:13:03 +0000 (14:13 +0000)]
[tests] Increase timeout before failing
Ludovic Henry [Mon, 26 Oct 2015 12:30:34 +0000 (12:30 +0000)]
[tests] Add --testsuite-name to avoid overwritting test result XML files
Ludovic Henry [Mon, 26 Oct 2015 10:58:40 +0000 (10:58 +0000)]
[tests] Use test-runner to run unhandled-exception tests
Zoltan Varga [Mon, 26 Oct 2015 02:17:01 +0000 (22:17 -0400)]
Add another missing file.
Zoltan Varga [Mon, 26 Oct 2015 02:16:38 +0000 (22:16 -0400)]
Add a missing file.
Zoltan Varga [Mon, 26 Oct 2015 02:15:19 +0000 (22:15 -0400)]
[llvm] Move the EH support code into mini-exceptions.c, and the c++ functions used by it into a new llvm-runtime.cpp file so llvmonly code works in a runtime which doesn't have llvm enabled.
Zoltan Varga [Mon, 26 Oct 2015 02:12:52 +0000 (22:12 -0400)]
[llvm] Fix support for asmonly+llvmonly by emitting the bitcode into the file given by the llvm-outfile aot option.
Zoltan Varga [Sat, 24 Oct 2015 05:09:51 +0000 (01:09 -0400)]
Merge pull request #2166 from ermshiperete/FontHeight
[WinForms] Check for null font Height
Zoltan Varga [Sat, 24 Oct 2015 03:20:31 +0000 (23:20 -0400)]
[profiler] Create a static version of libmono-profiler-log which doesn't link against eglib, to prevent duplicate symbols errors when its linked with the runtime. Fixes part of #29745.
Zoltan Varga [Sat, 24 Oct 2015 00:53:50 +0000 (20:53 -0400)]
[arm] Add a comment for a hack.
Zoltan Varga [Fri, 23 Oct 2015 23:22:54 +0000 (19:22 -0400)]
[arm64] Implement mono_threads_core_begin_async_resume () for arm64.
Aleksey Kliger (λgeek) [Fri, 23 Oct 2015 22:38:41 +0000 (18:38 -0400)]
Merge pull request #2171 from lambdageek/dev/fix-marshal
[coop] One more pair of coop gc marshal fixes.
Mark Probst [Fri, 23 Oct 2015 22:16:55 +0000 (15:16 -0700)]
[sgen] Documentation about future-proofing the binary protocol.
We want to use the binary protocol to measure GC pause times in the
benchmarking suite. To make that easier and be able to go back and
(re-)benchmark older versions, we'd like the binary protocol format to
be backwards compatible.
Zoltan Varga [Fri, 23 Oct 2015 21:06:54 +0000 (17:06 -0400)]
Add a new Moono_GetStackTraces method to Thread which can be used to obtain stack traces for all running threads.
Aleksey Kliger [Fri, 23 Oct 2015 20:15:57 +0000 (16:15 -0400)]
[coop] One more pair of coop gc marshal fixes.
Missed a pair of
`mono_threads_reset_blocking_start`/`mono_threads_reset_blocking_end`
calls in
991e3ef3e47f0ccf9981a791f7da680b4ee9c4c6
Martin Baulig [Fri, 23 Oct 2015 20:05:19 +0000 (16:05 -0400)]
Remove a few more 'using System.Reflection's.
Martin Baulig [Fri, 23 Oct 2015 18:26:34 +0000 (14:26 -0400)]
[Mono.Security]: Use the new 'NoReflectionHelper' instead of reflection in 'MonoTlsProviderFactory'.
Mark Probst [Fri, 23 Oct 2015 18:57:05 +0000 (11:57 -0700)]
[sgen] Add some bridge documentation.
Zoltan Varga [Fri, 23 Oct 2015 19:10:43 +0000 (15:10 -0400)]
Merge pull request #2170 from alexanderkyte/mini_llvm_archfix
[runtime] Fix support for amd64 in mini-llvm-cpp.cpp
Alexander Kyte [Fri, 23 Oct 2015 19:01:43 +0000 (15:01 -0400)]
[runtime] Fix support for amd64 in mini-llvm-cpp.cpp
Martin Baulig [Fri, 23 Oct 2015 18:08:44 +0000 (14:08 -0400)]
[System]: Add internal 'Mono.Net.Security.NoReflectionHelper' class to avoid reflection use.
Martin Baulig [Fri, 23 Oct 2015 17:58:31 +0000 (13:58 -0400)]
Remove 'using System.Reflection'.
Martin Baulig [Fri, 23 Oct 2015 16:29:00 +0000 (12:29 -0400)]
[Mono.Security]: Access System.dll's internals directly instead of using reflection.
Martin Baulig [Fri, 23 Oct 2015 16:21:49 +0000 (12:21 -0400)]
[System]: Make internals visible to Mono.Security.
Alexander Köplinger [Fri, 23 Oct 2015 17:34:35 +0000 (19:34 +0200)]
[test-runner] Fix a few more hardcoded test suite names
Missed those in
04bdf3b9332a4707d196b65deda1fdfba1b88a30
Ludovic Henry [Wed, 21 Oct 2015 20:48:17 +0000 (21:48 +0100)]
[test-runner] Wait synchronously for process exit
There was still a race for the last processes, where we could not
correctly wait for them to exit, before closing the StreamWriter for
stdout and stderr.
João Matos [Fri, 23 Oct 2015 15:59:12 +0000 (16:59 +0100)]
Merge pull request #2168 from BillSeurer/llvm
[ppc] Activate llvm for power
Bill Seurer [Fri, 23 Oct 2015 15:53:07 +0000 (10:53 -0500)]
[ppc] Activate llvm for power
Rodrigo Kumpera [Fri, 23 Oct 2015 14:51:12 +0000 (10:51 -0400)]
Merge pull request #2165 from lambdageek/dev/marshal-fix
[coop] update native call marshalling to pass thread state transition functions a stack ptr arg.
Ludovic Henry [Fri, 23 Oct 2015 12:27:17 +0000 (13:27 +0100)]
[socket] Use syscall abort mechanism properly
The crash only occurs on Posix platforms.
The assertion error in `mono_threads_begin_global_suspend`
"pending_suspends != 0" arised because of a unproper use of the syscall
abort mechanism.
The signal would have to be send out of a global suspend context, but
in case the call to `mono_threads_pthread_kill` would fail in
`mono_threads_core_abort_syscall`, then we would add a pending
operation, thus increasing the `pending_suspends` counter. But as we
wouldn't call for `mono_threads_wait_pending_operations`, we would never
have a chance to decrement this counter. So next time we would try to
call `mono_threads_begin_global_suspend` we would hit this assertion
error.
The fix is simply to call the abort from inside a global suspend
context, and making sure to wait on pending operations afterwards.
Ludovic Henry [Fri, 23 Oct 2015 12:08:16 +0000 (13:08 +0100)]
[socket] Enable Shutdown on socket disposal only on specific platforms
This breaks Linux, because a shutdown will cause a recv/recvfrom on the
remote host to return without an error.
This would trigger in System.Net.Sockets.SocketTest.ConnectedProperty.
Jo Shields [Fri, 23 Oct 2015 11:25:28 +0000 (12:25 +0100)]
[msvc] Manually update .defs, don't use update-defs Make target
Jo Shields [Fri, 23 Oct 2015 11:24:29 +0000 (12:24 +0100)]
Revert "[msvc] Update the DLL export definition files."
This reverts commit
90cb172eb8c160f46781d189d3baf25f06496b1d.
Jo Shields [Fri, 23 Oct 2015 11:06:13 +0000 (12:06 +0100)]
[msvc] Update the DLL export definition files.
Brent McCarthy [Wed, 29 Jul 2015 22:28:45 +0000 (16:28 -0600)]
[WinForms] Check for null font Height
DrawButtonText was throwing ArgumentException when
button.Font.Height was invalid.
Aleksey Kliger [Thu, 22 Oct 2015 22:51:17 +0000 (18:51 -0400)]
[coop] update native call marshalling to pass thread state transition functions a stack ptr arg.
mono_threads_prepare_blocking, mono_threads_finish_blocking,
mono_threads_reset_blocking_start, mono_threads_reset_blocking_end all
take a stack pointer argument. Update the native and managed wrappers
to pass it to them.
Zoltan Varga [Thu, 22 Oct 2015 22:35:05 +0000 (18:35 -0400)]
[runtime] Add a check for PE images to mono_method_body_get_object().
Zoltan Varga [Thu, 22 Oct 2015 22:32:53 +0000 (18:32 -0400)]
Fix the build.
Zoltan Varga [Thu, 22 Oct 2015 21:38:18 +0000 (17:38 -0400)]
[runtime] Move the MONO_ENV_OPTIONS parsing code to driver.c
Zoltan Varga [Thu, 22 Oct 2015 20:48:01 +0000 (16:48 -0400)]
Export mono_image_load_cli_header/load_metadata from image.c
Alex Rønne Petersen [Thu, 22 Oct 2015 20:17:38 +0000 (22:17 +0200)]
Merge pull request #2162 from alexrp/master
[profiler] Disable the hack to attempt to get code start/size info.
Marek Safar [Thu, 22 Oct 2015 19:07:13 +0000 (21:07 +0200)]
[corlib] Add non-overlapping buffer MemoryCopy implementation
Alex Rønne Petersen [Thu, 22 Oct 2015 17:49:12 +0000 (19:49 +0200)]
[profiler] Disable the hack to attempt to get code start/size info.
This is causing crashes by poking into runtime internals, and since we no
longer need this for anything critical, disable it.
https://bugzilla.xamarin.com/show_bug.cgi?id=35171
João Matos [Thu, 22 Oct 2015 11:37:52 +0000 (12:37 +0100)]
Merge pull request #2158 from akoeplinger/fix-winforms-tests
[WinForms] Update tests to match recent changes to Control Foreground+Background
João Matos [Thu, 22 Oct 2015 11:37:29 +0000 (12:37 +0100)]
Merge pull request #2154 from BrennanConroy/bug_30018
More robust get_address_info
Ludovic Henry [Thu, 22 Oct 2015 10:39:31 +0000 (11:39 +0100)]
[threads] Print more information in case of error in global suspend
Jo Shields [Thu, 22 Oct 2015 07:57:39 +0000 (08:57 +0100)]
Merge pull request #2149 from directhex/absolute-path-for-xcopy
[msvc] Use fully qualified path for xcopy
Alexander Köplinger [Thu, 22 Oct 2015 00:12:39 +0000 (02:12 +0200)]
[WinForms] Update tests to match recent changes to Control Foreground+Background
The colors were updated in https://github.com/mono/mono/commit/
f412b5529e560bca594e0c29a47f32dcfb252820,
but the tests weren't. This fixes them.
Martin Baulig [Wed, 21 Oct 2015 20:15:39 +0000 (16:15 -0400)]
[Mono.Security]: Mark 'HttpsClientStream' as obsolete.
Martin Baulig [Wed, 21 Oct 2015 20:12:24 +0000 (16:12 -0400)]
[System]: Remove some dead internal code.
Rodrigo Kumpera [Wed, 21 Oct 2015 20:09:25 +0000 (16:09 -0400)]
Merge pull request #2122 from lambdageek/dev/bug-26384
In Type.FullName, escape ,+&@*[]\ with blackslash. Closes #26384
Marek Safar [Wed, 21 Oct 2015 19:47:38 +0000 (21:47 +0200)]
Merge pull request #2155 from akoeplinger/bug-34334-pr
[interpreter] Relax check for forcing compilation for built-in structs
Martin Baulig [Wed, 21 Oct 2015 18:45:26 +0000 (14:45 -0400)]
[System]: Use MonoTlsProvider API in WebConnection.
Martin Baulig [Wed, 21 Oct 2015 18:36:06 +0000 (14:36 -0400)]
[System]: Use MonoTlsProvider API in FtpWebRequest and SmtpClient.
Alexander Köplinger [Wed, 21 Oct 2015 15:31:22 +0000 (17:31 +0200)]
[interpreter] Relax check for forcing compilation for built-in structs
Method calls on structs like DateTime wouldn't work before,
even though we know we don't have self mutating structs in mscorlib.
Fixes part 2 of https://bugzilla.xamarin.com/show_bug.cgi?id=34334
Aleksey Kliger [Wed, 14 Oct 2015 20:54:51 +0000 (16:54 -0400)]
[reflection] Test for ModuleBuilder.GetType(String) with escaped names
Aleksey Kliger [Mon, 12 Oct 2015 22:30:29 +0000 (18:30 -0400)]
[reflection] ModuleBuilder, TypeBuilder escaped type identifiers patch
1. Use the System.TypeSpec parser to parse components of the type name,
then call out to native code to apply the modifiers, as before.
2. TypeName and TypeIdentifier abstractions to hide display name / internal name strings
Update ModuleBuilder and TypeBuilder to use TypeIdentifier and TypeName
internally in all places that don't need to talk to native code.
3. Change ModuleBuilder.name_cache from Hashtable to Dictionary<TypeName, TypeBuilder>
Aleksey Kliger [Fri, 9 Oct 2015 20:41:40 +0000 (16:41 -0400)]
[corlib] Test Type.FullName and Type.GetType() with special characters.
Make sure that type names that include +,&*[]\ are properly escaped and
unescaped when displaying and parsing.
Aleksey Kliger [Fri, 9 Oct 2015 21:51:28 +0000 (17:51 -0400)]
[corlib] ves_icall_Type_GetNestedTypes unescape special chars in wanted nested type name.
Aleksey Kliger [Tue, 13 Oct 2015 16:19:17 +0000 (12:19 -0400)]
[corlib] System.TypeSpec.Parse unclosed square brackets wrong exn.
Throw ArgumentException on "Foo[," instead of ArrayIndexOutOfBoundsException.
Aleksey Kliger [Fri, 9 Oct 2015 20:38:48 +0000 (16:38 -0400)]
[corlib] System.TypeSpec.Parse escaped characters
Aleksey Kliger [Fri, 9 Oct 2015 16:15:29 +0000 (12:15 -0400)]
[corlib] handle special characters in Type.FullName and Type.GetType(string)
Type.FullName escapes ,+&*[]\ with a leading backslash.
Type.GetType(typeName) strips escaping backslashes from typeName during parsing.
Jonathan Pryor [Thu, 13 Jun 2013 20:56:18 +0000 (16:56 -0400)]
[tuner] Properly preserve AesCryptoServiceProvider.
[merged by rodo from monodroid - the mentioned test is not included here]
Fixes: https://xamarin.desk.com/agent/case/35534
Commit
5ca3cb4b wasn't propertly tested (doh!).
The problem with Aes and AesCryptoServiceProvider is that there's a
cross-assembly dependency: Aes is in mscorlib, while
AesCryptoServiceProvider is in System.Core. The
PreserveCrypto.ProcessSystemCore() method didn't properly handle this
setup.
Fix the linker, and add a test to Hello.
WARNING: The test sucks. In particular, to "test" this fix you need to
run the app and then grep the `adb logcat` output for:
# DownloadDataTaskAsync complete; status=RanToCompletion; exception=
If the status is anything else, or the exception is non-null, it's
busted.
FURTHERMORE, it's only useful in Release apps, not Debug apps.
(No linker in Debug apps.)
The reason for the need to grep is that there's no sane mechanism to
wait until the Task has completed before checking the status of the
Task, and throwing an exception from within the continuation wouldn't
do anything.
FIXME: The real problem is that Task.Wait() blocks forever and never
returns. This needs further investigation.
https://bugzilla.xamarin.com/show_bug.cgi?id=12681
Radek Doulik [Thu, 15 Jan 2015 15:16:17 +0000 (16:16 +0100)]
[tuner] handle the case with multiple "preserve" attributes
- when more than one "preserve" attribute is set (see IsPreservedAttribute),
make sure we handle all of them and not just last one
- fixes https://bugzilla.xamarin.com/show_bug.cgi?id=19391
- example code which suffered from this issue:
[Preserve(AllMembers=true)]
[DataContract]
public class TestClass
{
...
}
later when a method from this class was queried using the reflection,
it wasn't available as it was linked out
Zoltan Varga [Tue, 20 Oct 2015 23:19:12 +0000 (19:19 -0400)]
[runtime] Factor out the PE image loading code into a separate MonoImageLoader object.
Marek Safar [Tue, 20 Oct 2015 22:02:35 +0000 (00:02 +0200)]
[mcs] Fix inference of dynamic type used as a constructed type. Fixes #34898
Zoltan Varga [Tue, 20 Oct 2015 18:30:43 +0000 (14:30 -0400)]
[runtime] Fix a possible buffer overflow in get_process_module ().
Zoltan Varga [Tue, 20 Oct 2015 18:25:42 +0000 (14:25 -0400)]
[amd64] Remove some dead code.
Zoltan Varga [Tue, 20 Oct 2015 18:12:06 +0000 (14:12 -0400)]
Revert "[amd64] Allow returning of structs in register pairs."
This reverts commit
c41b5a47ad24fc359a092fe9023fc82f68cdf198.
Revert this as it breaks IronJS tests:
https://bugzilla.xamarin.com/show_bug.cgi?id=35102
Marek Safar [Tue, 20 Oct 2015 16:38:22 +0000 (18:38 +0200)]
[mcs] Add additional doc reset after property initializers. Fixes #35087
Alexander Köplinger [Tue, 20 Oct 2015 13:14:34 +0000 (15:14 +0200)]
[acceptance-tests] Fix tarball build and rename "check" target to "check-full"
The acceptance-tests folder wasn't getting included in the tarball, adding the folder
to the SUBDIRS in the top-level Makefile.am fixes this. Additionally, EXTRA_DISTFILES
doesn't work outside of mcs/ so rename it to EXTRA_DIST.
Since we don't want a top-level "make check" to recurse into acceptance-tests just yet,
rename the check target to check-full so nothing gets run by default.
Marek Safar [Tue, 20 Oct 2015 12:53:44 +0000 (14:53 +0200)]
Fixes mobile build
Marek Safar [Tue, 20 Oct 2015 10:01:25 +0000 (12:01 +0200)]
[mdoc] Update expected test results after private members change in mscorlib
Marek Safar [Tue, 20 Oct 2015 09:47:06 +0000 (11:47 +0200)]
[System.Runtime.Caching] Update test due to .net fixes
Marek Safar [Tue, 20 Oct 2015 09:36:52 +0000 (11:36 +0200)]
[system.componentmodel.dataannotations] Fix incorrect IsValid_Object_ValidationContext_CrossCallsWithNIEX test
Jo Shields [Tue, 20 Oct 2015 08:56:15 +0000 (09:56 +0100)]
[msvc] Use fully qualified path for xcopy
There are still nasty issues with $PATH vs %PATH% for builds spawned by a system service, this should hopefully fix the last one
Marek Safar [Tue, 20 Oct 2015 08:02:32 +0000 (10:02 +0200)]
[system.data] Remove empty ending character from resource constants
Zoltan Varga [Tue, 20 Oct 2015 02:52:41 +0000 (22:52 -0400)]
[gsharedvt] Inflate methods properly in one case. Fixes #34926.
Alexander Köplinger [Mon, 19 Oct 2015 20:26:18 +0000 (22:26 +0200)]
Merge pull request #2148 from akoeplinger/remove-old-runtime-versions
[runtime] Remove explicit support for v4.0.30128 and v4.0.20506
Alexander Köplinger [Mon, 19 Oct 2015 19:51:41 +0000 (21:51 +0200)]
[runtime] Remove explicit support for v4.0.30128 and v4.0.20506
These versions were still binding to the 4.0 mscorlib, which is a reference-only assembly now
and isn't intended for being used at runtime.
This issue manifested itself when someone used e.g. <supportedRuntime version="v4.0.20506"/> in
the app.config, causing the runtime to try loading that version and then bailing out with
"Corlib not in sync with this runtime: expected corlib version 117, found 111." (with 111 being
the corlib version at the time the reference assemblies were generated).
The fix is to remove the specific versions from the supported_runtimes array, causing programs
to automatically use the newest version instead.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=34675
Other reports:
https://youtrack.jetbrains.com/issue/TW-42700
https://youtrack.jetbrains.com/issue/TW-41337
http://stackoverflow.com/questions/
29988698/teamcity-nunitlauncher-running-on-linux-mono-gives-corlib-not-in-sync-with-th
Zoltan Varga [Mon, 19 Oct 2015 19:47:17 +0000 (15:47 -0400)]
[llvm] Fix the handling of r4 arguments during calls. Fixes #35044.
Martin Baulig [Mon, 19 Oct 2015 17:58:45 +0000 (13:58 -0400)]
Bump reference source.
João Matos [Mon, 19 Oct 2015 16:44:29 +0000 (17:44 +0100)]
[runtime] Remove unused MONO_IS_CROSS_COMPILE define.
Alexander Köplinger [Mon, 19 Oct 2015 14:02:46 +0000 (16:02 +0200)]
[acceptance-tests] Convert Ruby script to Python
Most of the other scripts in the repo use Python and we decided to converge on that one.