On my Toolforge account wikitasks every day bot wp_cyrlat is executed.
It is launched with jsub -once -j y -mem 1536m... options and uses mono from Toolforge (v5.12.0.226 right now).
Some of its runs ends with OutOfMemoryException, which looks strange since memory usage of my bot is somewhere around 50 megabytes.
Do anyone know what can be the reason of such problem (my program, Mono, Linux, other Toolforge software) or, maybe, can fix it?
Log of its output is attached to this report.
Latest launches are made with modified GZipUnpack function, which prints used memory size, packed data size and unpacked data size.
public static string GZipUnpack(byte[] data) { Console.Write($"[{GC.GetTotalMemory(false)/1024/1024}/{data.Length}/"); Console.Out.Flush(); using (var msi = new MemoryStream(data)) { using (var gzs = new GZipStream(msi, CompressionMode.Decompress)) { using (var mso = new MemoryStream()) { gzs.CopyTo(mso); var msoa = mso.ToArray(); Console.Write(msoa.Length + "]"); Console.Out.Flush(); return Encoding.UTF8.GetString(msoa); } } } }
So [11/60383/ means that 11 megabytes of RAM was used and unpacking of 59 kilobytes request was failed.
(Please refrain from comments on my coding style, technical decisions or selected language)