mono.git
8 years ago[readme] Clarify --enable-parallel-mark description
Alexander Köplinger [Mon, 8 Feb 2016 15:46:17 +0000 (16:46 +0100)]
[readme] Clarify --enable-parallel-mark description

It's Boehm only and not enabled by default on some platforms (e.g. it's disabled on OSX).

8 years agoMerge pull request #2574 from abrasive/gcc5_fix_gc
Rodrigo Kumpera [Mon, 8 Feb 2016 14:30:16 +0000 (06:30 -0800)]
Merge pull request #2574 from abrasive/gcc5_fix_gc

libgc: use __builtin_frame_address in GC_approx_sp

8 years agoMerge pull request #2575 from alexrp/master
Rodrigo Kumpera [Mon, 8 Feb 2016 14:27:34 +0000 (06:27 -0800)]
Merge pull request #2575 from alexrp/master

[profiler] Fix a rare crash when sending SIGPROF to a starting thread.

8 years ago[profiler] Fix a rare crash when sending SIGPROF to a starting thread.
Alex Rønne Petersen [Mon, 8 Feb 2016 10:24:51 +0000 (11:24 +0100)]
[profiler] Fix a rare crash when sending SIGPROF to a starting thread.

When sample profiling is enabled and we send a SIGPROF signal to a thread that
hasn't yet transitioned to a running state (e.g. STATE_RUNNING), the signal can
sometimes be delivered at such an early point that libc has not even finished
initializing TLS for that thread yet. This is problematic because we then go
right on to crash in the SIGPROF signal handler when we try to save errno. We
then further crash in the SIGSEGV handler because we can't access the jit_tls
variable either.

The fix is fairly simple: Only send SIGPROF to threads that have transitioned
to a running state. Technically, TLS is initialized 'much' earlier than when
this state transition happens, but since the worst thing that can happen is
that we miss one sampling event (i.e. ~1sec by default) right at the beginning
of the thread's lifetime, this simple fix is good enough.

This crash seemingly only happened on OS X.

8 years ago[llvmonly] Disable tail calls as they break stack traces.
Zoltan Varga [Mon, 8 Feb 2016 07:28:28 +0000 (02:28 -0500)]
[llvmonly] Disable tail calls as they break stack traces.

8 years ago[llvm] Make the stack walk code return.
Zoltan Varga [Mon, 8 Feb 2016 07:27:33 +0000 (02:27 -0500)]
[llvm] Make the stack walk code return.

8 years agolibgc: use __builtin_frame_address in GC_approx_sp
James Laird-Wah [Sun, 7 Feb 2016 23:19:53 +0000 (10:19 +1100)]
libgc: use __builtin_frame_address in GC_approx_sp

With GCC 5.x, the compiler optimises away the dummy load used to
estimate the stack pointer address in GC_approx_sp; it returns
zero. This leads to segfaults when embedding Mono.

Instead, use __builtin_frame_address, which GCC's libgc uses for
the same purpose.

8 years ago[llvmonly] Compile the bitcode files using -O2 (only in desktop llvmonly mode).
Zoltan Varga [Sun, 7 Feb 2016 02:11:06 +0000 (21:11 -0500)]
[llvmonly] Compile the bitcode files using -O2 (only in desktop llvmonly mode).

8 years ago[llvm] When storing valuetypes received in registers to the stack, store only the...
Zoltan Varga [Sun, 7 Feb 2016 02:10:37 +0000 (21:10 -0500)]
[llvm] When storing valuetypes received in registers to the stack, store only the value parts of the register, the upper bits might container garbage.

8 years agoMerge pull request #2567 from lambdageek/monoerror-mono_module_file_get_object
Aleksey Kliger (λgeek) [Sat, 6 Feb 2016 16:08:39 +0000 (11:08 -0500)]
Merge pull request #2567 from lambdageek/monoerror-mono_module_file_get_object

[reflection] Use MonoError in mono_module_file_get_object

8 years ago[jit] Disable to returning of trampolines from mini_jit_info_table_find () to see...
Zoltan Varga [Sat, 6 Feb 2016 08:09:50 +0000 (03:09 -0500)]
[jit] Disable to returning of trampolines from mini_jit_info_table_find () to see whenever that fixes failures on wrench.

