- 09 10月, 2020 1 次提交
-
-
由 Tautvydas Žilys 提交于
-
- 07 10月, 2020 1 次提交
-
-
由 lateralusX 提交于
https://github.com/mono/mono/pull/5599 fixed a race condition during shutdown when runtime threads have come parts of their way through detach, but still depend on runtime resources, like GC memory. The fix added runtime threads to the joinable thread list just before they vanished from mono_thread_manage radar making sure shutdown waited upon the thread before cleaning up. The above fix slightly changed the behavior of the finalizer thread since it waits on joinable threads and will now potential block on threads still executing code (that involves runtime resources). There’s was an assumption around the threads on the joinable thread list that they should be very close to complete when added, so join calls coming from the finalizer thread should almost never block and if it does, the code that remains to execute should not involve runtime operations risking deadlock situations. Adding the thread to the list earlier than previously done expose the shutdown to some potential theoretical problems. To mitigate the risk and still solve the race condition this commit adds a mechanism to keep track of active runtime threads until they park on joinable thread list. The pending counter will be waited upon by the shutdown thread, just before it does its regular wait on all joinable threads (after finalizer thread has stopped) to make sure all runtime threads have been added to the joinable thread list before waiting upon them. Threads are added to the joinable thread as late as possible, exactly how it’s been done in the past by sgen_client_thread_detach_with_lock. Shutdown thread will wait on runtime threads to appear on the list for a short time and if timeout (pending runtime thread count not reaching 0 before timeout), it will just print a warning and continue shutdown. Getting into a wait state during shutdown due to runtime threads not yet added to joinable threads list should be very rare (hitting previous race condition that was rare), triggering the timeout should be even more rare, and if that ever happens, we are exposed to shutdown race condition as we have had in the past, but now we at least get a warning in the log making it simpler to analyze further. This commit also fixes a problem with the debugger thread hitting the same race condition as above. The shutdown thread stopping the debugger thread didn't completely wait for it to stop using runtime resources before continue shutdown sequence. This triggers the same race condition as when shutting down regular runtime threads. This commit makes sure stop_debugger_thread waits on the debugger thread handle to become signaled (happens at the very end of thread lifetime) before continuing the shutdown logic.
-
- 22 9月, 2020 1 次提交
-
-
由 Mathieu Bourgeois 提交于
* Generalize commit 0c6932a9 to support LDARG{0|1|2|3}, LDLOC{0|1|2|3}, LDARGS, LDLOCS, LDARG and LDLOC instead of LDLOC and LDLOCS. Improves generated code similar to issue #60945
-
- 18 9月, 2020 1 次提交
-
-
- 16 9月, 2020 2 次提交
- 15 9月, 2020 1 次提交
-
-
由 ashwini 提交于
-
- 01 9月, 2020 1 次提交
-
-
由 Harald Kjær Nielsen 提交于
Merge pull request #1335 from Unity-Technologies/unity-master-method-to-skip-assembly-version-validation Add option to ignore versions when loading strong named assemblies
-
- 28 8月, 2020 1 次提交
-
-
由 Andrew Spiering 提交于
Fixing an issue with ManagedWebSocket
-
- 26 8月, 2020 1 次提交
-
-
由 Harald Nielsen 提交于
Reintroduce https://github.com/Unity-Technologies/mono/commit/6c41f64f25da4c12b237b6bb51765722e0dd5281#diff-0ff844e784e15d2542b71c85d2c0133e This is so we will not get errors when resolving strong named assemblies for a version not loaded. This option will ignore the version
-
- 21 8月, 2020 2 次提交
-
-
由 Andrew Spiering 提交于
-
- 11 8月, 2020 3 次提交
-
-
由 Alex Thibodeau 提交于
Fix handling invalid Windows proxy config
-
由 iRebbok 提交于
source: https://github.com/mono/mono/pull/12595 Re-adding whitespace to reduce diff noise and make future cherrypicks easier.
-
由 Alex Thibodeau 提交于
[debugger] Access invalid memory address using PointerValue Command. …
-
- 10 8月, 2020 1 次提交
-
-
由 Thays Grazia 提交于
* Validate the address that came from IDE using PointerValue. The IDE can send an invalid address and it was crashing mono. Fixes #18191 Fixes #15612 Co-authored-by: NAleksey Kliger (λgeek) <akliger@gmail.com> Wrap create_file_to_check_memory_address in #ifndef _MSC_VER check as it's only used in that scope.
-
- 07 8月, 2020 1 次提交
-
-
由 Jonathan Chambers 提交于
Fix random crash on OSX when pushing thread stacks
-
- 06 8月, 2020 2 次提交
-
-
由 Alex Thibodeau 提交于
Fixing hang that would occur when a Debugger.Break would be triggered…
-
由 Alex Thibodeau 提交于
Fixing hang that would occur when a Debugger.Break would be triggered while we are already processing a breakpoint. (case 1254123) Adding test for debugger hang fix to case 1254123 Added a new property to Tests class which breaks this test.
-
- 04 8月, 2020 3 次提交
-
-
由 Jonathan Chambers 提交于
-
由 Alex Thibodeau 提交于
[corlib] Use Environment.Platform to access the platform, rather than…
-
由 Miguel de Icaza 提交于
[corlib] Use Environment.Platform to access the platform, rather than probing the file system (#6535) Alternatve patch to: #6533
-
- 31 7月, 2020 2 次提交
- 29 7月, 2020 2 次提交
-
-
由 Alex Thibodeau 提交于
Unity master update pe verifier
-
由 UnityAlex 提交于
-
- 28 7月, 2020 1 次提交
-
-
由 UnityAlex 提交于
Fixing crash that would occur when a dll's import table was not filled out which is structurally valid
-
- 25 7月, 2020 4 次提交
-
-
由 ashwini 提交于
Repackage stevedore artifact to remove builds in folder structure
-
由 ashwini 提交于
-
由 jaykrell 提交于
* Remove extra string copies. * Teach metadata-verify.c about PE32+.
-
由 UnityAlex 提交于
It is currently hard coded to this: Intel 386 or later processors and compatible processors but we can occasionally get other machine types so this winds up flagging dlls as invalid when it should not.
-
- 23 7月, 2020 2 次提交
-
-
由 Alex Thibodeau 提交于
The fix for 1256569 broke a test. Partial revert
-
由 UnityAlex 提交于
The fix for 1256569 broke a test. Reverting most of that change and breaking the CreateLocal -> WinRTFallback -> CreateLocal loop by calling GetLocalTimeZoneInfoWinRTFallback instead of accessing Local from within FindSystemTimeZoneByIdWinRTFallback fixes both issues. Need to make sure we don't duplicate the timezone and create a new local when we already have one.
-
- 15 7月, 2020 1 次提交
-
-
由 AndreasReich 提交于
X509ChainImplUnityTls reports status now
-
- 14 7月, 2020 4 次提交
-
-
由 andreasr 提交于
Fixes Fogbugz ticket 1261388. Impl sticks close to current Mono Btls implementation on _master_ - the implementation on our fork has the same issues as prior to this fix and throws NotImplementedException
-
由 Tautvydas Žilys 提交于
Fix TLS offset lookup on macOS ARM64
-
由 Tautvydas Žilys 提交于
Fix "Found new TLS offset at 224" log message when running on macOS ARM64 by adding a known TLS offset of 224 (0xE0).
-
由 Tautvydas Žilys 提交于
Use mono_runtime_invoke to invoke finalizers.
-
- 12 7月, 2020 1 次提交
-
-
由 Tautvydas Žilys 提交于
Add a null check before invoking finalizer. Before, we would do a callvirt Finalize() on the object and if it didn't have a finalizer, it would call Object::Finalize(). However, since now we use mono_method_invoke with a concrete method, we crash if it's null. So we just
-
- 11 7月, 2020 1 次提交
-
-
由 Tautvydas Žilys 提交于
Use mono_runtime_invoke to invoke finalizers. This way managed runtime can do whatever is necessary to transition to executing managed code, like marking JIT memory executable on macOS ARM64.
-