New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rubinius crash during a normal test run (that used to pass on 2.0.0dev) #1992
Comments
The crash dump won't paste, for some reason, I think it must have some illegitimate character in it. I have it saved as a dump which will probably email okay, if someone wants to see the original dump. |
Can you gist the dump? |
For some reason, it will not post, Gist complains that the post is empty (as does pastie and pastebin). I think there might be a invalid character or something in the dump. I have it saved locally, and vim can open it fine -- I suppose I could screenshot it… better than nothing, right? /Joe On Nov 7, 2012, at 11:27 AM, Jesse Cooke notifications@github.com wrote:
|
Sure, a screenshot would work 😉 |
@jfredett you can try |
I'll give that a shot, if not a screenshot should definitely fix it. On Nov 7, 2012, at 12:33 PM, Kirill Nikitin notifications@github.com wrote:
|
|
Victory! @Locke23rus 's idea worked. Odd that cut-pasting from both vim, macvim and textmate all failed, but |
I just pushed 6e5968d, could you try whether that fixes the problem for you? |
@dbussink It doesn't appear to. I should add some more information I gathered last night with the help of @brixen:
I'm going to attempt to replicate the bug on another machine at work this morning, to see if it happens consistently on 10.8. @brixen noted that he is on 10.6, so perhaps it is a Mountain-lion specific bug. |
Well, I run 10.8 here too and it works fine here locally, so I don't expect that to be the problem. http://rubini.us/2012/01/04/debugging-rubinius/ as some stuff where I am debugging an issue and looking at stuff in memory, so that might help. If you can catch the crash, feel free to hop into irc to look at it. Another solution would perhaps doing a screen sharing session to debug if you want. |
Okay, well -- since it works fine on 10.8 for you, then that isolates the Curious that the crash is so consistent on my end, and yet irreproducible On Thu, Nov 8, 2012 at 8:29 AM, Dirkjan Bussink notifications@github.comwrote:
|
The problem is that this error doesn't point at anything external, but at Rubinius itself. There is also no reason to believe it is related to rvm. Did you try building Rubinius itself from a clone on that machine with DEV=1? |
Yes. That's how I got to the GDB output. I'll dig around some more and see if I can find where the actual bad access is coming from -- all the arguments to the method being called (as well as the thing it's being called on) seem to be okay. I'll dig around and hopefully find something more interesting. |
That all the arguments seem correct is actually already very important information and rises a suspicion :). If you hop into irc we could investigate further. |
@dbussink https://gist.github.com/4043418 I may have stubbed a #new after doing That gist contains a minimal replication of the bug I encountered (actually just replicates the assertion error, not the full crash... I'll have to double check it in the morning). |
This is really weird, just ran it here locally and it works fine, no nil entry in the cache for me here then. |
Some more things I found (that I have mentioned in irc), that I'm going to leave here for posterity: The first 'bad' commit for me is 5067035, it was a change to fix #1813, which changes, to my understanding, how Given that this problem, apparently, happens for only me, I don't see it being resolved until someone else can actually replicate it. For my part, the problem is resolved by removing some admittedly evil code intended to prevent clients of a particular module from using It's probably okay to close this issue as 'cannot reproduce' or whatever, I don't know what the procedure around here is. |
@jfredett closing based on your feedback; please let us know if you have any issues that we can investigate. |
It occurred to me the other day that I stumbled across an issue in another project, on another ruby (MRI 1.9.3) which has similar, heisenbuggy characteristics to this one, namely
Similarly to my case, it fails only for some people. I likely did have Binding-of-caller included in the minimal reproduction case I did, because it's part of Weirdly, it doesn't happen for everyone, and even more odd is that it doesn't necessarily happen to two otherwise apparently identical machines running the same code. These characteristics are similar enough to my case that it leads me to believe that maybe they are related. It should be noted that this bug has only popped up on MRI, and not on RBX (according to that issue), but B-of-C does use C-extensions, which as I recall Rubinius does a pretty good job of emulating MRI behavior, so it's not out of the realm of possibility that you might experience similar failures when a good gem goes bad. Ultimately, it's not critical for me to have this fixed, but as someone who loathes an unopened box, I figured it might be worthwhile to post this potential connection here for posterity. |
@jfredett binding_of_caller on rubinius is actually a pure ruby implementation. |
its implementation is here: https://github.com/banister/binding_of_caller/blob/master/lib/binding_of_caller/rubinius.rb |
Drats, I was hoping that might be the box that needed opening. Oh well, perhaps it's ours not to reason why. On Sep 23, 2013, at 11:38 AM, Robert notifications@github.com wrote:
|
it may be that binding_of_caller is finding a bug in one of Rubinius's APIs. donno though. |
The
rbx report
feature failed to be able to post the crash dump, I'm hoping that I'll be able to get the dump up here at the end of the issue.to Reproduce:
git clone git://github.com/jfredett/exegesis
the .rvmrc should be committed, it points to rbx-head@exegesis.
rbx-head --version
for me gives:rubinius 2.0.0rc1 (1.9.3 release 2012-11-02 JI) [x86_64-apple-darwin12.0.0]
rake
to run the tests, it should result in a single failure, which passes when you run the file individually via rspec (the file isspec/unit/flyweight_spec
)Info about my system:
The text was updated successfully, but these errors were encountered: