Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: VSS-DEV/mono

Tags

mono-6.12.0.148

Toggle mono-6.12.0.148's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[mini] Add GC Unsafe transitions in mono_pmip (mono#21186)

Add a new mono_pmip_u that doesn't do the transition.

The intent is that Mono developers in the debugger can call still call
mono_pmip_u if the thread state machine is in a broken state.

mono-6.12.0.147

Toggle mono-6.12.0.147's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[2020-02] Fix memory leak during data registration (mono#21107) (mono…

…#21116)

Co-authored-by: Fan Yang <[email protected]>

mono-6.12.0.146

Toggle mono-6.12.0.146's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[2020-02] Start a dedicated thread for MERP crash reporting (mono#21126)

Related to mono#21009.

There are two scenarios:
1.  When someone force quits Mono (or just runs `kill -TERM <pid>`), the process can receive the signal on any thread,
2. or - if a thread in the process crashes, but the thread is not attached to the runtime, Mono's signal handlers still run.

The crash reporter assumes that the crashing thread is either attached to the runtime, or at least `mono_thread_info_current` or the JIT TLS data are set for the thread.  If the thread is truly foreign and it never interacted with Mono, and it crashes, both of those assumptions are false, but Mono's crash reporter signal handlers still run.

The solution from this PR is: if crash reporting is enabled, start a dedicated thread at process startup that is a "crash report leader" - when a crash happens, the crashing thread (the crash originator) wakes the leader, and the leader collects the crash report.  The crash originator does not do any work that requires being attached to the runtime or to the JIT such as iterating over thread IDs or stack walking.


---

* Add a standalone test of crash on a foreign thread

* Sketch out crash leader implementation

   At process startup, start a separate thread that is attached to the runtime and can collect crash reports.  Crashing threads will wake it and wait for it to collect the crash reports

* Start moving responsibilities to the crash leader

* Watch for nil jit_tls data if crash is on a foreign thread

* Start adding a state machine for the crash leader

   We need to coordinate the originator and the leader in a few places.

   The leader needs to pause to after collecting the thread ids before suspending the non-originator threads, and again while the originator is dumping its own stack.

   The originator needs to wait for the leader to collect the thread IDs and to tell it its assigned slot. Then it tells the leader to suspend the others, dumps its own memory, then tell the leader to dump the whole crash report and wait for it to reply when it's done.

* Move remaining summarizer work to the summarizer leader thread

* change some debug printfs

* Successfully summarize a foreign thread crash

* Add test to merp-crash-test.cs

* delete standalone test

* if the crash leader is the originator, collect the report synchronously

   either because the crash leader crashed, or because the process got a SIGTERM and it arrived on the crash leader thread

* fixup comments

* turn off crash leader printf debugging

* Don't create leader thread if crash reporting is disabled

* Fix test on win32

* Update mono/tests/libtest.c

* fixup logging and comments around managed stack collection

* Disable the merp dlopen crasher

* Remove crash leader state machine

   It's straightline code with two early exits. State machine is overkill

* remove remnants of leader state machine

mono-6.12.0.145

Toggle mono-6.12.0.145's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[MSBuild] Update to vs16.10 branch (mono#21073)

mono-6.12.0.144

Toggle mono-6.12.0.144's commit message
sdks: Use https for xamjenkinsartifacts llvm archive download

Accessing the storage account fails now when using plain http.

mono-6.12.0.141

Toggle mono-6.12.0.141's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[MonoIO] Wrap calls to open() in EINTR handling (mono#21042)

Related to mono#21040 and
dotnet/runtime#48663

On MacOS Big Sur open() is much more likely to throw EINTR - and moreover if
the thread receives a signal while doing an open() even if the signal handler
is marked with SA_RESTART, the open call appears not to restart and to fail
anyway.

So wrap all the calls to open() in retry loops.

mono-6.12.0.140

Toggle mono-6.12.0.140's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[2020-02][System.Native] Handle ReadDir EINTR (mono#21029)

* [System.Native] Handle ReadDir EINTR

Handle EINTR for opendir/readdir/closedir.

Because of how thread aborts work, we must loop in managed.
A thread abort will break syscalls and return EINTR, but mono will not raise a
ThreadAbortException until a pinvoke returns.

(Despite the documentation, opendir/readdir/closedir sometimes return EINTR on
macOS Big Sur.)

Related to mono#20799

* bump corefx

* [System] on unix, include Interop.ReadDir.Mono.cs

on mac it's in corlib, on unix and android it's in System, for some reason

* Add newline

Co-authored-by: Alexander Köplinger <[email protected]>

mono-6.12.0.139

Toggle mono-6.12.0.139's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump corefx for credscan fixes (mono#21018)

Bump to mono/corefx@38e9a93

Diff: mono/corefx@7c24bb0...38e9a93

Primarily CredScan fixes.

Bump before we do a backport to 2020-02 of mono#21016 which will need one more corefx bump

mono-6.12.0.138

Toggle mono-6.12.0.138's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[arm64] Fix wrong marshalling in gsharedvt transition (mono#21006)

Transitioning from ArgVtypeByRefOnStack to ArgVtypeByRef requires no marshalling. The reference ends up being saved on stack the same way and the stack slot just needs to be copied (in mono_arm_start_gsharedvt_call).

mono-6.12.0.137

Toggle mono-6.12.0.137's commit message
Bump fsharp.py to get upstream nuget feed cleanup

myget.org feeds were disabled recently.

(cherry picked from commit dbc5d75)