1. 31 12月, 2020 1 次提交
  2. 18 12月, 2020 2 次提交
  3. 11 12月, 2020 9 次提交
    • A
      Update mbe used for mono builds · 710569a3
      ashwini 提交于
      710569a3
    • L
      Fix race condition in WaitAnyWithSecondMutexAbandoned test. · 6a8c0ffe
      lateralusX 提交于
      There is a small race condition during the completion of a native thread join
      call. During that period of time the tid is no longer included on the
      internal list tracking joinable threads so a thread that will join on the
      tid while another thread (like the finalizer thread) is waiting on native
      join to complete for the same tid, will cause the managed Thread.Join call
      to complete before the native join call has completed. This race could cause
      issues on some OS:es that clear's up some thread resources, like abandoned
      mutexes when the thread has exited. This race is hit by WaitAnyWithSecondMutexAbandoned
      since the call to Thread.Join will return before the thread owning the mutex
      has terminated meaning that it doesn't get ownership of the abandoned mutex
      as assumed by the test.
      
      Fix makes sure Thread.Join won't complete until native thread join is complete.
      Increasing the join timeouts in the test also eliminates a timeout error making it
      harder to hit the problematic code path, primarily during reproduction
      in the debugger.
      
      Fix also switch to coop mutex for joinable threads.
      6a8c0ffe
    • R
      CreateNLSocket and CloseNLSocket should return gpointer (#15408) · a9aef377
      Ryan Lucia 提交于
      In managed, these functions are used as `static external IntPtr`. This means that previously on arm64 the top bits of the return value were garbage. A comparison with 64-bit -1 like in LinuxNetworkChange.EnsureSocket would never be true, which was causing us to hit other assertions in the runtime.
      Co-authored-by: NAleksey Kliger <alklig@microsoft.com>
      a9aef377
    • J
      Allow different enums as return type in CreateDelegate (case 1288796) · c791b220
      Josh Peterson 提交于
      Allow `CreateDelegate` to have return type covariance with methods that
      return `enum` or `int` types.
      
      This is from the upstream change at https://github.com/mono/mono/commit/122494330d635205b0a8766deaeafd0d79bd3d60.
      c791b220
    • A
      After adding the concept of a pending threads join list boehm was not removing... · 776d0905
      Alex Thibodeau 提交于
      After adding the concept of a pending threads join list boehm was not removing the threads from that list on detach as sgen was in sgen_client_thread_detach_with_lock. This change brings boehm in line with sgen to remove threads from the pending join list on detach to avoid waiting the full 2 seconds on runtime shutdown. (case 1295072)
      776d0905
    • J
      [TermInfo] support new file format terminfo2 introduced with ncurses6.1 · 7692eef6
      Josh Peterson 提交于
      These changes are applied from upstream Mono at https://github.com/mono/mono/pull/7308/commits/e25f5c321573b677ab9edcb88833ef40d267026c.
      
      They correct an exception that happens on Linux like this:
      
      ```
      System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542
        at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0008d] in /Users/bokken/build/output/Unity-Technologies/mono/mcs/class/corlib/System/TermInfoReader.cs:134
        at System.TermInfoReader..ctor (System.String term, System.String filename) [0x0005f] in /Users/bokken/build/output/Unity-Technologies/mono/mcs/class/corlib/System/TermInfoReader.cs:97
        at System.TermInfoDriver..ctor (System.String term) [0x00055] in /Users/bokken/build/output/Unity-Technologies/mono/mcs/class/corlib/System/TermInfoDriver.cs:164
        at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in /Users/bokken/build/output/Unity-Technologies/mono/mcs/class/corlib/System/ConsoleDriver.cs:73
        at System.ConsoleDriver..cctor () [0x0004d] in /Users/bokken/build/output/Unity-Technologies/mono/mcs/class/corlib/System/ConsoleDriver.cs:57
      ```
      7692eef6
    • A
      Pulling in change https://github.com/mono/mono/pull/12008/files which removes... · cd3967dc
      Andrew Spiering 提交于
      Pulling in change https://github.com/mono/mono/pull/12008/files which removes the registry as a dependecy for system.xml
      cd3967dc
    • A
      Update branch name · 4c3ca4b3
      ashwini 提交于
      4c3ca4b3
    • A
      Update Readme · caa76b70
      ashwini 提交于
      caa76b70
  4. 30 10月, 2020 2 次提交
  5. 21 10月, 2020 2 次提交
  6. 09 10月, 2020 1 次提交
  7. 07 10月, 2020 8 次提交
  8. 29 9月, 2020 1 次提交
  9. 25 9月, 2020 3 次提交
    • A
      Merge pull request #1341 from Unity-Technologies/unity-master-fix-1273662 · a0defb57
      Alex Thibodeau 提交于
      Unity master fix case 1273662
      a0defb57
    • Z
      [runtime] Throw a MarshalDirectiveException when returning an array from a pinvoke method. (#20425) · 6a9232ad
      Zoltan Varga 提交于
      Fixes https://github.com/mono/mono/issues/20367.
      
      Some light massaging done by @UnityAlex to cherry pick
      6a9232ad
    • L
      Wait on runtime threads to park on joinable thread list during shutdown. · 7c237169
      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.
      7c237169
  10. 23 9月, 2020 1 次提交
  11. 22 9月, 2020 3 次提交
  12. 21 9月, 2020 1 次提交
  13. 19 9月, 2020 1 次提交
  14. 18 9月, 2020 1 次提交
  15. 16 9月, 2020 1 次提交
  16. 15 9月, 2020 2 次提交
  17. 01 9月, 2020 1 次提交
    • H
      Merge pull request #1335 from... · dcee0dd7
      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
      dcee0dd7