8 years ago[llvmonly] Remove the mono_llvmonly_get_calling_assembly () workaround since stack...
Zoltan Varga [Sat, 6 Feb 2016 06:59:38 +0000 (01:59 -0500)]
[llvmonly] Remove the mono_llvmonly_get_calling_assembly () workaround since stack walks work in llvmonly mode now.

8 years ago[reflection] Use MonoError in mono_module_file_get_object
Aleksey Kliger [Fri, 29 Jan 2016 17:20:30 +0000 (12:20 -0500)]
[reflection] Use MonoError in mono_module_file_get_object

Mark mono_module_file_get_object external only.
Use mono_module_file_get_object_checked in runtime code.

8 years agoFix the build.
Zoltan Varga [Fri, 5 Feb 2016 20:22:11 +0000 (15:22 -0500)]
Fix the build.

8 years agoMerge pull request #2569 from xmcclure/gshared-enable
Andi McClure [Fri, 5 Feb 2016 18:39:58 +0000 (13:39 -0500)]
Merge pull request #2569 from xmcclure/gshared-enable

Miscellaneous minor improvements around amd64 aot

8 years agoFixed compiler to wrap paths with embedded spaces when calling external tools.
João Matos [Fri, 5 Feb 2016 16:52:49 +0000 (16:52 +0000)]
Fixed compiler to wrap paths with embedded spaces when calling external tools.

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

8 years ago[corlib] Disable ThreadLocalTests.DisposeOnThreadExit on MonoTouch, it's randomly...
Rolf Bjarne Kvinge [Fri, 5 Feb 2016 14:15:45 +0000 (15:15 +0100)]
[corlib] Disable ThreadLocalTests.DisposeOnThreadExit on MonoTouch, it's randomly failing.

8 years agoMerge pull request #2572 from akoeplinger/fix-monodoc-language
Alexander Köplinger [Fri, 5 Feb 2016 15:14:05 +0000 (16:14 +0100)]
Merge pull request #2572 from akoeplinger/fix-monodoc-language

[monodoc] Fix literal formatting on systems where decimal separator is not a dot

8 years ago[llvmonly] Various small fixes. Make mono_llvm_throw_exception etc. directly callable...
Zoltan Varga [Fri, 5 Feb 2016 07:07:40 +0000 (02:07 -0500)]
[llvmonly] Various small fixes. Make mono_llvm_throw_exception etc. directly callable in static mode. Add support for directly calling pinvoke methods. Fix an assertion during EH.

8 years ago[Docs] More API docs
Miguel de Icaza [Fri, 5 Feb 2016 04:14:01 +0000 (23:14 -0500)]
[Docs] More API docs

8 years ago[llvmonly] Don't set the invariant.load flag on loads from the GOT, they are initiali...
Zoltan Varga [Fri, 5 Feb 2016 03:40:44 +0000 (22:40 -0500)]
[llvmonly] Don't set the invariant.load flag on loads from the GOT, they are initialized by a call to init_method () so they are not completely invariant.

8 years agoRevert "[jit] Don't allocate memory for unused vreg"
Zoltan Varga [Fri, 5 Feb 2016 00:02:18 +0000 (19:02 -0500)]
Revert "[jit] Don't allocate memory for unused vreg"

This reverts commit 137c0999cc8e1e9171c7703af9b013f2e43731f5.

Revert this as leads to a memory overwrite on x86:

defs [ins->dreg + 1] = NULL;

8 years agoMove some amd64 constants out of source into header
Andi McClure [Thu, 4 Feb 2016 19:11:45 +0000 (14:11 -0500)]
Move some amd64 constants out of source into header

8 years agoClarify trampoline error message in aot-runtime
Andi McClure [Thu, 4 Feb 2016 18:43:03 +0000 (13:43 -0500)]
Clarify trampoline error message in aot-runtime

8 years agoMerge pull request #2566 from lambdageek/monoerror-mono_module_get_object
Aleksey Kliger (λgeek) [Thu, 4 Feb 2016 15:26:54 +0000 (10:26 -0500)]
Merge pull request #2566 from lambdageek/monoerror-mono_module_get_object

[reflection] Use MonoError for mono_module_get_object

8 years agoMerge pull request #2535 from lambdageek/monoerror-reflection-bubble
Aleksey Kliger (λgeek) [Thu, 4 Feb 2016 15:26:25 +0000 (10:26 -0500)]
Merge pull request #2535 from lambdageek/monoerror-reflection-bubble

[reflection] Push MonoError through misc methods

