{"action":"created","issue":{"url":"https://api.github.com/repos/Geal/lapin/issues/44","repository_url":"https://api.github.com/repos/Geal/lapin","labels_url":"https://api.github.com/repos/Geal/lapin/issues/44/labels{/name}","comments_url":"https://api.github.com/repos/Geal/lapin/issues/44/comments","events_url":"https://api.github.com/repos/Geal/lapin/issues/44/events","html_url":"https://github.com/Geal/lapin/issues/44","id":224375748,"number":44,"title":"Blind consumer on credentials/tcp lost","user":{"login":"Freyskeyd","id":1394604,"avatar_url":"https://avatars0.githubusercontent.com/u/1394604?v=3","gravatar_id":"","url":"https://api.github.com/users/Freyskeyd","html_url":"https://github.com/Freyskeyd","followers_url":"https://api.github.com/users/Freyskeyd/followers","following_url":"https://api.github.com/users/Freyskeyd/following{/other_user}","gists_url":"https://api.github.com/users/Freyskeyd/gists{/gist_id}","starred_url":"https://api.github.com/users/Freyskeyd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Freyskeyd/subscriptions","organizations_url":"https://api.github.com/users/Freyskeyd/orgs","repos_url":"https://api.github.com/users/Freyskeyd/repos","events_url":"https://api.github.com/users/Freyskeyd/events{/privacy}","received_events_url":"https://api.github.com/users/Freyskeyd/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-04-26T07:54:11Z","updated_at":"2017-04-26T16:13:02Z","closed_at":"2017-04-26T15:48:28Z","body":"Hi,\r\n\r\nI tried to connect to one of my rabbitmq, it allow only one user with credentials.\r\nI tried to define wrong credentials and the consumer process is still working, I clearly see in rabbitmq logs:\r\n\r\n```log\r\n=INFO REPORT==== 26-Apr-2017::09:44:02 ===\r\naccepting AMQP connection <0.1532.0> (172.17.0.1:37890 -> 172.17.0.2:5672)\r\n\r\n=ERROR REPORT==== 26-Apr-2017::09:44:02 ===\r\nError on AMQP connection <0.1532.0> (172.17.0.1:37890 -> 172.17.0.2:5672, state: starting):\r\nPLAIN login refused: user 'myusername' - invalid credentials\r\n```\r\nIf I fix credentials but I don't update the `vhost`:\r\n```log\r\n=INFO REPORT==== 26-Apr-2017::09:50:06 ===\r\naccepting AMQP connection <0.1345.0> (172.17.0.1:37892 -> 172.17.0.2:5672)\r\n\r\n=ERROR REPORT==== 26-Apr-2017::09:50:06 ===\r\nError on AMQP connection <0.1345.0> (172.17.0.1:37892 -> 172.17.0.2:5672, user: 'iadvize', state: opening):\r\naccess to vhost '/' refused for user 'myusername'\r\n```\r\n\r\nIs the consumer process blind to credentials failing?\r\n\r\nAnother problem, if I kill my rabbitmq, the consumer is still running.\r\n\r\nLet me know if you want more details.\r\n"},"comment":{"url":"https://api.github.com/repos/Geal/lapin/issues/comments/297462412","html_url":"https://github.com/Geal/lapin/issues/44#issuecomment-297462412","issue_url":"https://api.github.com/repos/Geal/lapin/issues/44","id":297462412,"user":{"login":"Freyskeyd","id":1394604,"avatar_url":"https://avatars0.githubusercontent.com/u/1394604?v=3","gravatar_id":"","url":"https://api.github.com/users/Freyskeyd","html_url":"https://github.com/Freyskeyd","followers_url":"https://api.github.com/users/Freyskeyd/followers","following_url":"https://api.github.com/users/Freyskeyd/following{/other_user}","gists_url":"https://api.github.com/users/Freyskeyd/gists{/gist_id}","starred_url":"https://api.github.com/users/Freyskeyd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Freyskeyd/subscriptions","organizations_url":"https://api.github.com/users/Freyskeyd/orgs","repos_url":"https://api.github.com/users/Freyskeyd/repos","events_url":"https://api.github.com/users/Freyskeyd/events{/privacy}","received_events_url":"https://api.github.com/users/Freyskeyd/received_events","type":"User","site_admin":false},"created_at":"2017-04-26T16:13:02Z","updated_at":"2017-04-26T16:13:02Z","body":"Here's a tracelog:\r\n\r\n```log\r\n➜  lapintest master ✗ RUST_LOG=lapin=trace cargo run --example connect\r\n    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs\r\n     Running `target/debug/examples/connect`\r\nTRACE:lapin_futures::transport: sink start send\r\nTRACE:lapin_futures::transport: will encode and write frame: ProtocolHeader\r\nTRACE:lapin_futures::transport: serialized frame: 8 bytes\r\nTRACE:lapin_futures::transport: sink poll_complete\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nTRACE:lapin_futures::transport: pre-poll\r\nDEBUG:lapin_futures::transport: AMQPTransportConnector poll transport is none? false\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nDEBUG:lapin_futures::transport: conn state: Connecting(SentProtocolHeader)\r\nTRACE:lapin_futures::transport: waiting before poll\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nTRACE:lapin_futures::transport: post-poll\r\nDEBUG:lapin_futures::transport: AMQPTransportConnector poll transport is none? false\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nDEBUG:lapin_futures::transport: conn state: Connecting(SentProtocolHeader)\r\nTRACE:lapin_futures::transport: waiting before poll\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nDEBUG:lapin_futures::transport: AMQPTransportConnector poll transport is none? false\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: decoded frame: Method(0, Connection(Start(Start { version_major: 0, version_minor: 9, server_properties: {\"capabilities\": FieldTable({\"authentication_failure_close\": Boolean(true), \"basic.nack\": Boolean(true), \"connection.blocked\": Boolean(true), \"consumer_cancel_notify\": Boolean(true), \"consumer_priorities\": Boolean(true), \"direct_reply_to\": Boolean(true), \"exchange_exchange_bindings\": Boolean(true), \"per_consumer_qos\": Boolean(true), \"publisher_confirms\": Boolean(true)}), \"cluster_name\": LongString(\"rabbit@c831ff2a0c9f\"), \"copyright\": LongString(\"Copyright (C) 2007-2016 Pivotal Software, Inc.\"), \"information\": LongString(\"Licensed under the MPL.  See http://www.rabbitmq.com/\"), \"platform\": LongString(\"Erlang/OTP\"), \"product\": LongString(\"RabbitMQ\"), \"version\": LongString(\"3.6.6\")}, mechanisms: \"PLAIN AMQPLAIN\", locales: \"en_US\" })))\r\nTRACE:lapin_futures::transport: upstream poll gave frame: Method(0, Connection(Start(Start { version_major: 0, version_minor: 9, server_properties: {\"capabilities\": FieldTable({\"authentication_failure_close\": Boolean(true), \"basic.nack\": Boolean(true), \"connection.blocked\": Boolean(true), \"consumer_cancel_notify\": Boolean(true), \"consumer_priorities\": Boolean(true), \"direct_reply_to\": Boolean(true), \"exchange_exchange_bindings\": Boolean(true), \"per_consumer_qos\": Boolean(true), \"publisher_confirms\": Boolean(true)}), \"cluster_name\": LongString(\"rabbit@c831ff2a0c9f\"), \"copyright\": LongString(\"Copyright (C) 2007-2016 Pivotal Software, Inc.\"), \"information\": LongString(\"Licensed under the MPL.  See http://www.rabbitmq.com/\"), \"platform\": LongString(\"Erlang/OTP\"), \"product\": LongString(\"RabbitMQ\"), \"version\": LongString(\"3.6.6\")}, mechanisms: \"PLAIN AMQPLAIN\", locales: \"en_US\" })))\r\nTRACE:lapin_async::connection: will handle frame: Method(0, Connection(Start(Start { version_major: 0, version_minor: 9, server_properties: {\"capabilities\": FieldTable({\"authentication_failure_close\": Boolean(true), \"basic.nack\": Boolean(true), \"connection.blocked\": Boolean(true), \"consumer_cancel_notify\": Boolean(true), \"consumer_priorities\": Boolean(true), \"direct_reply_to\": Boolean(true), \"exchange_exchange_bindings\": Boolean(true), \"per_consumer_qos\": Boolean(true), \"publisher_confirms\": Boolean(true)}), \"cluster_name\": LongString(\"rabbit@c831ff2a0c9f\"), \"copyright\": LongString(\"Copyright (C) 2007-2016 Pivotal Software, Inc.\"), \"information\": LongString(\"Licensed under the MPL.  See http://www.rabbitmq.com/\"), \"platform\": LongString(\"Erlang/OTP\"), \"product\": LongString(\"RabbitMQ\"), \"version\": LongString(\"3.6.6\")}, mechanisms: \"PLAIN AMQPLAIN\", locales: \"en_US\" })))\r\nTRACE:lapin_async::connection: Server sent Connection::Start: Start { version_major: 0, version_minor: 9, server_properties: {\"capabilities\": FieldTable({\"authentication_failure_close\": Boolean(true), \"basic.nack\": Boolean(true), \"connection.blocked\": Boolean(true), \"consumer_cancel_notify\": Boolean(true), \"consumer_priorities\": Boolean(true), \"direct_reply_to\": Boolean(true), \"exchange_exchange_bindings\": Boolean(true), \"per_consumer_qos\": Boolean(true), \"publisher_confirms\": Boolean(true)}), \"cluster_name\": LongString(\"rabbit@c831ff2a0c9f\"), \"copyright\": LongString(\"Copyright (C) 2007-2016 Pivotal Software, Inc.\"), \"information\": LongString(\"Licensed under the MPL.  See http://www.rabbitmq.com/\"), \"platform\": LongString(\"Erlang/OTP\"), \"product\": LongString(\"RabbitMQ\"), \"version\": LongString(\"3.6.6\")}, mechanisms: \"PLAIN AMQPLAIN\", locales: \"en_US\" }\r\nDEBUG:lapin_async::connection: client sending Connection::StartOk: Connection(StartOk(StartOk { client_properties: {\"product\": LongString(\"lapin\")}, mechanism: \"PLAIN\", response: \"\\u{0} myusername\\u{0}guest\", locale: \"en_US\" }))\r\nTRACE:lapin_futures::transport: sink start send\r\nTRACE:lapin_futures::transport: will encode and write frame: Method(0, Connection(StartOk(StartOk { client_properties: {\"product\": LongString(\"lapin\")}, mechanism: \"PLAIN\", response: \"\\u{0} myusername\\u{0}guest\", locale: \"en_US\" })))\r\nTRACE:lapin_futures::transport: serialized frame: 64 bytes\r\nTRACE:lapin_futures::transport: sink poll_complete\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nDEBUG:lapin_futures::transport: conn state: Connecting(SentStartOk)\r\nTRACE:lapin_futures::transport: waiting before poll\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: upstream poll gave NotReady\r\nDEBUG:lapin_futures::transport: AMQPTransportConnector poll transport is none? false\r\nTRACE:lapin_futures::transport: stream poll\r\nERROR:lapin_futures::transport: upstream poll gave Ready(None)\r\nDEBUG:lapin_futures::transport: conn state: Connecting(SentStartOk)\r\nTRACE:lapin_futures::transport: waiting before poll\r\nTRACE:lapin_futures::transport: stream poll\r\nERROR:lapin_futures::transport: upstream poll gave Ready(None)\r\nDEBUG:lapin_futures::transport: AMQPTransportConnector poll transport is none? false\r\nTRACE:lapin_futures::transport: stream poll\r\nTRACE:lapin_futures::transport: Sending heartbeat\r\nTRACE:lapin_futures::transport: sink start send\r\nTRACE:lapin_futures::transport: will encode and write frame: Heartbeat(0)\r\nTRACE:lapin_futures::transport: serialized frame: 8 bytes\r\nTRACE:lapin_futures::transport: sink poll_complete\r\nERROR:lapin_futures::transport: upstream poll gave Ready(None)\r\nDEBUG:lapin_futures::transport: conn state: Connecting(SentStartOk)\r\nTRACE:lapin_futures::transport: waiting before poll\r\nTRACE:lapin_futures::transport: stream poll\r\nERROR:lapin_futures::transport: upstream poll gave Ready(None)\r\n```"}}
{"actor":{"display_login":"Freyskeyd"}}