Bug 44970 - Native crash on object.AllocSmall
Summary: Native crash on object.AllocSmall
Status: CONFIRMED
Alias: None
Product: Runtime
Classification: Mono
Component: GC (show other bugs)
Version: 4.6.0 (C8)
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2016-10-03 08:47 UTC by Mikhail Filippov
Modified: 2016-12-29 15:27 UTC (History)
6 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Stacktrace (60.76 KB, text/plain)
2016-10-03 08:47 UTC, Mikhail Filippov
Details

Description Mikhail Filippov 2016-10-03 08:47:58 UTC
Created attachment 17843 [details]
Stacktrace

Sometime I have mono native crash on macOS:
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_alloc_obj (intptr,intptr) <0x0005f>
  at (wrapper alloc) object.AllocSmall (intptr,intptr) <0x000cb>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.XmlPsiScanner/TagScanner.ScanTag (string,System.Action`1<JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.ITagScanner>) <0x0018d>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndexBuilder/<>c__DisplayClass22.<BuildIndexForFile>b__4 (JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.ITagScanner) <0x00408>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.XmlPsiScanner.ScanTag (string,System.Action`1<JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.ITagScanner>) <0x000bd>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndexBuilder.BuildIndexForFile (System.Xml.XmlReader) <0x00198>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndexBuilder/<>c__DisplayClass2.<BuildIndexForFile>b__0 () <0x0001f>
  at JetBrains.Util.Logging.Logger.Catch<bool> (string,System.Func`1<bool>) <0x0003f>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndexBuilder.BuildIndexForFile (JetBrains.Util.FileSystemPath) <0x001ab>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndex.EnsureFileUpdated (JetBrains.Util.FileSystemPath,System.Func`2<JetBrains.Metadata.Utils.AssemblyNameInfo, bool>) <0x00109>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AssemblyExternalAnnotations/<EnsureUpdated>d__8.MoveNext () <0x00300>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AssemblyExternalAnnotations.get_Timestamp () <0x00093>
  at JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AssemblyExternalAnnotations..ctor (JetBrains.Metadata.Utils.AssemblyNameInfo,JetBrains.Util.FileSystemPath,JetBrains.ReSharper.Psi.Modules.IPsiModule,JetBrains.ReSharper.Psi.Impl.Reflection2.ExternalAnnotations.AnnotationsIndex) <0x00772>
  at JetBrains.ReSharper.Psi.Impl.reflection2.AssemblyFileLoaderZoned.PsiAssemblyFileLoader.LoadAssembly (JetBrains.ReSharper.Psi.IPsiAssembly) <0x00654>
  at JetBrains.ReSharper.Psi.Caches.SymbolCache.SymbolCache.Build (JetBrains.ReSharper.Psi.IPsiAssembly) <0x0004b>
  at JetBrains.ReSharper.Psi.Caches.Jobs.JobAddAssemblies.Build (JetBrains.ReSharper.Psi.IPsiAssembly) <0x000cc>
  at JetBrains.ReSharper.Psi.Caches.Jobs.JobAddAssemblies/<>c__DisplayClassc.<Do>b__6 (JetBrains.ReSharper.Psi.IPsiAssembly) <0x00139>
  at JetBrains.ReSharper.Psi.Caches.Jobs.CacheJobService2/<>c__DisplayClass1a`1<T_REF>.<WrappedJob>b__19 () <0x0005d>
  at JetBrains.Application.Threading.Tasks.TaskHost.AccessViolationCatcher (System.Action) <0x0001d>
  at JetBrains.Application.Threading.Tasks.TaskHost/<>c__DisplayClasse.<Create>b__a (object) <0x00439>
  at System.Threading.Tasks.Task.InnerInvoke () <0x00085>
  at System.Threading.Tasks.Task.Execute () <0x00055>
  at System.Threading.Tasks.Task.ExecutionContextCallback (object) <0x0004e>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x001c6>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) <0x00116>
  at System.Threading.Tasks.Task.ExecuteEntry (bool) <0x000e1>
  at System.Threading.Tasks.TaskScheduler.TryExecuteTask (System.Threading.Tasks.Task) <0x0002f>
  at JetBrains.Application.Threading.Tasks.Scheduler.JetScheduler.ExecuteTask (System.Threading.Tasks.Task) <0x0006b>
  at JetBrains.Application.Threading.Tasks.Scheduler.JetSchedulerThread.EnqueueNextTask () <0x00053>
  at JetBrains.Application.Threading.Tasks.Scheduler.JetSchedulerThread.ThreadPoolProc () <0x00517>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x0009a>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x001c6>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0x000e0>
Comment 1 David Evans 2016-10-19 21:13:21 UTC
I'm seeing something similar with mono 4.6.1.3, which is intermittent. Happens about one out of every 5 or 10 compiles of my super large project. I confirmed that I'm not running out of memory, still have about 5 Gb left of physical memory and 16 Gb of swap when this crash occurs. Stack traces here:
http://pastebin.com/vQ4630Dv
Comment 2 Vlad Brezae 2016-10-27 18:06:59 UTC
Hello Mikhail,

     There is a potential fix for this coming in C8SR1, but I wouldn't count on it. I think this is actually due to a long known problem, for which the fix hasn't even made its way on master yet, so a release for it would take a while. If you have a repro for it I could confirm the reason for the crash, but from your description it doesn't sound that easy.
Comment 3 Mikhail Filippov 2016-10-27 21:31:45 UTC
I don't have  stable repro but now we switch to master because we have many crashes on current stable. If I found crash on master I try to find additional data.

Note You need to log in before you can comment on or make changes to this bug.