8 years ago[System] Remove explicit sdk target from CSharpCodeCompiler
Marek Safar [Thu, 4 Feb 2016 15:03:11 +0000 (16:03 +0100)]
[System] Remove explicit sdk target from CSharpCodeCompiler

8 years ago[io-layer] Print from which pipe we just read
Ludovic Henry [Thu, 4 Feb 2016 14:30:55 +0000 (14:30 +0000)]
[io-layer] Print from which pipe we just read

8 years ago[Process] Fix possible double call to Begin(Output|Error)ReadLine
Ludovic Henry [Thu, 4 Feb 2016 14:28:17 +0000 (14:28 +0000)]
[Process] Fix possible double call to Begin(Output|Error)ReadLine

This is not allowed in .NET, as it could lead to unexpected results.

8 years ago[threads] Remove mono_thread_notify_pending_exc_fn dead code
Ludovic Henry [Tue, 2 Feb 2016 11:30:59 +0000 (11:30 +0000)]
[threads] Remove mono_thread_notify_pending_exc_fn dead code

8 years ago[thread] Remove mono_thread_info_begin_suspend unused parameter
Ludovic Henry [Mon, 1 Feb 2016 18:17:35 +0000 (18:17 +0000)]
[thread] Remove mono_thread_info_begin_suspend unused parameter

8 years ago[threads] Remove unecessary block/unblock suspend ACK signal
Ludovic Henry [Tue, 2 Feb 2016 10:23:25 +0000 (10:23 +0000)]
[threads] Remove unecessary block/unblock suspend ACK signal

Blocking suspend_ack_signal_mask is only useful if we are notifying the initiator of suspend followed by waiting on the suspend_signal_mask.

8 years ago[mcs] Update sdk profile paths after 88b287f06584a6284face60accb94d000b1c6ce7
Marek Safar [Thu, 4 Feb 2016 13:08:57 +0000 (14:08 +0100)]
[mcs] Update sdk profile paths after 88b287f06584a6284face60accb94d000b1c6ce7

8 years ago[monodoc] Fix literal formatting on systems where decimal separator is not a dot
Alexander Köplinger [Thu, 4 Feb 2016 01:37:36 +0000 (02:37 +0100)]
[monodoc] Fix literal formatting on systems where decimal separator is not a dot

E.g. on a German language OS the "make check-mdoc-export-html" test fails with this:

```
diff --exclude=.svn -rup Test/en.expected/Mono.DocTest/Widget.xml Test/en.actual/Mono.DocTest/Widget.xml
--- Test/en.expected/Mono.DocTest/Widget.xml 2015-11-18 04:42:11.000000000 +0100
+++ Test/en.actual/Mono.DocTest/Widget.xml 2016-02-04 02:38:09.000000000 +0100
@@ -1061,8 +1061,8 @@
       </Docs>
     </Member>
     <Member MemberName="PI">
-      <MemberSignature Language="C#" Value="protected const double PI = 3.14159;" />
-      <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3.14159)" />
+      <MemberSignature Language="C#" Value="protected const double PI = 3,14159;" />
+      <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3,14159)" />
       <MemberType>Field</MemberType>
       <AssemblyInfo>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
@@ -1070,7 +1070,7 @@
       <ReturnValue>
         <ReturnType>System.Double</ReturnType>
       </ReturnValue>
-      <MemberValue>3.14159</MemberValue>
+      <MemberValue>3,14159</MemberValue>
       <Docs>
```

The fix is to always use InvariantCulture for literal formatting.

8 years ago[llvm] Zero extend unsigned enum arguments. Fixes #38379.
Zoltan Varga [Wed, 3 Feb 2016 23:16:02 +0000 (18:16 -0500)]
[llvm] Zero extend unsigned enum arguments. Fixes #38379.

8 years agoAdd --exclude-test option to mono/mini test driver
Andi McClure [Wed, 3 Feb 2016 22:16:59 +0000 (17:16 -0500)]
Add --exclude-test option to mono/mini test driver

8 years agoMinor additions to comments around amd64 aot
Andi McClure [Wed, 3 Feb 2016 22:16:01 +0000 (17:16 -0500)]
Minor additions to comments around amd64 aot

8 years agoChanges to gsharedvt amd64 tests
Andi McClure [Wed, 3 Feb 2016 22:15:27 +0000 (17:15 -0500)]
Changes to gsharedvt amd64 tests

