Skip to content

Instantly share code, notes, and snippets.

@nickgartmann
Created October 4, 2014 00:12
Show Gist options
  • Save nickgartmann/97286ffd31b2883707a7 to your computer and use it in GitHub Desktop.
Save nickgartmann/97286ffd31b2883707a7 to your computer and use it in GitHub Desktop.
Stack trace when trying to use websockets on phoenix 0.4.1
var socket = new Phoenix.Socket("/ws");
socket.join("ship", "topic", {}, function(channel) {
channel.on("connect", function(message) {
console.log("joined")
})
});
defmodule Pew.Mixfile do
use Mix.Project
def project do
[ app: :pew,
version: "0.0.1",
elixir: "~> 1.0.0-rc1",
elixirc_paths: ["lib", "web"],
deps: deps ]
end
# Configuration for the OTP application
def application do
[
mod: { Pew, [] },
applications: [:phoenix, :cowboy, :logger]
]
end
# Returns the list of dependencies in the format:
# { :foobar, git: "https://github.com/elixir-lang/foobar.git", tag: "0.1" }
#
# To specify particular versions, regardless of the tag, do:
# { :barbat, "~> 0.1", github: "elixir-lang/barbat" }
defp deps do
[
{:phoenix, "0.4.1"},
{:cowboy, "~> 1.0.0"},
{ :uuid, "~> 0.1.5" }
]
end
end
defmodule Pew.Router do
use Phoenix.Router
use Phoenix.Router.Socket, mount: "/ws"
get "/", Pew.PageController, :index, as: :pages
channel "ship", App.Ship
end
defmodule Pew.Ship do
use Phoenix.Channel
def join(socket, x, message) do
{:ok, socket}
end
end
18:37:34.280 [error] Error in process <0.254.0> with exit value: {[{reason,undef},{mfa,{'Elixir.Phoenix.Socket.Handler',websocket_handle,3}},{stacktrace,[{'Elixir.App.Ship',join,[#{'__struct__'=>'Elixir.Phoenix.Socket',assigns=>#{},channel=><<4 bytes>>,channels=>[],conn=>{http_req,#Port<0.6300>,ranch_tcp,keepalive...
18:37:34.298 [error] Ranch listener Pew.Router.HTTP had connection process started with :cowboy_protocol:start_link/4 at #PID<0.254.0> exit with reason: {[reason: :undef, mfa: {Phoenix.Socket.Handler, :websocket_handle, 3}, stacktrace: [{App.Ship, :join, [%Phoenix.Socket{assigns: %{}, channel: "ship", channels: [], conn: {:http_req, #Port<0.6300>, :ranch_tcp, :keepalive, #PID<0.254.0>, "GET", :"HTTP/1.1", {{127, 0, 0, 1}, 58350}, "localhost", :undefined, 4000, "/ws", :undefined, "", :undefined, [], [{"upgrade", "websocket"}, {"connection", "Upgrade"}, {"host", "localhost:4000"}, {"origin", "http://localhost:4000"}, {"pragma", "no-cache"}, {"cache-control", "no-cache"}, {"sec-websocket-key", "IJDAwe8VbcVrF0wLL+H0yQ=="}, {"sec-websocket-version", "13"}, {"sec-websocket-extensions", "permessage-deflate; client_max_window_bits, x-webkit-deflate-frame"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"}, {"cookie", "nineit-dev=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--8ceb6cd4e07053960bce66e9fae715b7b26ca335; rack.session=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--abf051269d0893f5df1896c0022a7b34516dc402; _ga=GA1.1.878739095.1410411836; lang=en-us; app=1; _pew_key=g3QAAAABZAAQcGhvZW5peF9tZXNzYWdlc3QAAAAA--U4JSdJFvZNkoEUlnXuu1sz2xz+A="}], [{"sec-websocket-extensions", [{"permessage-deflate", ["client_max_window_bits"]}, {"x-webkit-deflate-frame", []}]}, {"upgrade", ["websocket"]}, {"connection", ["upgrade"]}], :undefined, [websocket_version: 13, websocket_compress: false], :waiting, "", :undefined, false, :waiting, [], "", :undefined}, pid: #PID<0.254.0>, router: Pew.Router, topic: "topic"}, "topic", %{}], []}, {Phoenix.Socket.Handler, :dispatch, 3, [file: 'lib/phoenix/socket/handler.ex', line: 81]}, {:cowboy_websocket, :handler_call, 7, [file: 'src/cowboy_websocket.erl', line: 588]}, {:cowboy_protocol, :execute, 4, [file: 'src/cowboy_protocol.erl', line: 435]}], msg: {:text, "{\"channel\":\"ship\",\"topic\":\"topic\",\"event\":\"join\",\"message\":{}}"}, req: [socket: #Port<0.6300>, transport: :ranch_tcp, connection: :keepalive, pid: #PID<0.254.0>, method: "GET", version: :"HTTP/1.1", peer: {{127, 0, 0, 1}, 58350}, host: "localhost", host_info: :undefined, port: 4000, path: "/ws", path_info: :undefined, qs: "", qs_vals: :undefined, bindings: [], headers: [{"upgrade", "websocket"}, {"connection", "Upgrade"}, {"host", "localhost:4000"}, {"origin", "http://localhost:4000"}, {"pragma", "no-cache"}, {"cache-control", "no-cache"}, {"sec-websocket-key", "IJDAwe8VbcVrF0wLL+H0yQ=="}, {"sec-websocket-version", "13"}, {"sec-websocket-extensions", "permessage-deflate; client_max_window_bits, x-webkit-deflate-frame"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"}, {"cookie", "nineit-dev=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--8ceb6cd4e07053960bce66e9fae715b7b26ca335; rack.session=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--abf051269d0893f5df1896c0022a7b34516dc402; _ga=GA1.1.878739095.1410411836; lang=en-us; app=1; _pew_key=g3QAAAABZAAQcGhvZW5peF9tZXNzYWdlc3QAAAAA--U4JSdJFvZNkoEUlnXuu1sz2xz+A="}], p_headers: [{"sec-websocket-extensions", [{"permessage-deflate", ["client_max_window_bits"]}, {"x-webkit-deflate-frame", []}]}, {"upgrade", ["websocket"]}, {"connection", ["upgrade"]}], cookies: :undefined, meta: [websocket_version: 13, websocket_compress: false], body_state: :waiting, buffer: "", multipart: :undefined, resp_compress: false, resp_state: :done, resp_headers: [], resp_body: "", onresponse: :undefined], state: %Phoenix.Socket{assigns: %{}, channel: nil, channels: [], conn: {:http_req, #Port<0.6300>, :ranch_tcp, :keepalive, #PID<0.254.0>, "GET", :"HTTP/1.1", {{127, 0, 0, 1}, 58350}, "localhost", :undefined, 4000, "/ws", :undefined, "", :undefined, [], [{"upgrade", "websocket"}, {"connection", "Upgrade"}, {"host", "localhost:4000"}, {"origin", "http://localhost:4000"}, {"pragma", "no-cache"}, {"cache-control", "no-cache"}, {"sec-websocket-key", "IJDAwe8VbcVrF0wLL+H0yQ=="}, {"sec-websocket-version", "13"}, {"sec-websocket-extensions", "permessage-deflate; client_max_window_bits, x-webkit-deflate-frame"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"}, {"cookie", "nineit-dev=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--8ceb6cd4e07053960bce66e9fae715b7b26ca335; rack.session=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiRTQxNWNkODFjMDFkYzMyZjhkM2Nm%0AOTM4OTM2NWVkYjFmNDQyMzY3MDViOTZmNTYyYTM1NjUyNDM0ZDI5NmI5YzEG%0AOwBG%0A--abf051269d0893f5df1896c0022a7b34516dc402; _ga=GA1.1.878739095.1410411836; lang=en-us; app=1; _pew_key=g3QAAAABZAAQcGhvZW5peF9tZXNzYWdlc3QAAAAA--U4JSdJFvZNkoEUlnXuu1sz2xz+A="}], [{"sec-websocket-extensions", [{"permessage-deflate", ["client_max_window_bits"]}, {"x-webkit-deflate-frame", []}]}, {"upgrade", ["websocket"]}, {"connection", ["upgrade"]}], :undefined, [websocket_version: 13, websocket_compress: false], :waiting, "", :undefined, false, :waiting, [], "", :undefined}, pid: #PID<0.254.0>, router: Pew.Router, topic: nil}], [{:cowboy_protocol, :execute, 4, [file: 'src/cowboy_protocol.erl', line: 435]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment