GNOME Bugzilla – Bug 585514
Playing a song on Windows causes Banshee to crash
Last modified: 2011-02-04 01:00:08 UTC
Steps to reproduce: 1. 2. 3. Stack trace: Attempted to read or write protected memory. This is often an indication that ot her memory is corrupt. System.AccessViolationException: Attempted to read or write protected memory. Th is is often an indication that other memory is corrupt. at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in C:\src\banshee-test\src\Core\Banshee.Th ickClient\Banshee.Gui\GtkBaseClient.cs:line 149 at Banshee.Gui.GtkBaseClient.Startup() in C:\src\banshee-test\src\Core\Banshe e.ThickClient\Banshee.Gui\GtkBaseClient.cs:line 74 at Hyena.Gui.CleanRoomStartup.Startup(StartupInvocationHandler startup) in C: \src\banshee-test\src\Libraries\Hyena.Gui\Hyena.Gui\CleanRoomStartup.cs:line 54 Other information: Disabling the track progress callback seems to solve the issue. Comment out this line PlayerEngine.cs in Banshee.GStreamer bp_set_iterate_callback (handle, iterate_callback); and you can play songs.
Specifically, you need to comment out "bp_set_iterate_callback (handle, iterate_callback);" in src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
I have tried this and it does not work. I still get the same error message as reported.
Okay here is what I found. If gstreamer does not detect the plugin required (in my case for mp3) it throws this error. OGG files are playing perfectly
There are actually two separate crashes here. The one that throws this exception is caused by the bp_set_iterate_callback() callback. Banshee properly processes the event, but the exception is thrown in Gtk# when the NowPlayingTrackInfoDisplay gets updated. The other crash occurs when Banshee can't find an appropriate handler for the file you're trying to play. On a clean Windows install, it seems that the only files it can play are ogg, wma, asf, and flac. All of which are specified in Banshee.GStreamer.PlayerEngine.ExplicitDecoderCapabilities. It seems as if any time GStreamer gets invoked and fires an event that needs to draw information on the UI, we get this crash in Gtk#.
Is this still an issue in 2011?
Closing since we no longer use libbanshee on Windows.