Bug 8418 - nuget crashes mono-3 with "Assertion at mini-generic-sharing.c:1318, condition `ret == 0' not met"
Summary: nuget crashes mono-3 with "Assertion at mini-generic-sharing.c:1318, conditio...
Status: RESOLVED FIXED
Alias: None
Product: Runtime
Classification: Mono
Component: General ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2012-11-15 05:22 UTC by David Schmitt
Modified: 2017-08-28 15:04 UTC (History)
4 users (show)

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


Attachments
packages.config that is used when having segfaults (436 bytes, application/xml)
2012-11-15 05:25 UTC, David Schmitt
Details
collected stacktraces (206.58 KB, text/plain)
2012-11-15 05:26 UTC, David Schmitt
Details
stacktrace of sgen lockup (30.83 KB, text/plain)
2012-11-15 05:39 UTC, David Schmitt
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and 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 Links.

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.

Related Links:
Status:
RESOLVED FIXED

Description David Schmitt 2012-11-15 05:22:56 UTC
When running nuget 2.1.31022.9038 on mono-3.0.1 I sometimes get random segfaults. Seemingly from some kind of data corruption, as sometimes it doesn't segfault, but produces ArgumentNullExceptions:

WARNING: Argument cannot be null.
Parameter name: name
Successfully installed '....'.
Successfully installed '....'.
Successfully installed '....'.
Successfully installed '....'.
Unable to find version '....' of package '....'.

In a normal run all packages are installed without error. I cannot reproduce this on MS.NET. I can reproduce crashes on current mono 2.10.

I've attached several collected stacktraces.
Comment 1 David Schmitt 2012-11-15 05:25:19 UTC
Created attachment 2937 [details]
packages.config that is used when having segfaults

For testing I'm running the following loop, which terminates with a crash, usually within ten iterations:

while mono --debug --runtime=v4.0.30319 ./nuget.exe install ./packages.config -o ./packages; do echo; rm -Rf packages; done
Comment 2 David Schmitt 2012-11-15 05:26:35 UTC
Created attachment 2938 [details]
collected stacktraces
Comment 3 David Schmitt 2012-11-15 05:36:25 UTC
Using sgen seems to lead to a deadlock:

[mono-3-0] jenkins@jenkins:~$ strace -p 25987
Process 25987 attached - interrupt to quit
futex(0xc2ab3c, FUTEX_WAIT_PRIVATE, 1, NULL

^C

[mono-3-0] jenkins@jenkins:~$ gdb mono
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /var/lib/jenkins/mono/mono-3-0/bin/mono...done.
Mono support loaded.
(gdb) attach 25987
Attaching to program: /var/lib/jenkins/mono/mono-3-0/bin/mono, process 25987
Unable to read JIT descriptor from remote memory!
(gdb) bt full
#0  0x00007f4153bb81fc in ?? ()
No symbol table info available.
#1  0x0000000000000000 in ?? ()
No symbol table info available.
Comment 4 David Schmitt 2012-11-15 05:39:09 UTC
Created attachment 2939 [details]
stacktrace of sgen lockup

D'oh, it helps telling gdb about the correct binary to use.
Comment 5 Zoltan Varga 2012-11-17 21:40:05 UTC
I get this on all runs:
Unable to find version '1.3.0.0' of package 'Arebis.CodeGenerator'.
Comment 6 Rodrigo Kumpera 2017-07-14 23:26:47 UTC
Nuget works with latest mono.