Re-enable tests, add a test for long/float returning gsharedvt->normal
for a static method, add tests for sign extension.

8 years ago[reflection] Use MonoError for mono_module_get_object
Aleksey Kliger [Fri, 29 Jan 2016 17:15:50 +0000 (12:15 -0500)]
[reflection] Use MonoError for mono_module_get_object

Mark mono_module_get_object external only.
Runtime should use mono_module_get_object_checked.

8 years ago[reflection] Use MonoError in mono_image_get_{method,ctor}_on_inst_token
Aleksey Kliger [Fri, 29 Jan 2016 00:55:02 +0000 (19:55 -0500)]
[reflection] Use MonoError in mono_image_get_{method,ctor}_on_inst_token

8 years ago[reflection] Use MonoError for mono_image_get_{method,ctor}builder_token
Aleksey Kliger [Fri, 29 Jan 2016 00:14:22 +0000 (19:14 -0500)]
[reflection] Use MonoError for mono_image_get_{method,ctor}builder_token

8 years ago[reflection] Use MonoError in mono_image_create_pefile
Aleksey Kliger [Thu, 28 Jan 2016 23:56:30 +0000 (18:56 -0500)]
[reflection] Use MonoError in mono_image_create_pefile

8 years ago[reflection] Don't raise in mono_image_get_method_info
Aleksey Kliger [Thu, 28 Jan 2016 23:47:25 +0000 (18:47 -0500)]
[reflection] Don't raise in mono_image_get_method_info

8 years ago[reflection] Don't raise in reflection_methodbuilder_from_{method,ctor}_builder
Aleksey Kliger [Thu, 28 Jan 2016 23:32:18 +0000 (18:32 -0500)]
[reflection] Don't raise in reflection_methodbuilder_from_{method,ctor}_builder

8 years ago[reflection] Don't raise in mono_type_get_object_checked
Aleksey Kliger [Thu, 28 Jan 2016 23:20:46 +0000 (18:20 -0500)]
[reflection] Don't raise in mono_type_get_object_checked

8 years ago[reflection] Use MonoError for mono_image_create_method_token
Aleksey Kliger [Thu, 28 Jan 2016 23:18:08 +0000 (18:18 -0500)]
[reflection] Use MonoError for mono_image_create_method_token

8 years ago[reflection] Use MonoError for mono_image_build_metadata
Aleksey Kliger [Thu, 28 Jan 2016 22:57:53 +0000 (17:57 -0500)]
[reflection] Use MonoError for mono_image_build_metadata

8 years ago[reflection] Use MonoError in mono_image_create_token
Aleksey Kliger [Thu, 28 Jan 2016 22:35:52 +0000 (17:35 -0500)]
[reflection] Use MonoError in mono_image_create_token

8 years ago[reflection] Use MonoError in some static functions
Aleksey Kliger [Thu, 28 Jan 2016 22:21:15 +0000 (17:21 -0500)]
[reflection] Use MonoError in some static functions

Pass a MonoError argument to:
method_encode_code, mono_image_basic_method, mono_image_get_ctor_info

8 years agoMerge pull request #2542 from akoeplinger/remove-changelog
Alexander Köplinger [Wed, 3 Feb 2016 20:09:24 +0000 (21:09 +0100)]
Merge pull request #2542 from akoeplinger/remove-changelog

Remove ChangeLog files from the repo

8 years agoMerge pull request #2554 from ludovic-henry/coop-blocking-interrupt
Rodrigo Kumpera [Wed, 3 Feb 2016 20:08:35 +0000 (15:08 -0500)]
Merge pull request #2554 from ludovic-henry/coop-blocking-interrupt

[coop] Use signals for blocking syscall interrupt

8 years agoMerge pull request #2559 from lewurm/hazard-pointer-clear
Rodrigo Kumpera [Wed, 3 Feb 2016 19:53:55 +0000 (14:53 -0500)]
Merge pull request #2559 from lewurm/hazard-pointer-clear

[hazard pointers] add write barrier on clear as well

8 years ago[binary-reference-assemblies] Add a symlink from 4.0/mscorlib.dll to 4.0-api/mscorlib.dll
Alexander Köplinger [Wed, 3 Feb 2016 18:45:25 +0000 (19:45 +0100)]
[binary-reference-assemblies] Add a symlink from 4.0/mscorlib.dll to 4.0-api/mscorlib.dll

