mono.git
8 years agoMerge pull request #2686 from ludovic-henry/monoerror-mono_remoting_invoke
monojenkins [Tue, 1 Mar 2016 15:30:18 +0000 (15:30 +0000)]
Merge pull request #2686 from ludovic-henry/monoerror-mono_remoting_invoke

[runtime] Use MonoError for mono_remoting_invoke

8 years agoMerge pull request #2701 from akoeplinger/fix-async-read-test
João Matos [Tue, 1 Mar 2016 10:14:29 +0000 (10:14 +0000)]
Merge pull request #2701 from akoeplinger/fix-async-read-test

Fix unreliability in async_read.exe test

8 years agoMerge pull request #2702 from akoeplinger/bug-38933
João Matos [Tue, 1 Mar 2016 10:10:59 +0000 (10:10 +0000)]
Merge pull request #2702 from akoeplinger/bug-38933

[System.Security] Fix CryptographicException from ProtectedData.Protect with multiple threads

8 years agoMerge pull request #2703 from akoeplinger/pupitetris-Bug-35635
monojenkins [Tue, 1 Mar 2016 08:35:20 +0000 (08:35 +0000)]
Merge pull request #2703 from akoeplinger/pupitetris-Bug-35635

Don't trim TimeZone names ending in parenthesys

Replaces/Closes #2206

@monojenkins merge

8 years ago[corlib] Add test for #35635
Alexander Köplinger [Tue, 1 Mar 2016 07:03:47 +0000 (08:03 +0100)]
[corlib] Add test for #35635

8 years agoDon't trim TimeZone names ending in parenthesys.
Arturo Espinosa [Fri, 6 Nov 2015 22:44:40 +0000 (16:44 -0600)]
Don't trim TimeZone names ending in parenthesys.
Such as "Central Standard Time (Mexico)"

8 years ago[System.Security] Fix CryptographicException from ProtectedData.Protect with multiple...
Alexander Köplinger [Tue, 1 Mar 2016 06:24:02 +0000 (07:24 +0100)]
[System.Security] Fix CryptographicException from ProtectedData.Protect with multiple threads

The code in ManagedProtection.GetKey() instantiated a new RSACryptoServiceProvider singleton without proper
locking to avoid multiple threads running the initialization concurrently.
Since RSACryptoServiceProvider (or rather KeyPairPersistence underneath) uses an XML file with a name derived
from the parameters to store the data there could be a case where one thread writes while another tries to read
and gets garbage. This results in a CryptographicException later on.

Added locking to prevent this.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=38933

8 years agoFix unreliability in async_read.exe test
Alexander Köplinger [Tue, 1 Mar 2016 05:09:51 +0000 (06:09 +0100)]
Fix unreliability in async_read.exe test

