After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 648168 - Banshee.exe crashed while using lastfm finger prints feature
Banshee.exe crashed while using lastfm finger prints feature
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: Community Extensions
git master
Other Linux
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-19 03:40 UTC by Chow Loong Jin
Modified: 2011-04-25 20:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Chow Loong Jin 2011-04-19 03:40:55 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.
Comment 1 Chow Loong Jin 2011-04-19 03:47:15 UTC
Oh, I forgot to mention, but the stack trace is at https://i69864943.restricted.launchpadlibrarian.net/69864943/Stacktrace.txt?token=a39347112505033c554e639c51bd2ebb
Comment 2 olivier dufour 2011-04-24 23:40:52 UTC
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.
Comment 3 Chow Loong Jin 2011-04-25 00:36:55 UTC
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
Comment 4 Chow Loong Jin 2011-04-25 00:39:05 UTC
To be clearer, it's these lines:

  • #13 Lastfmfp_initgstreamer
    at gst-lastfmfpbridge.cpp line 264
  • #14 Lastfmfp_decode
    at gst-lastfmfpbridge.cpp line 352

Notice how file == 0x0 in those two function calls. Mono calls #14, which calls #13 passing the file char* into that function.
Comment 5 olivier dufour 2011-04-25 14:01:14 UTC
I have fixed it locally but have an issue to push to official git because of line ending on Extensions.sln
Comment 6 Andrés G. Aragoneses (IRC: knocte) 2011-04-25 15:12:12 UTC
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?
Comment 7 olivier dufour 2011-04-25 20:06:29 UTC
fixed on git but need someone to closed bug for me...
Comment 8 David Nielsen 2011-04-25 20:08:23 UTC
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.