Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
GitHub or Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Created attachment 85 [details]
log / screen output with complete crash dump
Description of Problem:
I am using a rather complex graph database application benchmark and I want to create a number of vertices and egdes. Doing so crashes the sgen garbage collector. Using boehm-gc works without a glitch.
All sourcecode to reproduce the problem is available as open-source.
Steps to reproduce the problem:
1. clone sourcecode from here: https://github.com/sones/benchmark
2. init and update submodules
3. run "buildbenchmark.sh"
4. run "mono-sgen GraphDBBenchmark.exe in GraphDBBenchmark/bin/Debug/"
5. enter: "IMPORT 'SIMPLENETWORK'"
6. behold teh crash
How often does this happen?
This works for me with mono master on darwin. There's been a few sgen bugfixes committed recently, so if your mono is older, could you please try with master?
i've checked with the currently stable versions (2.10.3 and today 2.10.4) and had that behaviour - I will do a compile run of the master asap - which will be at last on next monday. Would be great if the bug is already patched in master and may be included in the next releases...
Created attachment 148 [details]
crash with current master
I compiled from master and got this version:
Mono JIT compiler version 2.11 (master/409d4ac Mi 17 Aug 2011 12:38:36 CEST)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
LLVM: supported, not enabled.
After recompiling my benchmark project I get a new crash directly at start-up - see http://bugzilla.xamarin.com/attachment.cgi?id=148
stable 2.10.5 is also crashing with the same error message
Your instructions to build the benchmark are incomplete and the module does not build when I use "sh buildbenchmark.sh" there are hundreds of missing references to your libraries.
Please provide detailed build instructions.
Created attachment 976 [details]
Small test case to reproduce this crash.
$ dmcs t.cs && mono-sgen t.exe
I've attached a small test case for this bug.
The sgen code at this location has a FIXME that seems to indicate that someone has anticipated this problem:
g_assert_not_reached (); <-------- line 81
The gist seems to be that valuetypes with very complicated memory layouts blow up the collector. I distilled this test case out of a much larger program, and indeed, the crash seems to happen when scanning arrays of complex valuetypes.
Reopening now that we have a test case.
Fixed for the mono-2-10 branch (master has different code and the program works fine there).
Created attachment 1130 [details]
Stacktrace from Terminal
Stacktrace after running "dmcs t.cs && mono-sgen t.exe" on the provided t.cs.
Re-opening. Duplicated bug on:
PJ, what you are experiencing is a different bug. The original bug was related to the GC lacking support for certain kinds of types, and what you seem to be triggering is a bug somewhere else.
I filed a new bug for this problem 2810, but I am unable to reproduce it myself.
I've added info to 2810. If anyone has a suggestion on how to verify this particular bug let me know. Thanks!