You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Doesn't happen on every run, but happens very frequently...
a) Checkout "rugged" branch of bugspots [1]
b) bundle exec bin/bugspots /path/to/repo
ruby(30333,0x7fff75c2b310) malloc: *** error for object 0x7fa10cf3f600: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
to your Gemfile and re-bundle. I know this is less than optimal, especially if you're working on a gem.
Your app then works fine:
Arthurs-iMac-2:bugspots arthur$ bin/bugspots . --branch rugged
Scanning . repo
Found 9 bugfix commits, with 3 hotspots:
Fixes:
- Fix for repositories with spaces in their path.
- Merge pull request #18 from cleeland/master
- Fix https://github.com/mojombo/grit/issues/41 using suggestion from msgerbush.
- Only Track Files at HEAD
- rename bin script to integrate with native git commands - closes #11
- Merge pull request #9 from airblade/master
- Allow imperative form of 'close'.
- Allow imperative form of 'fix'.
- refactor + a few fixes
Hotspots:
0.0027 - bin/git-bugspots
0.0001 - lib/bugspots/scanner.rb
0.0000 - bin/bugspots
A new gem release is long overdue, but I guess we want #307 and maybe an updated version of #304 to be merged before we cut another release. Both those PRs contain some significant API changes and upstream fixes from libgit2.
In general, I agree with your statement - but neither libgit2 nor Rugged are considered to have a stable API, and often to fix a bug in Rugged we need to update the bundled version of libgit2, which in turn forces us to change / update the Rugged API.
I'll try to make sure we handle this better in the future.
neither libgit2 nor Rugged are considered to have a stable API
This should be put in bold at the top of the readme. The reason I'm here is because grit repo is marked as deprecated and points to rugged. I landed on the readme, read through the API (which is great), and went on to rewrite my code using rugged... Now, you're saying it's actually broken / not-production ready, which means all of my effort was wasted as well.
Don't get me wrong, love the project and kudos for your work on it... but above experience is, well, poor/frustrating.
Sorry @igrigorik, the version of Rugged we use in production is the tip of development, which is never broken. This is our internal production Gem, and we do not version it internally. We understand this is not idea for other people who cannot/do not want to run the bleeding edge in production, but it's the way we work.
@vmg sure. I'm just pointing out that other gems can't rely on rugged without introducing a Gemfile into a project. In any case, just FYI... feedback from a frustrated user. :)
Activity
arthurschreiber commentedon Feb 17, 2014
Rugged 0.19 is broken in many regards. Please use the latest development version until a new version is released.
Remove
ruggedfrom yourgemspec, add the following lineto your Gemfile and re-bundle. I know this is less than optimal, especially if you're working on a gem.
Your app then works fine:
igrigorik commentedon Feb 17, 2014
Thanks, that indeed did the trick.
Any ETA for when the next version will ship?
arthurschreiber commentedon Feb 17, 2014
A new gem release is long overdue, but I guess we want #307 and maybe an updated version of #304 to be merged before we cut another release. Both those PRs contain some significant API changes and upstream fixes from libgit2.
Unfortunately, there's no ETA yet. 😞
igrigorik commentedon Feb 17, 2014
FWIW, fixing segfaults seems like a great reason for a minor point release. Why couple bugfixes with API changes?
arthurschreiber commentedon Feb 17, 2014
//cc @vmg
In general, I agree with your statement - but neither libgit2 nor Rugged are considered to have a stable API, and often to fix a bug in Rugged we need to update the bundled version of libgit2, which in turn forces us to change / update the Rugged API.
I'll try to make sure we handle this better in the future.
igrigorik commentedon Feb 17, 2014
This should be put in bold at the top of the readme. The reason I'm here is because grit repo is marked as deprecated and points to rugged. I landed on the readme, read through the API (which is great), and went on to rewrite my code using rugged... Now, you're saying it's actually broken / not-production ready, which means all of my effort was wasted as well.
Don't get me wrong, love the project and kudos for your work on it... but above experience is, well, poor/frustrating.
vmg commentedon Feb 17, 2014
Sorry @igrigorik, the version of Rugged we use in production is the tip of
development, which is never broken. This is our internal production Gem, and we do not version it internally. We understand this is not idea for other people who cannot/do not want to run the bleeding edge in production, but it's the way we work.igrigorik commentedon Feb 17, 2014
@vmg sure. I'm just pointing out that other gems can't rely on rugged without introducing a Gemfile into a project. In any case, just FYI... feedback from a frustrated user. :)