I have an application which is a mixture of processes running unmanaged code (C++) and one process running managed code (C#, mono 4.x). The application runs stable on Linux.
Now trying to determine the behavior in case of CPU shortage the Linux tool cpulimit is used to limit the CPU access for the individual processes. All processes behave graceful, however when cpulimit is applied to the mono process, mono exits after the application throws an exception indicating that a file could not be found. This exception can be a System.IO.FileNotFoundException, or a System.Exception: Logger configuration not found, or System.DllNotFoundException. It is not complaining about one specific file, but it appears that there are general file access problems. The files are definitely there and this effect only occurs when applying the cpulimit tool to the mono process.
Now one could argue "so what" and this was my first reaction too, however ignoring this strange effect might ignore a problem in mono.
Has anyone ever seen similar issues that using cpulimit, or directly sending SIGSTOP and SIGCONT, to a mono process under Linux caused problems with file system access or other system calls?