Intermittent C# Compiler failure

Nabialek, Sam 0 Reputation points
2024-06-28T14:54:45.0533333+00:00

Anyone seen the error below? I'm seeing this in a sub-project of a large build. It doesn;t always happen but it does seem to happen on the same component each time. I've not been able to get it to repeat reliably, ideas????

FWIW. It's a .NET Framework 4.8 Desktop project. C# coding from C#2 - C'# 7.3 are applied

 Unhandled Exception: System.AccessViolationException: Attempted to read or wri
    at Microsoft.Build.BackEnd.NativeMethods.CreateProcess(String lpApplication
    at Microsoft.Build.BackEnd.NodeLauncher.StartInternal(String msbuildLocatio
    at Microsoft.Build.BackEnd.NodeLauncher.<>c__DisplayClass3_0.<Star
    at Microsoft.Build.BackEnd.NodeLauncher.DisableMSBuildServer(Func`1 func)</
    at Microsoft.Build.BackEnd.NodeLauncher.Start(String msbuildLocation, Strin
    at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.&lt;&gt;c__DisplayClas
    at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.&lt;&gt;c__DisplayClas
    at System.Threading.Tasks.Parallel.&lt;&gt;c__DisplayClass17_0`1.&lt;ForWor
    at System.Threading.Tasks.Task.InnerInvoke()</message>
    at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)</message>
    at System.Threading.Tasks.Task.&lt;&gt;c__DisplayClass176_0.&lt;ExecuteSelf
    at System.Threading.Tasks.Task.InnerInvoke()</message>
    at System.Threading.Tasks.Task.Execute()</message>
    at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj)</messag
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext execution
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
    at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTask
    at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution
    at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.Execute
    at System.Threading.ThreadPoolWorkQueue.Dispatch()</message>
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</message>
.NET
.NET
Microsoft Technologies based on the .NET software framework.
4,100 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Jiale Xue - MSFT 48,871 Reputation points Microsoft Vendor
    2024-07-01T05:54:41.0866667+00:00

    Hi @Nabialek, Sam , Welcome to Microsoft Q&A,

    This error message means that your .NET Framework 4.8 desktop project encountered a System.AccessViolationException exception during the build process. This exception is typically caused by an attempt to read or write protected memory. Make sure all third-party libraries and dependencies are up to date. Check if there are similar memory operations or multi-threaded operations in your code to ensure their safety:

    // Example: Check memory access
    IntPtr ptr = IntPtr.Zero;
    try
    {
        ptr = Marshal.AllocHGlobal(size);
        // Execute operation
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Exception: {ex.Message}");
    }
    finally
    {
        if (ptr != IntPtr.Zero)
        {
            Marshal.FreeHGlobal(ptr);
        }
    }
    
    // Example: Thread synchronization
    private static readonly object lockObject = new object();
    
    void SafeMethod()
    {
        lock (lockObject)
        {
            // Thread-safe operation
        }
    }
    

    Best Regards,

    Jiale


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". 

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.