| Hi all! I encounter the following reproducible error using Bluebit .NET Library 4.1 (64-bit) (FileVersion and ProductVersion are 4,1,64,0): I have a windows service that offers the functions Compute() and GetRam(). They are defined as follows: public long GetRam() { return Process.GetCurrentProcess().WorkingSet64; } Public void Compute() { Matrix matrixA = new Matrix(2500, 2500); Matrix matrixB = matrixA.times(matrixA.Transpose()); } Every 100 ms, a client thread calls GetRam() via Remoting. When another client thread calls Compute(), the windows service crashes during execution of Matrix matrixB = matrixA.times(matrixA.Transpose()); Neither is it possible to catch the error with a try-catch block nor is there any error visible in the Windows EventViewer. If I use a lock-statement to prevent simultaneous execution of return Process.GetCurrentProcess().WorkingSet64; and Matrix matrixB = matrixA.times(matrixA.Transpose()); everything works just fine. And if I change Compute as follows, the service also does not crash. Public void Compute() { Matrix matrixA = new Matrix(2500, 2500); Matrix matrixB = matrixA.Transpose(); Matrix matrixC = matrixA.times(matrixB); } Is there an issue with Transpose()? The system specifications are as follows: Microsoft Windows Server 2003 R2, Enterprise x64 Edition, Service Pack 2 Intel(R) Xeon(R) CPU, 5140@2.33GHz, 2.33GHz, 8.00 GB of RAM I use VisualStudio 2005 and build the project for 'AnyCPU'. There should be plenty of free RAM during program execution (only about 1.8 GB used).
|