Bug 1533 - Assertion failure in System.Array.GetValueImpl
Summary: Assertion failure in System.Array.GetValueImpl
Alias: None
Product: Runtime
Classification: Mono
Component: JIT ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2011-10-17 12:55 UTC by Will Thompson
Modified: 2014-01-12 01:41 UTC (History)
4 users (show)

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

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:

Description Will Thompson 2011-10-17 12:55:24 UTC
While running Banshee today, it crashed when switching to a new track. I often get crashes in this situation; this is one of the few times I've remembered to run it from a shell to get the backtrace. The assertion failure is inside System.Array, so I think this is a Mono bug. I'm afraid I can't provide more useful steps to reproduce beyond “use Banshee for a while”.

[1 Debug 17:32:19.585] Track World's End Girlfriend - Song Cemetery (on The Lie Lay Land) <00:03:28.3500000> [file:///home/wjt/Music/Warez/World's%20End%20Girlfriend/World's%20End%20Girlfriend%20-%20Song%20Cemetery.mp3] had playtime of 207442 msec (207sec), duration 208350 msec, queued: False
[1 Debug 17:32:19.585] OnEventChanged called with StartOfStream.  Replacing current_track with pending_track: "Chloe"
* Assertion at class.c:7637, condition `ac->rank' not met


  at (wrapper managed-to-native) System.Array.GetValueImpl (System.Array,int) <IL 0x0001a, 0xffffffff>
  at System.Array.Copy (System.Array,int,System.Array,int,int) <IL 0x00131, 0x001db>
  at System.Array.Copy (System.Array,System.Array,int) <IL 0x00033, 0x00087>
  at System.Collections.Generic.List`1.ToArray () <IL 0x00019, 0x0004f>
  at System.Linq.Enumerable.ToArray<TSource> (System.Collections.Generic.IEnumerable`1<TSource>) <IL 0x0002f, 0x000ff>
  at Banshee.Metadata.SaveTrackMetadataJob..ctor () [0x0004b] in /build/banshee-m7RbaM/banshee-2.2.0/src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataJob.cs:57
  at Banshee.Metadata.SaveTrackMetadataService.Save () [0x0008a] in /build/banshee-m7RbaM/banshee-2.2.0/src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataService.cs:139
  at Banshee.Metadata.SaveTrackMetadataService.OnTracksChanged (Banshee.Sources.Source,Banshee.Sources.TrackEventArgs) [0x00000] in /build/banshee-m7RbaM/banshee-2.2.0/src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataService.cs:153
  at (wrapper delegate-invoke) <Module>.invoke_void__this___Source_TrackEventArgs (Banshee.Sources.Source,Banshee.Sources.TrackEventArgs) <IL 0x00059, 0xffffffff>
  at Banshee.Sources.PrimarySource/<OnTracksChanged>c__AnonStorey21.<>m__18 () [0x0004d] in /build/banshee-m7RbaM/banshee-2.2.0/src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:409
  at System.Threading.Thread.StartUnsafe () <IL 0x00021, 0x00071>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

Native stacktrace:

* Assertion at class.c:7637, condition `ac->rank' not met

zsh: abort      banshee --debug

I am using the Banshee 2.2.0-1 package from Debian unstable, using Mono 2.10.1:

Mono JIT compiler version 2.10.1 (Debian 2.10.1-4)
Copyright (C) 2002-2011 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            Included Boehm (with typed GC and Parallel Mark)

Here are the versions of Banshee's various dependencies:

Versions of packages banshee depends on:
ii  gnome-icon-theme                                      3.2.0-1··········
ii  gstreamer0.10-alsa [gstreamer0.10-audiosink]          0.10.35-1········
ii  gstreamer0.10-esd [gstreamer0.10-audiosink]           0.10.28-3········
ii  gstreamer0.10-gconf [gstreamer0.10-audiosink]         0.10.30-1········
ii  gstreamer0.10-plugins-bad [gstreamer0.10-audiosink]   0.10.22-3········
ii  gstreamer0.10-plugins-base                            0.10.35-1········
ii  gstreamer0.10-plugins-good [gstreamer0.10-audiosink]  0.10.30-1········
ii  gstreamer0.10-pulseaudio [gstreamer0.10-audiosink]    0.10.30-1········
ii  libboo2.0.9-cil                             
ii  libc6                                                 2.13-21··········
ii  libcairo2                                             1.10.2-6.1·······
ii  libdbus-glib1.0-cil                                   0.5.0-3··········
ii  libdbus1.0-cil                                        0.7.0-4··········
ii  libgconf2.0-cil                                       2.24.2-1·········
ii  libgdata1.8-cil                             ········
ii  libgdk-pixbuf2.0-0                                    2.24.0-1·········
ii  libgkeyfile1.0-cil                                    0.1-3············
ii  libglib2.0-0                                          2.28.6-1·········
ii  libglib2.0-cil                                        2.12.10-2········
ii  libgpod4                                              0.8.2-4··········
ii  libgstreamer-plugins-base0.10-0                       0.10.35-1········
ii  libgstreamer0.10-0                                    0.10.35-1········
ii  libgtk-sharp-beans-cil                                2.14.1-2·········
ii  libgtk2.0-0                                           2.24.6-2·········
ii  libgtk2.0-cil                                         2.12.10-2········
ii  libgudev1.0-cil                                       0.1-2············
ii  libkarma0                                             0.1.2-2.2········
ii  libmono-addins0.2-cil                                 0.6.1-2··········
ii  libmono-cairo2.0-cil                                  2.10.1-4·········
ii  libmono-corlib2.0-cil                                 2.10.1-4·········
ii  libmono-posix2.0-cil                                  2.10.1-4·········
ii  libmono-sharpzip2.84-cil                              2.10.1-4·········
ii  libmono-system2.0-cil                                 2.10.1-4·········
ii  libmono-zeroconf1.0-cil                               0.9.0-2··········
ii  libmtp9                                               1.1.0-4··········
ii  libnotify0.4-cil                                      0.4.0~r3032-3····
ii  libpango1.0-0                                         1.29.4-1·········
ii  libsoup-gnome2.4-1                                    2.36.0-1·········
ii  libsoup2.4-1                                          2.36.0-1·········
ii  libsqlite3-0                                          3.7.8-1··········
ii  libtaglib2.0-cil                            ···
ii  libwebkitgtk-1.0-0                                    1.4.2-2··········
ii  libwnck22                                             2.30.4-3·········
ii  libx11-6                                              2:1.4.4-2········
ii  libxrandr2                                            2:1.3.2-2········
ii  libxxf86vm1                                           1:1.1.1-2········
ii  mono-runtime                                          2.10.1-4·········

Versions of packages banshee recommends:
ii  avahi-daemon       0.6.30-5··
ii  brasero            3.0.0-1+b1
ii  media-player-info  15-1······

Versions of packages banshee suggests:
ii  banshee-dbg                 2.2.0-1··
ii  gstreamer0.10-ffmpeg        0.10.12-3
ii  gstreamer0.10-plugins-bad   0.10.22-3
ii  gstreamer0.10-plugins-ugly  0.10.18-3
Comment 1 Miguel de Icaza [MSFT] 2011-10-30 17:20:17 UTC
It is possible that at this point some code in Banshee corrupted Mono.

We need a small, reproducible test case.   An application like Banshee and the underlying unmanaged stack could have easily corrupted memory.
Comment 2 Rodrigo Kumpera 2014-01-12 01:41:59 UTC
No response.