It failed on Jenkins today (https://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/3611/parsed_console/log_content.html#WARNING1)
and I could repro it after running the test in a loop.

While looking at the test, the "sum -= buf [0]" seemed suspicious to me. The final callback invocation after the last byte was read results
in buf [0] being 0 most of the time (because no bytes were read). However, due to the async nature of the test that final callback might happen
before another callback and buf then has a value, resulting in a wrong checksum if that value is substracted.

The fix is to remove the substraction. I have no idea why it was done in the first place, but it's been there since the test was added in 2003...

While at it, I've added another check for the number of bytes read and used proper Interlocked.* operations to ensure atomicity.

8 years agoMerge pull request #2695 from vargaz/process-set-pending
monojenkins [Tue, 1 Mar 2016 03:45:21 +0000 (03:45 +0000)]
Merge pull request #2695 from vargaz/process-set-pending

[runtime] Use pending exceptions in process.c.

8 years ago[runtime] Use the return_if_nok () macros in socket-io.c.
Zoltan Varga [Tue, 1 Mar 2016 00:55:55 +0000 (01:55 +0100)]
[runtime] Use the return_if_nok () macros in socket-io.c.

8 years agoMerge pull request #2691 from vargaz/socket-io-pending-exception
Zoltan Varga [Tue, 1 Mar 2016 00:14:04 +0000 (01:14 +0100)]
Merge pull request #2691 from vargaz/socket-io-pending-exception

[runtime] Use pending exceptions in socket-io.c.

8 years ago[runtime] Use return_if_nok/return_val_if_nok to simplify error handling code in...
Zoltan Varga [Mon, 29 Feb 2016 23:37:25 +0000 (00:37 +0100)]
[runtime] Use return_if_nok/return_val_if_nok to simplify error handling code in process.c.

8 years agoMerge pull request #2694 from ludovic-henry/fix-sleep-overflow
monojenkins [Mon, 29 Feb 2016 22:35:35 +0000 (22:35 +0000)]
Merge pull request #2694 from ludovic-henry/fix-sleep-overflow

[threads] Fix mono_thread_info_sleep overflow

This overflow would happen of the machine was up for more than 29 days, leading to an overflow in the value returned by mono_100ms_ticks.

The simplest solution is simply to resort to mono_100ns_ticks which would only overflow after more than 29247 years. So even the platform implement this value as the time since 0000-00-00 00:00:00, we still have more than 27000 years if front of us. It's also highly unlikely that we would overflow the `end' value when adding `ms', as that would mean we are in the last 29 days of that 29247 years.

@monojenkins merge

8 years agoMerge pull request #2680 from lambdageek/dev/reflection-no-loadererror
monojenkins [Mon, 29 Feb 2016 21:15:43 +0000 (21:15 +0000)]
Merge pull request #2680 from lambdageek/dev/reflection-no-loadererror

[reflection] Get rid of loader error in reflection.c

Get rid of (direct and indirect) calls to `mono_loader_set_error_from_mono_error` in reflection.c:

- `mono_custom_attrs_from_index`
- `mono_custom_attrs_from_method`
- `mono_custom_attrs_from_class`
- `mono_custom_attrs_from_assembly`
- `mono_custom_attrs_from_module`
- `mono_custom_attrs_from_property`
- `mono_custom_attrs_from_event`
- `mono_custom_attrs_from_field`
- `mono_custom_attrs_from_param`

In all the functions, add a `_checked` variant that has a `MonoError*` out argument and for the  MONO_API functions.  The public API versions just clean up the error and return NULL.  Loader error isn't touched anymore.

8 years agoMerge pull request #2675 from lambdageek/dev/monoerror-mono_string_intern
monojenkins [Mon, 29 Feb 2016 19:05:41 +0000 (19:05 +0000)]
Merge pull request #2675 from lambdageek/dev/monoerror-mono_string_intern

Use MonoError in mono_string_{is_interned,intern}

Also mark mono_string_intern external only.  Runtime should use
mono_string_intern_checked.

8 years ago[metadata] Don't abort if trying to fetch the header summary of a method with no...
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[metadata] Don't abort if trying to fetch the header summary of a method with no body. Fixes #39200.

This assert made it impossible to fail gracefully when inlining broken methods.

8 years ago[corlib] Fix tests to compile when Thread.Suspend/Resume is not supported.
Rolf Bjarne Kvinge [Mon, 29 Feb 2016 18:02:33 +0000 (19:02 +0100)]
[corlib] Fix tests to compile when Thread.Suspend/Resume is not supported.

8 years ago[reflection] Expect no loader error in mono_reflection_get_custom_attrs_by_type anymore
Aleksey Kliger [Thu, 25 Feb 2016 22:26:36 +0000 (17:26 -0500)]
[reflection] Expect no loader error in mono_reflection_get_custom_attrs_by_type anymore

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_param
Aleksey Kliger [Thu, 25 Feb 2016 22:09:55 +0000 (17:09 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_param

Mark it external only.  Runtime should use mono_custom_attrs_from_param_checked

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_field
Aleksey Kliger [Thu, 25 Feb 2016 21:58:01 +0000 (16:58 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_field

Mark it external only.  Runtime should use mono_custom_attrs_from_field_checked.

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_event
Aleksey Kliger [Thu, 25 Feb 2016 21:46:29 +0000 (16:46 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_event

Mark it external only.  Runtime should use mono_custom_attrs_from_event_checked.

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_property
Aleksey Kliger [Thu, 25 Feb 2016 21:38:28 +0000 (16:38 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_property

Mark it external only.  Runtime should use mono_custom_attrs_from_property_checked.

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_module
Aleksey Kliger [Thu, 25 Feb 2016 21:34:16 +0000 (16:34 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_module

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_assembly
Aleksey Kliger [Thu, 25 Feb 2016 21:30:44 +0000 (16:30 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_assembly

Mark it external only.  Runtime should use mono_custom_attrs_from_assembly_checked.

8 years ago[reflection] Use MonoError for mono_custom_attrs_from_class instead of loader error.
Aleksey Kliger [Thu, 25 Feb 2016 20:35:56 +0000 (15:35 -0500)]
[reflection] Use MonoError for mono_custom_attrs_from_class instead of loader error.

Also mark mono_custom_attrs_from_class external only.  Runtime should
use mono_custom_attrs_from_class_checked.

8 years ago[reflection] Use MonoError in mono_custom_attrs_from_{index, method} instead of loade...
Aleksey Kliger [Thu, 25 Feb 2016 19:14:25 +0000 (14:14 -0500)]
[reflection] Use MonoError in mono_custom_attrs_from_{index, method} instead of loader error.

Also mark both as external only.  Runtime should use
mono_custom_attrs_from_index_checked and mono_custom_attrs_from_method_checked.

8 years ago[runtime] Fix compilation warning
Ludovic Henry [Mon, 29 Feb 2016 15:59:09 +0000 (15:59 +0000)]
[runtime] Fix compilation warning

8 years ago[runtime] Use MonoError for mono_remoting_invoke
Ludovic Henry [Fri, 26 Feb 2016 14:07:43 +0000 (14:07 +0000)]
[runtime] Use MonoError for mono_remoting_invoke

8 years agoUse MonoError in mono_string_{is_interned,intern}
Aleksey Kliger [Wed, 24 Feb 2016 22:11:47 +0000 (17:11 -0500)]
Use MonoError in mono_string_{is_interned,intern}

Also mark mono_string_intern external only.  Runtime should use
mono_string_intern_checked.

8 years ago[runtime] Use pending exceptions in process.c.
Zoltan Varga [Mon, 29 Feb 2016 15:23:48 +0000 (16:23 +0100)]
[runtime] Use pending exceptions in process.c.

8 years ago[threads] Fix mono_thread_info_sleep overflow
Ludovic Henry [Mon, 29 Feb 2016 14:42:31 +0000 (14:42 +0000)]
[threads] Fix mono_thread_info_sleep overflow

This overflow would happen of the machine was up for more than 29 days, leading to an overflow in the value returned by mono_100ms_ticks.

The simplest solution is simply to resort to mono_100ns_ticks which would only overflow after more than 29247 years. So even the platform implement this value as the time since 0000-00-00 00:00:00, we still have more than 27000 years if front of us. It's also highly unlikely that we would overflow the `end' value when adding `ms', as that would mean we are in the last 29 days of that 29247 years.

8 years agoMerge pull request #2693 from dellis1972/master
monojenkins [Mon, 29 Feb 2016 13:30:19 +0000 (13:30 +0000)]
Merge pull request #2693 from dellis1972/master

[msbuild] Getting build error "Error initializing task XmlPeek: Not registered task XmlPeek".

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=38638

Removes the uses of LogXXXFromResources from XmlPeek because
we do not use string resources in xbuild.

8 years ago[msbuild] Getting build error "Error initializing task XmlPeek: Not registered task...
Dean Ellis [Mon, 29 Feb 2016 11:55:15 +0000 (11:55 +0000)]
[msbuild] Getting build error "Error initializing task XmlPeek: Not registered task XmlPeek".

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=38638

Removes the uses of LogXXXFromResources from XmlPeek because
we do not use string resources in xbuild.

8 years agoMerge pull request #2692 from vargaz/process-coding-conv
monojenkins [Mon, 29 Feb 2016 04:00:17 +0000 (04:00 +0000)]
Merge pull request #2692 from vargaz/process-coding-conv

[runtime] Use mono coding conventions in process.c.

8 years ago[runtime] Use mono coding conventions in process.c.
Zoltan Varga [Mon, 29 Feb 2016 02:35:15 +0000 (03:35 +0100)]
[runtime] Use mono coding conventions in process.c.

8 years ago[runtime] Use pending exceptions in socket-io.c.
Zoltan Varga [Mon, 29 Feb 2016 01:58:38 +0000 (02:58 +0100)]
[runtime] Use pending exceptions in socket-io.c.

8 years agoMerge pull request #2690 from steffen-kiess/json-operator-uint
Alexander Köplinger [Sun, 28 Feb 2016 23:06:51 +0000 (00:06 +0100)]
Merge pull request #2690 from steffen-kiess/json-operator-uint

Fix typo in JsonValue which broke the conversion to uint and add test case

8 years agoFix typo in JsonValue which broke the conversion to uint and add test case
Steffen Kieß [Sun, 28 Feb 2016 17:40:22 +0000 (18:40 +0100)]
Fix typo in JsonValue which broke the conversion to uint and add test case

8 years agoBring new IKVM
Miguel de Icaza [Sat, 27 Feb 2016 20:27:46 +0000 (15:27 -0500)]
Bring new IKVM

8 years agoMerge pull request #2580 from ItsVeryWindy/master
João Matos [Sat, 27 Feb 2016 12:37:39 +0000 (12:37 +0000)]
Merge pull request #2580 from ItsVeryWindy/master

Updates to WebRequestHandler

8 years agoMerge pull request #2672 from Numpsy/sgenexception
João Matos [Sat, 27 Feb 2016 12:36:36 +0000 (12:36 +0000)]
Merge pull request #2672 from Numpsy/sgenexception

[sgen] catch NotSupportedException from system.xml.serialization

8 years agoMerge pull request #2689 from vargaz/socket-io-cleanup
Zoltan Varga [Sat, 27 Feb 2016 11:46:01 +0000 (06:46 -0500)]
Merge pull request #2689 from vargaz/socket-io-cleanup

[runtime] Clean up the socket-io.c file to use the mono coding conven…

8 years ago[runtime] Clean up the socket-io.c file to use the mono coding conventions. Rename...
Zoltan Varga [Sat, 27 Feb 2016 06:48:10 +0000 (01:48 -0500)]
[runtime] Clean up the socket-io.c file to use the mono coding conventions. Rename 'error' to 'werror' so 'error' can be used to refer to MonoError as everywhere else. NFC.

8 years agoMerge pull request #2688 from vargaz/marshal-set-pending
monojenkins [Sat, 27 Feb 2016 05:55:17 +0000 (05:55 +0000)]
Merge pull request #2688 from vargaz/marshal-set-pending

[runtime] Use pending exceptions instead of mono_raise_exception () i…

…n Marshal icalls.

8 years ago[runtime] Use pending exceptions instead of mono_raise_exception () in Marshal icalls.
Zoltan Varga [Sat, 27 Feb 2016 04:19:10 +0000 (23:19 -0500)]
[runtime] Use pending exceptions instead of mono_raise_exception () in Marshal icalls.

8 years ago[aot] Fix the usage of MonoError in init-llvm_method ().
Zoltan Varga [Sat, 27 Feb 2016 03:40:29 +0000 (22:40 -0500)]
[aot] Fix the usage of MonoError in init-llvm_method ().

8 years agoMerge pull request #2678 from esdrubal/filestream
Marek Safar [Fri, 26 Feb 2016 23:12:18 +0000 (15:12 -0800)]
Merge pull request #2678 from esdrubal/filestream

[corlib] Fixed FileStream Write after Read issue

8 years agoMerge pull request #2685 from ludovic-henry/monoerror-mono_object_register_finalizer
Aleksey Kliger (λgeek) [Fri, 26 Feb 2016 20:28:08 +0000 (15:28 -0500)]
Merge pull request #2685 from ludovic-henry/monoerror-mono_object_register_finalizer

[runtime] Use MonoError for mono_object_register_finalizer

8 years agoMerge pull request #2671 from lambdageek/dev/monoerror-mono_runtime_class_init
monojenkins [Fri, 26 Feb 2016 18:00:20 +0000 (18:00 +0000)]
Merge pull request #2671 from lambdageek/dev/monoerror-mono_runtime_class_init

[runtime] Use MonoError for mono_class_vtable_full and mono_runtime_class_init_full

Switch from a boolean `raise_on_error` arg to a MonoError outarg and let
callers decide what to do with the error.

Also mark mono_runtime_class_init external only.  Runtime should use
mono_runtime_class_init_full.

8 years ago[runtime] Use MonoError for mono_class_vtable_full and mono_runtime_class_init_full.
Aleksey Kliger [Tue, 23 Feb 2016 22:16:43 +0000 (17:16 -0500)]
[runtime] Use MonoError for mono_class_vtable_full and mono_runtime_class_init_full.

Switch from a boolean raise_on_error arg to a MonoError outarg and let
callers decide what to do with the error.

Also mark mono_runtime_class_init external only.  Runtime should use
mono_runtime_class_init_full.

8 years ago[scripts] Point scripts like nunit-console2/mono-service2 to the 4.5 directory
Alexander Köplinger [Fri, 26 Feb 2016 14:25:16 +0000 (15:25 +0100)]
[scripts] Point scripts like nunit-console2/mono-service2 to the 4.5 directory

The 2.0 profile doesn't ship with Mono anymore. To avoid breaking existing scripts we just point to the 4.5 version instead.

8 years ago[System.ServiceModel] Fix a hardcoded port in a test
Alexander Köplinger [Fri, 26 Feb 2016 14:28:45 +0000 (15:28 +0100)]
[System.ServiceModel] Fix a hardcoded port in a test

This failed with an "address already in use" error on Jenkins yesterday.

8 years ago[runtime] Use MonoError for mono_object_register_finalizer
Ludovic Henry [Fri, 26 Feb 2016 13:49:28 +0000 (13:49 +0000)]
[runtime] Use MonoError for mono_object_register_finalizer

8 years agoMerge pull request #2679 from lambdageek/dev/monoerror-reflection
Rodrigo Kumpera [Fri, 26 Feb 2016 01:42:39 +0000 (17:42 -0800)]
Merge pull request #2679 from lambdageek/dev/monoerror-reflection

[reflection] MonoError cleanups

8 years ago[runtime] Remove some declarations from marshal.h which are not used outside of marsh...
Zoltan Varga [Fri, 26 Feb 2016 01:09:56 +0000 (17:09 -0800)]
[runtime] Remove some declarations from marshal.h which are not used outside of marshal.c.

8 years agoMerge pull request #2683 from mfilippov/master
Alexander Köplinger [Fri, 26 Feb 2016 00:23:19 +0000 (01:23 +0100)]
Merge pull request #2683 from mfilippov/master

Add generation WepApplication.targets for v12.0 and v14.0 xbuild.

8 years agoAdd generation WepApplication.targets for v12.0 and v14.0 xbuild.
Mikhail Filippov [Fri, 26 Feb 2016 00:18:08 +0000 (03:18 +0300)]
Add generation WepApplication.targets for v12.0 and v14.0 xbuild.

8 years agoMerge pull request #2681 from kumpera/pedump_fix
monojenkins [Fri, 26 Feb 2016 00:05:22 +0000 (00:05 +0000)]
Merge pull request #2681 from kumpera/pedump_fix

[pedump] Fix init crash on pedump when using --verify.

@marek-safar  here's your fix

@monojenkins merge

8 years ago[aot] Move a mono_error_raise_exception () call higher up the call chain.
Zoltan Varga [Thu, 25 Feb 2016 21:53:53 +0000 (13:53 -0800)]
[aot] Move a mono_error_raise_exception () call higher up the call chain.

8 years ago[pedump] Fix init crash on pedump when using --verify.
Rodrigo Kumpera [Thu, 25 Feb 2016 21:40:10 +0000 (13:40 -0800)]
[pedump] Fix init crash on pedump when using --verify.

8 years ago[sdb] Remove some mono_error_raise_exception () calls.
Zoltan Varga [Thu, 25 Feb 2016 21:30:13 +0000 (13:30 -0800)]
[sdb] Remove some mono_error_raise_exception () calls.

8 years ago[jit]: Correctly restore callee saved registers in mono_arch_get_call_filter() on...
Martin Baulig [Thu, 25 Feb 2016 20:45:38 +0000 (15:45 -0500)]
[jit]: Correctly restore callee saved registers in mono_arch_get_call_filter() on amd64.

(cherry picked from commit 8c1ffe78ccf68fab9acad53eebc01b5c84fc81ec)

8 years ago[corlib] Fixed MonoIO.Write loop.
Marcos Henrich [Thu, 25 Feb 2016 18:44:08 +0000 (18:44 +0000)]
[corlib] Fixed MonoIO.Write loop.

8 years ago[corlib] Fixed FileStream Write after Read issue
Marcos Henrich [Thu, 25 Feb 2016 18:39:30 +0000 (18:39 +0000)]
[corlib] Fixed FileStream Write after Read issue

FileStream was writing to the wrong position When a value longer than
the FileStream buffer was written after a read.

This was fixed by doing a seek before doing the problematic write.

Fixes #11699

8 years ago[corlib] Test FileStream with Read and Writes
Marcos Henrich [Thu, 25 Feb 2016 18:38:05 +0000 (18:38 +0000)]
[corlib] Test FileStream with Read and Writes

Covers #11699

8 years agoFixed the build.
João Matos [Thu, 25 Feb 2016 18:29:21 +0000 (18:29 +0000)]
Fixed the build.

8 years ago[support/zlib] Added API exports to exported calls from zlib-helper.c.
João Matos [Thu, 25 Feb 2016 17:37:00 +0000 (17:37 +0000)]
[support/zlib] Added API exports to exported calls from zlib-helper.c.

This is so we can re-use this code from libmonodroid, which currently has its own duplicated copy.

8 years ago[support/zlib] Remove eglib link dependencies from zlib-helper.c.
João Matos [Thu, 25 Feb 2016 17:36:05 +0000 (17:36 +0000)]
[support/zlib] Remove eglib link dependencies from zlib-helper.c.

This is so we can re-use this code from libmonodroid, which currently has its own duplicated copy.

8 years ago[reflection] MonoError in mono_reflection_get_custom_attrs_info
Aleksey Kliger [Thu, 25 Feb 2016 17:20:30 +0000 (12:20 -0500)]
[reflection] MonoError in mono_reflection_get_custom_attrs_info

Also mark that function external only.  Runtime should use
mono_reflection_get_custom_attrs_info_checked

8 years ago[reflection] MonoError for mono_reflection_type_get_underlying_system_type
Aleksey Kliger [Thu, 25 Feb 2016 16:30:12 +0000 (11:30 -0500)]
[reflection] MonoError for mono_reflection_type_get_underlying_system_type

8 years agoMerge pull request #2655 from ludovic-henry/fix-wait-timeout
Ludovic Henry [Thu, 25 Feb 2016 16:28:20 +0000 (16:28 +0000)]
Merge pull request #2655 from ludovic-henry/fix-wait-timeout

[WaitHandle] Fix Wait(One|Any|All) and SignalAndWait with timeout

8 years ago[reflection] MonoError for mono_custom_attrs_data_construct
Aleksey Kliger [Thu, 25 Feb 2016 16:12:14 +0000 (11:12 -0500)]
[reflection] MonoError for mono_custom_attrs_data_construct

8 years ago[reflection] MonoError for create_cattr_{typed,named}_arg
Aleksey Kliger [Thu, 25 Feb 2016 15:52:52 +0000 (10:52 -0500)]
[reflection] MonoError for create_cattr_{typed,named}_arg

8 years ago[reflection] MonoError for mono_reflection_method_on_tb_inst_get_handle
Aleksey Kliger [Thu, 25 Feb 2016 15:51:58 +0000 (10:51 -0500)]
[reflection] MonoError for mono_reflection_method_on_tb_inst_get_handle

8 years ago[jit] Remove a few mono_error_raise_exception () calls.
Zoltan Varga [Thu, 25 Feb 2016 08:36:57 +0000 (00:36 -0800)]
[jit] Remove a few mono_error_raise_exception () calls.

8 years agoFix the build.
Zoltan Varga [Thu, 25 Feb 2016 07:30:33 +0000 (23:30 -0800)]
Fix the build.

8 years ago[jit] Add a MonoError argument to mono_create_jit_trampoline (), get rid of the mono_...
Zoltan Varga [Thu, 25 Feb 2016 07:28:44 +0000 (23:28 -0800)]
[jit] Add a MonoError argument to mono_create_jit_trampoline (), get rid of the mono_create_jit_trampoline_in_domain () variant.

8 years ago[jit] Add a MonoError argument to mono_create_jump_trampoline ().
Zoltan Varga [Thu, 25 Feb 2016 07:15:22 +0000 (23:15 -0800)]
[jit] Add a MonoError argument to mono_create_jump_trampoline ().

8 years ago[llvm] Remove some unused argument passing conventions.
Zoltan Varga [Wed, 24 Feb 2016 21:50:09 +0000 (13:50 -0800)]
[llvm] Remove some unused argument passing conventions.

8 years agoMerge pull request #2673 from serpentblade/master
Marek Safar [Wed, 24 Feb 2016 20:21:16 +0000 (12:21 -0800)]
Merge pull request #2673 from serpentblade/master

[System.Data.SqlClient] Fix for bulk copy inserts via IDataReader

8 years ago[System.Data.SqlClient] Fix for bulk copy inserts via IDataReader
Dan Krieger [Wed, 24 Feb 2016 19:57:20 +0000 (11:57 -0800)]
[System.Data.SqlClient] Fix for bulk copy inserts via IDataReader

Resolve same with DataTable requiring name problem fixed in 1858ce4a94ab07f615a0e5ded37f8caa18473700

8 years ago[sgen] catch NotSupportedException from system.xml.serialization
Richard Webb [Wed, 24 Feb 2016 13:18:12 +0000 (13:18 +0000)]
[sgen] catch NotSupportedException from system.xml.serialization

System.Xml.Serialization.TypeDesc.CheckSupported might throw a
NotSupportedException, so catch it and ignore the current type

8 years ago[llvm] Fix the loaded llvm build.
Zoltan Varga [Wed, 24 Feb 2016 09:23:58 +0000 (01:23 -0800)]
[llvm] Fix the loaded llvm build.

8 years agoFix the build.
Zoltan Varga [Wed, 24 Feb 2016 09:22:18 +0000 (01:22 -0800)]
Fix the build.

8 years ago[llvm] Emit dwarf debug info when running with llvm 3.9. This is not enabled yet...
Zoltan Varga [Wed, 24 Feb 2016 08:23:25 +0000 (00:23 -0800)]
[llvm] Emit dwarf debug info when running with llvm 3.9. This is not enabled yet, since it doesn't seem to work, the dwarf info is in the object file emitted by llc, but disappears during linking.

8 years ago[mcs] escaped quoted interpolated format specifier has no restrictions. Fixes #38992
Marek Safar [Tue, 23 Feb 2016 21:46:23 +0000 (13:46 -0800)]
[mcs] escaped quoted interpolated format specifier has no restrictions. Fixes #38992

8 years agoMerge pull request #2664 from lambdageek/dev/monoerror-mono_rand
monojenkins [Tue, 23 Feb 2016 17:30:20 +0000 (17:30 +0000)]
Merge pull request #2664 from lambdageek/dev/monoerror-mono_rand

[runtime] Use MonoError in mono_rand_try_get_bytes

8 years ago[System.IO.Compression.DeflateStream] Fixed end condition in decompression loop.
João Matos [Tue, 23 Feb 2016 16:09:26 +0000 (16:09 +0000)]
[System.IO.Compression.DeflateStream] Fixed end condition in decompression loop.

Keep track of total bytes read from input stream and break from the loop if it matches the number of bytes inflated by zlib.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=34916.

8 years ago[msvc] %PATH% is sometimes empty in Jenkins, so "powershell" doesn't run
Alexander Köplinger [Tue, 23 Feb 2016 16:03:11 +0000 (17:03 +0100)]
[msvc] %PATH% is sometimes empty in Jenkins, so "powershell" doesn't run

Try using a system-standard default variable which points to the required folder instead.

8 years agoMerge pull request #2666 from lambdageek/dev/kill-InternalReplaceStrComp
monojenkins [Tue, 23 Feb 2016 15:55:17 +0000 (15:55 +0000)]
Merge pull request #2666 from lambdageek/dev/kill-InternalReplaceStrComp

[runtime] Remove ves_icall_System_String_InternalReplace_Str_Comp

It appears to be dead code.

8 years ago[runtime] Use MonoError in mono_rand_try_get_bytes
Aleksey Kliger [Mon, 22 Feb 2016 19:41:26 +0000 (14:41 -0500)]
[runtime] Use MonoError in mono_rand_try_get_bytes

8 years agoBump Mono version -> 4.5.0
Alexis Christoforides [Tue, 23 Feb 2016 14:25:09 +0000 (09:25 -0500)]
Bump Mono version -> 4.5.0

8 years ago[runtime] Remove ves_icall_System_String_InternalReplace_Str_Comp
Aleksey Kliger [Mon, 22 Feb 2016 23:45:16 +0000 (18:45 -0500)]
[runtime] Remove ves_icall_System_String_InternalReplace_Str_Comp

It appears to be dead code.

8 years agoMerge pull request #2661 from ludovic-henry/fix-safehandle-abort
monojenkins [Mon, 22 Feb 2016 22:25:34 +0000 (22:25 +0000)]
Merge pull request #2661 from ludovic-henry/fix-safehandle-abort

[SafeHandle] Avoid handle leakage in case of ThreadAbortException

If we get a ThreadAbortException while at SafeHandle.cs:124 (before this commit), we would not set release to true, even after incrementing the internal reference count of the SafeHandle. That could lead to potential leak, as the caller (following the common following pattern) would never call DangerousRelase, thus never calling PerformRelease. The finalizer or Dispose would not lead to the call of PerformRelease either, as the DangerousAddRef / DangerousRelase calls are unbalanced.

The common pattern for DangerousAddRef / DangerousRelease is the following:

bool release = false;
try {
  safeHandle.DangerousAddRef (ref release);
  /* do something with safeHandle.DangerousGetHandle () */
} finally {
  if (release)
    safeHandle.DangerousRelease ();
}

@monojenkins merge

8 years agoMerge pull request #2657 from xmcclure/little-embed-fixes
monojenkins [Mon, 22 Feb 2016 19:45:29 +0000 (19:45 +0000)]
Merge pull request #2657 from xmcclure/little-embed-fixes

Minor platform-support fixes

* Fix error in DISABLE_HW_TRAPS implementation
* Rename class in mono/tests/threadpool.cs to allow embedding

8 years agoMerge pull request #2653 from lambdageek/dev/exception_type-1
monojenkins [Mon, 22 Feb 2016 19:30:33 +0000 (19:30 +0000)]
Merge pull request #2653 from lambdageek/dev/exception_type-1

[runtime] Don't access MonoClass::exception_type directly.

Use `mono_class_get_failure ()` and `mono_class_has_failed ()`

This is mostly just cleanup refactoring at this point that will make it easier to change how exception_type is used.

Also from this exercise we've learned that most of the class handling code just cares whether the class has an error or not, not what sort of error it was.

8 years agoMerge pull request #2646 from ludovic-henry/fix-processwatch-dispose
Ankit Jain [Mon, 22 Feb 2016 18:26:24 +0000 (13:26 -0500)]
Merge pull request #2646 from ludovic-henry/fix-processwatch-dispose

[Microsoft.Build] Fix XS build error + Fix expected output newline from ProcessWrapper.OutputStreamChanged and ProcessWrapper.ErrorStreamChanged

8 years ago[SafeHandle] Avoid handle leakage in case of ThreadAbortException
Ludovic Henry [Mon, 22 Feb 2016 12:56:23 +0000 (12:56 +0000)]
[SafeHandle] Avoid handle leakage in case of ThreadAbortException

If we get a ThreadAbortException while at SafeHandle.cs:124 (before this commit), we would not set release to true, even after incrementing the internal reference count of the SafeHandle. That could lead to potential leak, as the caller (following the common following pattern) would never call DangerousRelase, thus never calling PerformRelease. The finalizer or Dispose would not lead to the call of PerformRelease either, as the DangerousAddRef / DangerousRelase calls are unbalanced.

The common pattern for DangerousAddRef / DangerousRelease is the following:

bool release = false;
try {
  safeHandle.DangerousAddRef (ref release);
  /* do something with safeHandle.DangerousGetHandle () */
} finally {
  if (release)
    safeHandle.DangerousRelease ();
}

8 years ago[WaitHandle] Fix Wait(One|Any|All) and SignalAndWait with timeout
Ludovic Henry [Fri, 19 Feb 2016 21:07:22 +0000 (21:07 +0000)]
[WaitHandle] Fix Wait(One|Any|All) and SignalAndWait with timeout

In the case where we would call for example WaitHandle.WaitOne with a timeout, we could run in the case where we would wait way longer than the timeout would allow it (240s instead of 90s for example). This would be due to spurious wake, which would not be considered to be an error, but which would lead calling the `mono_os_cond_timedwait` function with the same timeout every time. That would mean that `mono_os_cond_timedwait` would return that it timedout, if and only if, it would timed out after N milliseconds, with N the millisecondsTimeout parameter to WaitOne in this example. That mean that any spurious wake would effectively lead to rewaiting with a full timeout every time.

That could lead to the following scenario:
 - T1 calls waitHandle.WaitOne(timeout = 1000ms) at T=0ms
 - T1 calls mono_os_cond_timedwait(timeout = 1000) at T=0ms
 - GC suspend T1 at T=500ms <- here it's not necessarily the GC, it can be anything suspending/signaling the thread
 - T1 spurious wake, and call mono_os_cond_timedwait(timeout = 1000) at T=500ms
 - GC interrupt T1 at T=1250ms
 - T1 spurious wake, and call mono_os_cond_timedwait(timeout = 1000) at T=1250ms
 - etc.

As you can see, T1 should have returned from waitHandle.WaitOne before the second spurious wake, but as it recalled mono_os_cond_timedwait with a timeout of 1000ms again, it didn't.

The fix consists in keeping track of when the call is supposed to finish, and pass an adaptable timeout to mono_os_cond_timedwait, which decreases as time goes on, to enventually reach 0, and return in a timely manner.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=38382

8 years agoMerge pull request #2620 from ludovic-henry/referencesource-waithandle
Ludovic Henry [Mon, 22 Feb 2016 16:04:36 +0000 (16:04 +0000)]
Merge pull request #2620 from ludovic-henry/referencesource-waithandle

[corlib] Import System.Threading.WaitHandle