Some programs like NUnit check if a file exists there and break otherwise.

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

8 years ago[docs] remove a deleted file from EXTRA_DIST
Alexander Köplinger [Wed, 3 Feb 2016 18:04:36 +0000 (19:04 +0100)]
[docs] remove a deleted file from EXTRA_DIST

8 years agoRevert "[rules.make] to support 'make dist' on MacOS"
Alexander Köplinger [Wed, 3 Feb 2016 17:50:21 +0000 (18:50 +0100)]
Revert "[rules.make] to support 'make dist' on MacOS"

This reverts commit a234d21471806a4ab9e5b5ae42ec88cdbda1e144.

It isn't necessary after f1dad87178085f688afbcddcb77cf70d193ed995.

8 years ago[Runtime Documentation] More work on runtime documentation
Miguel de Icaza [Wed, 3 Feb 2016 18:18:42 +0000 (13:18 -0500)]
[Runtime Documentation] More work on runtime documentation

8 years ago[hazard pointers] add write barrier on clear as well
Bernhard Urban [Wed, 3 Feb 2016 18:09:31 +0000 (10:09 -0800)]
[hazard pointers] add write barrier on clear as well

8 years ago[coop] Use signals for blocking syscall interrupt
Ludovic Henry [Tue, 2 Feb 2016 14:51:46 +0000 (14:51 +0000)]
[coop] Use signals for blocking syscall interrupt

8 years ago[Documentation] Document some of Mono's embedding API, improve the style
Miguel de Icaza [Wed, 3 Feb 2016 15:11:19 +0000 (10:11 -0500)]
[Documentation] Document some of Mono's embedding API, improve the style

8 years agoRemove stale files
Miguel de Icaza [Wed, 3 Feb 2016 14:24:59 +0000 (09:24 -0500)]
Remove stale files

8 years ago[rules.make] to support 'make dist' on MacOS
Miguel de Icaza [Wed, 3 Feb 2016 14:23:52 +0000 (09:23 -0500)]
[rules.make] to support 'make dist' on MacOS

8 years agoDocument Coop mode in README
Miguel de Icaza [Tue, 2 Feb 2016 20:30:29 +0000 (15:30 -0500)]
Document Coop mode in README

8 years ago[test] Use using TimerTest
Ludovic Henry [Wed, 3 Feb 2016 13:51:41 +0000 (13:51 +0000)]
[test] Use using TimerTest

8 years ago[tests] Use explicit delegates to get more information from stacktrace
Ludovic Henry [Wed, 3 Feb 2016 13:11:04 +0000 (13:11 +0000)]
[tests] Use explicit delegates to get more information from stacktrace

8 years ago[proc] Fix potential buffer overflow
Ludovic Henry [Wed, 3 Feb 2016 12:40:15 +0000 (12:40 +0000)]
[proc] Fix potential buffer overflow

8 years agoMerge pull request #2530 from lambdageek/monoerror-mono_string_new
monojenkins [Wed, 3 Feb 2016 06:45:23 +0000 (06:45 +0000)]
Merge pull request #2530 from lambdageek/monoerror-mono_string_new

[runtime] Use MonoError for mono_string_new

We are refraining from changing runtime callers of `mono_string_new` to `mono_string_new_checked` in one commit. String creation is used in several hundred places and threading error handling through all the callers is very intrusive. Additionally, AFAIK the only error condition from mono_string_new is out-of-memory. In a lot of cases there's no way to meaningfully recover.

We should revisit individual callers when it makes sense, but just mechanically updating everywhere doesn't get us a lot of benefit.

8 years agoRemove from the documentation non-public APIs, or move to files that flag them as...
Miguel de Icaza [Wed, 3 Feb 2016 03:32:04 +0000 (22:32 -0500)]
Remove from the documentation non-public APIs, or move to files that flag them as internal

8 years agoMerge pull request #2524 from lambdageek/monoerror-mono_string_new_utf16_checked
monojenkins [Wed, 3 Feb 2016 03:32:00 +0000 (03:32 +0000)]
Merge pull request #2524 from lambdageek/monoerror-mono_string_new_utf16_checked

[runtime] Use MonoError for mono_string_new_utf16

8 years agoUpdated the runtime template documentation with all new APIs in Mono
Miguel de Icaza [Wed, 3 Feb 2016 03:05:15 +0000 (22:05 -0500)]
Updated the runtime template documentation with all new APIs in Mono

