-
Notifications
You must be signed in to change notification settings - Fork 217
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
EM dependency too permissive #324
Comments
Hmm, I think there is something else going on here. We did have a failing test, which I just pushed a fix for, and with that, everything is A-OK with 1.2.0.1: https://travis-ci.org/postrank-labs/goliath/jobs/133768450#L185 |
Was having the same issue until I locked the gem file to 1.0.9.1, it appeared the test was making requests to localhost:9900 and this responded with nothing to the EM. I need to dig a bit deeper to find out the issue, for now the fix is locking your gem file |
The error happens for me too. Inspecting shows that it's due to an |
Are you guys running the latest code from master? I can't reproduce the errror locally with 1.2.0.1 |
Haven't had a chance to debug further, myself. Per the repro gist in the original comment, Goliath was locked to 1aeb2ae (latest
Note:
Locking eventmachine to 1.0.9.1 still works:
Note:
I'm on OSX Version 10.9.5, if that helps/matters. Any other variables about my environment I might provide? |
I'm not a Goliath's user, but I may know what the problem is here. Let me cite @sodabrew (eventmachine/eventmachine#703 (comment)):
About reproduction gist (https://gist.github.com/ajvondrak/e72726e947b1db9387541369ec3b389e). It is failing also for me (it's also throwing
I experienced similar problem with Thin. After upgrading some gems in rails project (including eventmachine to 1.2.0.1) the server stopped responding on custom host defined in |
@Bonias thanks, this is very helpful. Binding to 127.0.0.1 seems like a reasonable solution. |
I've just posted EventMachine 1.2.1, with a few smaller fixes, not specifically related to the issues here, but just as an FYI. I'm very interested if there's anything I can do to improve / help this scenario, either with tunable knobs in EM, or suggesting knobs for Thin (i.e. prefer IPv4 vs. IPv6, or bind to all local address by default, etc.) |
@Bonias Verified on my machine. I know my comment comes late, but just wanted to give a huge thanks for solving this mystery! I feel less crazy now. 😄 |
I don't think the Ruby version matters here, but just in case:
I've set up a minimal repro in a gist:
Goliath declares a dependency on
eventmachine >= 1.0.0.beta.4
. If your Gemfile does not lock to a particular eventmachine version,bundle update
(or even your initialbundle install
) can wind up installing eventmachine 1.2.0.1 (which, as of this writing is their latest version). This version of EM causes (at the very least)Goliath::TestHelper
to fail mysteriously:I do not know what the bug is, but it seems to have been introduced by EM 1.2.0.1. If I lock the Gemfile to the previously released version, 1.0.9.1, I do not get these errors:
At the very least, Goliath's
>=
dependency is too permissive. I don't know how to make Goliath compatible with EM 1.2.0.1, but I do know that a recentbundle update
on my project has broken basically all of the tests. (Also, I get runtime errors when I don't declare anem-http-request
dependency - should this be added explicitly to the Goliath gemspec?)The text was updated successfully, but these errors were encountered: