{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka/issues/17804","labels_url":"https://api.github.com/repos/akka/akka/issues/17804/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka/issues/17804/comments","events_url":"https://api.github.com/repos/akka/akka/issues/17804/events","html_url":"https://github.com/akka/akka/issues/17804","id":90136818,"number":17804,"title":"FAILED: TcpSpec - Outgoing TCP stream - must properly full-close if requested","user":{"login":"ktoso","id":120979,"avatar_url":"https://avatars.githubusercontent.com/u/120979?v=3","gravatar_id":"","url":"https://api.github.com/users/ktoso","html_url":"https://github.com/ktoso","followers_url":"https://api.github.com/users/ktoso/followers","following_url":"https://api.github.com/users/ktoso/following{/other_user}","gists_url":"https://api.github.com/users/ktoso/gists{/gist_id}","starred_url":"https://api.github.com/users/ktoso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktoso/subscriptions","organizations_url":"https://api.github.com/users/ktoso/orgs","repos_url":"https://api.github.com/users/ktoso/repos","events_url":"https://api.github.com/users/ktoso/events{/privacy}","received_events_url":"https://api.github.com/users/ktoso/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akka/akka/labels/2%20-%20pick%20next","name":"2 - pick next","color":"207de5"},{"url":"https://api.github.com/repos/akka/akka/labels/failed","name":"failed","color":"e11d21"},{"url":"https://api.github.com/repos/akka/akka/labels/t:http","name":"t:http","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/akka/akka/milestones/41","html_url":"https://github.com/akka/akka/milestones/streams-1.0","labels_url":"https://api.github.com/repos/akka/akka/milestones/41/labels","id":1074736,"number":41,"title":"streams-1.0","description":"","creator":{"login":"rkuhn","id":470469,"avatar_url":"https://avatars.githubusercontent.com/u/470469?v=3","gravatar_id":"","url":"https://api.github.com/users/rkuhn","html_url":"https://github.com/rkuhn","followers_url":"https://api.github.com/users/rkuhn/followers","following_url":"https://api.github.com/users/rkuhn/following{/other_user}","gists_url":"https://api.github.com/users/rkuhn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkuhn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkuhn/subscriptions","organizations_url":"https://api.github.com/users/rkuhn/orgs","repos_url":"https://api.github.com/users/rkuhn/repos","events_url":"https://api.github.com/users/rkuhn/events{/privacy}","received_events_url":"https://api.github.com/users/rkuhn/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":0,"state":"open","created_at":"2015-04-20T08:02:28Z","updated_at":"2015-06-26T13:58:45Z","due_on":"2015-07-07T22:00:00Z","closed_at":null},"comments":6,"created_at":"2015-06-22T15:47:05Z","updated_at":"2015-06-29T12:29:19Z","closed_at":null,"body":"Quite possibly just a timing issue?\r\n\r\nConnection failed:\r\n\r\n```\r\n[info] Outgoing TCP stream\r\n[info] - must work in the happy case (280 milliseconds)\r\n[WARN] [06/22/2015 14:49:51.174] [TcpSpec-akka.actor.default-dispatcher-4] [akka://TcpSpec/user/$b] received dead letter from Actor[akka://TcpSpec/system/IO-TCP/selectors/$a/0#-2115634180]: Unbound\r\n[info] - must be able to write a sequence of ByteStrings (65 milliseconds)\r\n[info] - must be able to read a sequence of ByteStrings (83 milliseconds)\r\n[WARN] [06/22/2015 14:49:51.388] [TcpSpec-akka.actor.default-dispatcher-2] [akka://TcpSpec/user/$e/$a] received dead letter from Actor[akka://TcpSpec/deadLetters]: PingClose(Actor[akka://TcpSpec/system/testActor199#-252353423])\r\n[info] - must work when client closes write, then remote closes write (73 milliseconds)\r\n[info] - must work when remote closes write, then client closes write (69 milliseconds)\r\n[WARN] [06/22/2015 14:49:52.830] [TcpSpec-akka.actor.default-dispatcher-4] [akka://TcpSpec/system/IO-TCP/selectors/$a/17] received dead letter from Actor[akka://TcpSpec/user/$g/$a#1430473875]: ResumeReading\r\n[info] - must work when client closes read, then client closes write (1 second, 373 milliseconds)\r\n[WARN] [06/22/2015 14:49:52.906] [TcpSpec-akka.actor.default-dispatcher-3] [akka://TcpSpec/user/$h/$a] received dead letter from Actor[akka://TcpSpec/deadLetters]: PingClose(Actor[akka://TcpSpec/system/testActor214#-1204101801])\r\n[info] - must work when client closes write, then client closes read (73 milliseconds)\r\n[WARN] [06/22/2015 14:49:52.972] [TcpSpec-akka.actor.default-dispatcher-3] [akka://TcpSpec/system/IO-TCP/selectors/$a/22] received dead letter from Actor[akka://TcpSpec/deadLetters]: ChannelReadable\r\n[info] - must work when client closes read, then server closes write, then client closes write (66 milliseconds)\r\n[info] - must shut everything down if client signals error (67 milliseconds)\r\n[info] - must shut everything down if client signals error after remote has closed write (66 milliseconds)\r\n[WARN] [06/22/2015 14:49:53.170] [TcpSpec-akka.actor.default-dispatcher-4] [akka://TcpSpec/system/IO-TCP/selectors/$a/31] received dead letter from Actor[akka://TcpSpec/system/IO-TCP-STREAM/client-11-%2F127.0.0.1%3A44447#876543870]: ResumeReading\r\n[WARN] [06/22/2015 14:49:53.171] [TcpSpec-akka.actor.default-dispatcher-4] [akka://TcpSpec/system/IO-TCP/selectors/$a/31] received dead letter from Actor[akka://TcpSpec/system/IO-TCP-STREAM/client-11-%2F127.0.0.1%3A44447#876543870]: Abort\r\n[info] - must shut down both streams when connection is aborted remotely (64 milliseconds)\r\n[info] - must materialize correctly when used in multiple flows (93 milliseconds)\r\n[WARN] [06/22/2015 14:49:53.266] [TcpSpec-akka.actor.default-dispatcher-5] [akka://TcpSpec/user/$m] received dead letter from Actor[akka://TcpSpec/system/IO-TCP/selectors/$a/33#-236407515]: Unbound\r\n[WARN] [06/22/2015 14:49:53.269] [TcpSpec-akka.actor.default-dispatcher-3] [akka://TcpSpec/system/IO-TCP/selectors/$a/36] received dead letter from Actor[akka://TcpSpec/system/IO-TCP-STREAM/client-13-%2F127.0.0.1%3A38869#290974405]: ResumeReading\r\n[WARN] [06/22/2015 14:49:53.269] [TcpSpec-akka.actor.default-dispatcher-3] [akka://TcpSpec/system/IO-TCP/selectors/$a/36] received dead letter from Actor[akka://TcpSpec/system/IO-TCP-STREAM/client-13-%2F127.0.0.1%3A38869#290974405]: Abort\r\n[info] - must properly full-close if requested *** FAILED *** (62 milliseconds)\r\n[info]   akka.stream.StreamTcpException: Connection failed.\r\n[info] - must Echo should work even if server is in full close mode (475 milliseconds)\r\n[info] TCP listen stream\r\n[info] - must be able to implement echo (26 milliseconds)\r\n[info] - must work with a chain of echoes (33 milliseconds)\r\n[ERROR] [06/22/2015 14:49:53.920] [TcpSpec-akka.actor.default-dispatcher-2] [akka://TcpSpec/system/IO-TCP/selectors/$a/56] Bind failed for TCP channel on endpoint [localhost/127.0.0.1:36321]\r\njava.net.BindException: Address already in use\r\n\tat sun.nio.ch.Net.bind0(Native Method)\r\n\tat sun.nio.ch.Net.bind(Net.java:437)\r\n\tat sun.nio.ch.Net.bind(Net.java:429)\r\n\tat sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)\r\n\tat sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)\r\n\tat akka.io.TcpListener.liftedTree1$1(TcpListener.scala:53)\r\n\tat akka.io.TcpListener.<init>(TcpListener.scala:50)\r\n\tat sun.reflect.GeneratedConstructorAccessor74.newInstance(Unknown Source)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:422)\r\n\tat akka.util.Reflect$.instantiate(Reflect.scala:66)\r\n\tat akka.actor.ArgsReflectConstructor.produce(Props.scala:352)\r\n\tat akka.actor.Props.newActor(Props.scala:252)\r\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:552)\r\n\tat akka.actor.ActorCell.create(ActorCell.scala:578)\r\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)\r\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)\r\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)\r\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:219)\r\n\tat akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)\r\n\tat scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\r\n\tat scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\r\n\tat scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\r\n\tat scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\r\n\r\n[ERROR] [06/22/2015 14:49:53.924] [TcpSpec-akka.actor.default-dispatcher-15] [akka://TcpSpec/system/IO-TCP/selectors/$a/57] Bind failed for TCP channel on endpoint [localhost/127.0.0.1:36321]\r\njava.net.BindException: Address already in use\r\n\tat sun.nio.ch.Net.bind0(Native Method)\r\n\tat sun.nio.ch.Net.bind(Net.java:437)\r\n\tat sun.nio.ch.Net.bind(Net.java:429)\r\n\tat sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)\r\n\tat sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)\r\n\tat akka.io.TcpListener.liftedTree1$1(TcpListener.scala:53)\r\n\tat akka.io.TcpListener.<init>(TcpListener.scala:50)\r\n\tat sun.reflect.GeneratedConstructorAccessor74.newInstance(Unknown Source)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:422)\r\n\tat akka.util.Reflect$.instantiate(Reflect.scala:66)\r\n\tat akka.actor.ArgsReflectConstructor.produce(Props.scala:352)\r\n\tat akka.actor.Props.newActor(Props.scala:252)\r\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:552)\r\n\tat akka.actor.ActorCell.create(ActorCell.scala:578)\r\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)\r\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)\r\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)\r\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:219)\r\n\tat akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)\r\n\tat scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\r\n\tat scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\r\n\tat scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\r\n\tat scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\r\n```"},"comment":{"url":"https://api.github.com/repos/akka/akka/issues/comments/116637064","html_url":"https://github.com/akka/akka/issues/17804#issuecomment-116637064","issue_url":"https://api.github.com/repos/akka/akka/issues/17804","id":116637064,"user":{"login":"drewhk","id":932285,"avatar_url":"https://avatars.githubusercontent.com/u/932285?v=3","gravatar_id":"","url":"https://api.github.com/users/drewhk","html_url":"https://github.com/drewhk","followers_url":"https://api.github.com/users/drewhk/followers","following_url":"https://api.github.com/users/drewhk/following{/other_user}","gists_url":"https://api.github.com/users/drewhk/gists{/gist_id}","starred_url":"https://api.github.com/users/drewhk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewhk/subscriptions","organizations_url":"https://api.github.com/users/drewhk/orgs","repos_url":"https://api.github.com/users/drewhk/repos","events_url":"https://api.github.com/users/drewhk/events{/privacy}","received_events_url":"https://api.github.com/users/drewhk/received_events","type":"User","site_admin":false},"created_at":"2015-06-29T12:29:19Z","updated_at":"2015-06-29T12:29:19Z","body":"There are different failures here, not all of them is the same. This ticket is about the bind failure \"address in use\" which is not the same you have found. That one is about subscription timeouts, and I think it can be just a too short timeout. I don't see so far anything wrong with the full-close."}}