8 years agoMerge pull request #2518 from lambdageek/monoerror-mono_method_get_object
monojenkins [Wed, 3 Feb 2016 02:25:22 +0000 (02:25 +0000)]
Merge pull request #2518 from lambdageek/monoerror-mono_method_get_object

[runtime] Use MonoError for mono_method_get_object

Depends on #2532

Issues:

- [x] ~~depends on #2486~~
- [x] ~~Should use `mono_object_new_checked` #2532~~
- [x] ~~Should use `mono_string_new_checked`~~ (`mono_string_new` will assert instead of raising an exception - #2530)

8 years ago[llvmonly] Implement support for stack walks if _Unwind_Backtrace () is available.
Zoltan Varga [Wed, 3 Feb 2016 00:35:01 +0000 (19:35 -0500)]
[llvmonly] Implement support for stack walks if _Unwind_Backtrace () is available.

8 years ago[runtime] Switch to mono_method_get_object_checked
Aleksey Kliger [Tue, 26 Jan 2016 21:14:10 +0000 (16:14 -0500)]
[runtime] Switch to mono_method_get_object_checked

Mark mono_method_get_object external only.

8 years ago[runtime] Use MonoError for mono_method_get_object
Aleksey Kliger [Tue, 26 Jan 2016 17:20:33 +0000 (12:20 -0500)]
[runtime] Use MonoError for mono_method_get_object

8 years ago[reflection] Fix build breakage
Aleksey Kliger [Wed, 3 Feb 2016 00:10:44 +0000 (19:10 -0500)]
[reflection] Fix build breakage

8 years agoMerge pull request #2558 from lewurm/thread-suspension-race
monojenkins [Wed, 3 Feb 2016 00:00:29 +0000 (00:00 +0000)]
Merge pull request #2558 from lewurm/thread-suspension-race

[threads] avoid race between setting the state flag and suspension

there's a short window where we release the lock and another thread
could modify the state.  That is what we saw on the ARM machines for a
while, e.g. in `subthread-exit.cs` there's a race between
`mono_thread_execute_interruption` and `mono_thread_suspend_all_other_threads`:

> Thread 2 (Thread 0x429ff430 (LWP 5189)):  // SUB THREAD
> #0  0x40398e30 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #1  0x0028c0ac in monoeg_g_usleep (microseconds=86650) at gdate-unix.c:53
> #2  0x0027b1d8 in suspend_sync_nolock (id=1079603792, interrupt_kernel=1) at mono-threads.c:913
> #3  0x0027b2d4 in mono_thread_info_safe_suspend_and_run (id=1079603792, interrupt_kernel=1, callback=0x1ab109 <suspend_thread_critical>, user_data=0x429fe534)
>     at mono-threads.c:935
> #4  0x001ab28a in suspend_thread_internal (thread=0x401c0120, interrupt=1) at threads.c:4807
> #5  0x001a91ec in mono_thread_suspend_all_other_threads () at threads.c:3297
> #6  0x00158d8c in ves_icall_System_Environment_Exit (result=0) at icall.c:6378
> #7  0x400e7d9c in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 1 (Thread 0x40597250 (LWP 5186)):  // MAIN THREAD
> #0  0x4039a5f4 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #1  0x4039796e in do_futex_wait () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #2  0x403979da in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #3  0x002788d8 in mono_os_sem_wait (sem=0x388248, flags=MONO_SEM_FLAGS_NONE) at ../../mono/utils/mono-os-semaphore.h:163
> #4  0x00279722 in mono_thread_info_wait_for_resume (info=0x388210) at mono-threads.c:144
> #5  0x0027ad5e in mono_thread_info_end_self_suspend () at mono-threads.c:700
> #6  0x001ab2d2 in self_suspend_internal (thread=0x401c0120) at threads.c:4822
> #7  0x001aab0a in mono_thread_execute_interruption () at threads.c:4337
> #8  0x001a6a82 in ves_icall_System_Threading_Thread_Sleep_internal (ms=1200) at threads.c:1217
> #9  0x400da75c in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)

8 years agoMerge pull request #2563 from OffBase/master
João Matos [Wed, 3 Feb 2016 00:00:02 +0000 (00:00 +0000)]
Merge pull request #2563 from OffBase/master

Fix stream leak when failing to open a zip file

8 years ago[runtime] Use MonoError for mono_string_new
Aleksey Kliger [Wed, 27 Jan 2016 21:02:58 +0000 (16:02 -0500)]
[runtime] Use MonoError for mono_string_new

8 years ago[runtime] Switch to mono_string_new_utf16_checked
Aleksey Kliger [Wed, 27 Jan 2016 20:27:47 +0000 (15:27 -0500)]
[runtime] Switch to mono_string_new_utf16_checked

8 years agoMerge pull request #2536 from lambdageek/monoerror-mono_field_get_object
Rodrigo Kumpera [Tue, 2 Feb 2016 23:37:33 +0000 (18:37 -0500)]
Merge pull request #2536 from lambdageek/monoerror-mono_field_get_object

[runtime] Use MonoError for mono_field_get_object

8 years agoMerge pull request #2532 from lambdageek/monoerror-mono_object_new
Rodrigo Kumpera [Tue, 2 Feb 2016 23:35:49 +0000 (18:35 -0500)]
Merge pull request #2532 from lambdageek/monoerror-mono_object_new

[runtime] Use MonoError for mono_object_new

8 years ago[llvmonly] Implement limited support for stack walks so new StackTrace () works.
Zoltan Varga [Tue, 2 Feb 2016 22:47:42 +0000 (17:47 -0500)]
[llvmonly] Implement limited support for stack walks so new StackTrace () works.

8 years agoFix stream leak in all cases
Matthew Orlando [Tue, 2 Feb 2016 21:57:42 +0000 (13:57 -0800)]
Fix stream leak in all cases

8 years ago[corlib] Fixes Environment version for .net 4.6
Marek Safar [Tue, 2 Feb 2016 21:29:28 +0000 (22:29 +0100)]
[corlib] Fixes Environment version for .net 4.6

8 years agoFix stream leak when failing to open a zip file
Matthew Orlando [Tue, 2 Feb 2016 20:58:06 +0000 (12:58 -0800)]
Fix stream leak when failing to open a zip file

8 years agoMerge pull request #2556 from BrzVlad/feature-sgen-stats
Vlad Brezae [Tue, 2 Feb 2016 20:56:11 +0000 (20:56 +0000)]
Merge pull request #2556 from BrzVlad/feature-sgen-stats

[sgen] sgen stats

8 years agoFix the build.
Zoltan Varga [Tue, 2 Feb 2016 19:52:59 +0000 (14:52 -0500)]
Fix the build.

8 years ago[llvm] Fix the loaded llvm build broken by 204f2985d7c9835e8cefaf3439d51ccaf0d3d2b0.
Zoltan Varga [Tue, 2 Feb 2016 18:51:56 +0000 (13:51 -0500)]
[llvm] Fix the loaded llvm build broken by 204f2985d7c9835e8cefaf3439d51ccaf0d3d2b0.

8 years agoMerge pull request #2557 from ludovic-henry/monoerror-return-macro
monojenkins [Tue, 2 Feb 2016 16:30:26 +0000 (16:30 +0000)]
Merge pull request #2557 from ludovic-henry/monoerror-return-macro

[MonoError] Add error checking macro

8 years agofixup! [MonoError] Add error checking macro
Ludovic Henry [Tue, 2 Feb 2016 15:01:34 +0000 (15:01 +0000)]
fixup! [MonoError] Add error checking macro

8 years ago[threads] avoid race between setting the state flag and suspension
Bernhard Urban [Tue, 2 Feb 2016 14:59:27 +0000 (06:59 -0800)]
[threads] avoid race between setting the state flag and suspension

there's a short window where we release the lock and another thread
could modify the state.  That is what we saw on the ARM machines for a
while, e.g. in `subthread-exit.cs` there's a race between
`mono_thread_execute_interruption` and `mono_thread_suspend_all_other_threads`:

> Thread 2 (Thread 0x429ff430 (LWP 5189)):  // SUB THREAD
> #0  0x40398e30 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #1  0x0028c0ac in monoeg_g_usleep (microseconds=86650) at gdate-unix.c:53
> #2  0x0027b1d8 in suspend_sync_nolock (id=1079603792, interrupt_kernel=1) at mono-threads.c:913
> #3  0x0027b2d4 in mono_thread_info_safe_suspend_and_run (id=1079603792, interrupt_kernel=1, callback=0x1ab109 <suspend_thread_critical>, user_data=0x429fe534)
>     at mono-threads.c:935
> #4  0x001ab28a in suspend_thread_internal (thread=0x401c0120, interrupt=1) at threads.c:4807
> #5  0x001a91ec in mono_thread_suspend_all_other_threads () at threads.c:3297
> #6  0x00158d8c in ves_icall_System_Environment_Exit (result=0) at icall.c:6378
> #7  0x400e7d9c in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 1 (Thread 0x40597250 (LWP 5186)):  // MAIN THREAD
> #0  0x4039a5f4 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #1  0x4039796e in do_futex_wait () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #2  0x403979da in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #3  0x002788d8 in mono_os_sem_wait (sem=0x388248, flags=MONO_SEM_FLAGS_NONE) at ../../mono/utils/mono-os-semaphore.h:163
> #4  0x00279722 in mono_thread_info_wait_for_resume (info=0x388210) at mono-threads.c:144
> #5  0x0027ad5e in mono_thread_info_end_self_suspend () at mono-threads.c:700
> #6  0x001ab2d2 in self_suspend_internal (thread=0x401c0120) at threads.c:4822
> #7  0x001aab0a in mono_thread_execute_interruption () at threads.c:4337
> #8  0x001a6a82 in ves_icall_System_Threading_Thread_Sleep_internal (ms=1200) at threads.c:1217
> #9  0x400da75c in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)

8 years ago[error] Use error_return_(val_)if_nok at some places
Ludovic Henry [Tue, 2 Feb 2016 14:16:26 +0000 (14:16 +0000)]
[error] Use error_return_(val_)if_nok at some places

8 years ago[MonoError] Add error checking macro
Ludovic Henry [Tue, 2 Feb 2016 14:15:10 +0000 (14:15 +0000)]
[MonoError] Add error checking macro

8 years ago[binary-reference-assemblies] Make sure only .dll files are included in the wildcard
Alexander Köplinger [Tue, 2 Feb 2016 13:29:46 +0000 (14:29 +0100)]
[binary-reference-assemblies] Make sure only .dll files are included in the wildcard

The wildcard `$(wildcard ../../../external/binary-reference-assemblies/v4.5/*)` would include the directory entry `../../../external/binary-reference-assemblies/v4.5/Facades/` which returns an error during "make dist".

Fixing this by including only the .dll files in the wildcards.

8 years ago[binary-reference-assemblies] Include 4.5 Facades in tarball
Alexander Köplinger [Tue, 2 Feb 2016 12:41:04 +0000 (13:41 +0100)]
[binary-reference-assemblies] Include 4.5 Facades in tarball

8 years ago[Mono.Security.Providers.OldTls]: Don't build on mobile.
Martin Baulig [Mon, 1 Feb 2016 23:44:52 +0000 (00:44 +0100)]
[Mono.Security.Providers.OldTls]: Don't build on mobile.

(cherry picked from commit f379b7df517b18cea025cb3f53e144bc0e851b9f)

8 years ago[sgen] Add binary protocol entries for evacuation
Vlad Brezae [Mon, 1 Feb 2016 16:28:04 +0000 (18:28 +0200)]
[sgen] Add binary protocol entries for evacuation

This way we can detect which collections are doing evacuation, which can be useful both for debugging and performance reasons.

8 years ago[sgen] Remove fixed FIXME comment
Vlad Brezae [Mon, 1 Feb 2016 16:14:46 +0000 (18:14 +0200)]
[sgen] Remove fixed FIXME comment

8 years ago[sgen] Add binary protocol entry for worker finish
Vlad Brezae [Mon, 1 Feb 2016 16:10:23 +0000 (18:10 +0200)]
[sgen] Add binary protocol entry for worker finish

This will allow us to detect actual concurrent M&S end and whether the concurrent M&S was forced to finish.

8 years ago[sgen] Add binary protocol entries for finishing the gray stack
Vlad Brezae [Mon, 1 Feb 2016 15:53:11 +0000 (17:53 +0200)]
[sgen] Add binary protocol entries for finishing the gray stack

These entries have a timestamp associated with them, allowing us to gather information about time spent during each collection.

8 years ago[sgen] Add binary protocol entries for cardtable scanning
Vlad Brezae [Mon, 1 Feb 2016 15:40:30 +0000 (17:40 +0200)]
[sgen] Add binary protocol entries for cardtable scanning

These entries have a timestamp associated with them, allowing us to gather information about time spent during each collection.