GNOME Bugzilla – Bug 648168
Banshee.exe crashed while using lastfm finger prints feature
Last modified: 2011-04-25 20:08:23 UTC
Originally reported at: https://bugs.launchpad.net/bugs/765420 Binary package hint: banshee Using the lastfm fingerprints extension to tag my files, banshee sometimes closes itself. Also the plugin doesn't permanetly authentifies itself against lastfm. I have to put my login password for every song I want to tag! The C++ stack trace indicates that the gchar* provided to Lastfmfp_initgstreamer() is a NULL pointer, rather than an actual string, causing a segfault while constructing a std::string object. Tracing this up the stack, I reckon that ad.Decode (track.Uri.AbsolutePath); found in LastfmFingerprintService.OnGetTagFromFingerprint() is passing a null value into ad.Decode(), which in turn passes this to the C++ glue library. Perhaps something needs to be done to check if track.Uri.AbsolutePath is null, and to handle an error if that happens.
Oh, I forgot to mention, but the stack trace is at https://i69864943.restricted.launchpadlibrarian.net/69864943/Stacktrace.txt?token=a39347112505033c554e639c51bd2ebb
bad link for stacktrace. Anyway, I have found it on launchpad. So seems related to string constructor in c++ part. I guess it is because string is empty or bad formated. There is a string allocation on a duplicate filename string. Can you give me the filename? Maybe it is a problem of text encoding UTF8/UTF32/ASCII/... or terminated char missing... If you have more than one file can be cool to find the common denominator.
I don't think that's the issue, is it? The entire char pointer itself is null, so it's not an improperly terminated string. Also, the current stack trace is at https://bugs.launchpad.net/ubuntu/+source/banshee-community-extensions/+bug/765420/+attachment/2064691/+files/Stacktrace.txt
To be clearer, it's these lines:
+ Trace 226862
Notice how file == 0x0 in those two function calls. Mono calls #14, which calls #13 passing the file char* into that function.
I have fixed it locally but have an issue to push to official git because of line ending on Extensions.sln
Olivier, as a workaround, cannot you extract the diff of your patch, remove your folder banshee-community-extensions entirely, re-clone the repo, and apply your patch again?
fixed on git but need someone to closed bug for me...
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.