Skip to content

Loading…

Reproducible segfault when initializing Rails application #2843

Closed
benweint opened this Issue · 11 comments

3 participants

@benweint

We're getting a reproducible segmentation fault when trying to run the test suites for the newrelic_rpm gem against Rubinius 2.2.1 on Mac OS X. I've reduced down the specific test that's failing to a pretty small (though it relies on Rails) repro case:

https://gist.github.com/benweint/8042063

With that gist cloned on Mac OS X (cannot reproduce on Linux), you should be able to reproduce as follows:

bundle
bundle exec rbx ./app.rb

That gist also contains the crash report that we're getting.

System info:

$ rbx --version
rubinius 2.2.1 (2.1.0 3ed43137 2013-11-17 JI) [x86_64-darwin12.5.0]
$ uname -a
Darwin koan.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64

If there's more info I can gather just let me know, this is easy to replicate, so I'm happy to try stuff to help narrow it down.

@YorickPeterse
Rubinius member

Is this the same issue as #2841 ?

@benweint

I haven't examined the backtraces, but based on symptoms and situations of occurrence, I don't think so. We've only seen #2841 on Linux, and only intermittently, and in a different test suite. This one is 100% reproducible, but on Mac OS X only near as I can tell.

@dbussink
Rubinius member

I've been running this for dozens of times on OS X, but no crashes here. Could you try if this still happens with master? What version of racc are you using?

@benweint

Sure thing, will try on master. racc version is at 1.4.10 (the latest).

@benweint

Still reproduces for me with the latest rbx: https://gist.github.com/d566757a864957344693

rbx --version says: rubinius 2.2.2.n360 (2.1.0 f8ab0c1c 2013-12-26 JI) [x86_64-darwin12.5.0]

@dbussink
Rubinius member

Very weird, since it works fine here with those versions. Could you catch this in gdb so we can perhaps further debug what is going on here?

@benweint

I wonder if perhaps differing OS X versions are the variable that accounts for the difference? I'm on 10.8.5:

$ uname -a
Darwin koan.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64

Also, my version of Rubinius was built via ruby-build, which may be another difference.

I can easily catch this in the debugger, here's a dump of backtraces from all threads in case it's useful:
https://gist.github.com/benweint/8151687

What other information would be useful to gather from gdb? I could also gather a core dump if that would be helpful.

@benweint benweint closed this
@benweint

(Oops, accidentally closed)

@benweint benweint reopened this
@dbussink
Rubinius member

Ah, I'm running on mavericks and not seeing an issue there. I don't have any machines still running 10.8 so that's tricky then.

Also on mavericks there is no gdb anymore so a core dump won't be that useful either sadly.

@benweint

Ok, I'll try to reproduce on Mavericks once I get a chance to upgrade one of my machines.

You might also have luck with libgmalloc.

@benweint

I can no longer reproduce this with rbx-2.2.6, so I'm going to close this out.

@benweint benweint closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.