bouncestorage / chaos-http-proxy

Introduce failures into HTTP requests via a proxy server
Apache License 2.0
144 stars 12 forks source link

Terminate on proxy start failure #7

Closed flandr closed 9 years ago

flandr commented 9 years ago

E.g. when bind(2) fails.

gaul commented 9 years ago

Pushed to master as b71bf43d2c7471402914c98be6b7937ecab1bb18. Curiously the proxy vomits two stack traces on error:

$ mvn clean package -DskipTests && target/chaos-http-proxy 
I 08-23 18:36:36.076 main org.eclipse.jetty.util.log:186 |::] Logging initialized @312ms
I 08-23 18:36:36.110 main o.eclipse.jetty.server.Server:327 |::] jetty-9.2.z-SNAPSHOT
W 08-23 18:36:36.132 main o.e.j.u.c.AbstractLifeCycle:212 |::] FAILED ServerConnector@7dc7cbad{HTTP/1.1}{127.0.0.1:1080}: java.net.BindException: Address already in use
java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_60]
        at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.Server.doStart(Server.java:366) [chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [chaos-http-proxy:1.1.0-SNAPSHOT]
        at com.bouncestorage.chaoshttpproxy.ChaosHttpProxy.start(ChaosHttpProxy.java:58) [chaos-http-proxy:1.1.0-SNAPSHOT]
        at com.bouncestorage.chaoshttpproxy.Main.main(Main.java:123) [chaos-http-proxy:1.1.0-SNAPSHOT]
W 08-23 18:36:36.133 main o.e.j.u.c.AbstractLifeCycle:212 |::] FAILED org.eclipse.jetty.server.Server@1b604f19: java.net.BindException: Address already in use
java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_60]
        at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.server.Server.doStart(Server.java:366) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[chaos-http-proxy:1.1.0-SNAPSHOT]
        at com.bouncestorage.chaoshttpproxy.ChaosHttpProxy.start(ChaosHttpProxy.java:58) [chaos-http-proxy:1.1.0-SNAPSHOT]
        at com.bouncestorage.chaoshttpproxy.Main.main(Main.java:123) [chaos-http-proxy:1.1.0-SNAPSHOT]
Address already in use

A problem for another day.

flandr commented 9 years ago

I also noticed that, but one bugzilla filing per day is my limit.