Hi,
I'm trying to use it on Windows with socket.io 1.2. Crashes within seconds and all the time.
Am I using wrong versions or something?
My Go side is example from the read.me and client side is from here: http://socket.io/get-started/chat/
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x30 pc=0x565638]
goroutine 33 [running]:
runtime.panic(0x6bfd00, 0x88cfe2)
c:/go/src/pkg/runtime/panic.c:279 +0x11f
github.com/googollee/go-engine%2eio.(_conn).NextWriter(0xc0820242a0, 0x0, 0x0, 0
x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:129 +0xc8
github.com/googollee/go-socket%2eio.(_encoder).encodePacket(0xc08208aa00, 0x2, 0
x0, 0x0, 0xffffffffffffffff, 0x626e20, 0xc08208a9c0, 0x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/parser.go:93 +0x84
github.com/googollee/go-socket%2eio.(_encoder).Encode(0xc08208aa00, 0x2, 0x0, 0x
0, 0xffffffffffffffff, 0x626e20, 0xc08208a9c0, 0x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/parser.go:81 +0xd7
github.com/googollee/go-socket%2eio.(_socket).send(0xc082040a50, 0xc08208a980, 0
x2, 0x2, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/socket.go:78 +0x176
github.com/googollee/go-socket%2eio.(_socketHandler).Emit(0xc082009120, 0x70dc70
, 0xc, 0xc08208a980, 0x2, 0x2, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/handler.go:77 +0x45
d
github.com/googollee/go-socket%2eio.(_socket).Emit(0xc082040a50, 0x70dc70, 0xc,
0xc082086b70, 0x1, 0x1, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/socket.go:61 +0x89
github.com/googollee/go-socket%2eio.broadcast.Send(0xc082040450, 0x361d98, 0xc08
2040f90, 0xc082086aa7, 0x5, 0x70dc70, 0xc, 0xc082086b70, 0x1, 0x1, ...)
c:/go/packages/src/github.com/googollee/go-socket.io/adapter.go:54 +0x22
9
github.com/googollee/go-socket%2eio.(_socketHandler).BroadcastTo(0xc08208a3e0, 0
x6fc770, 0x4, 0x70dc70, 0xc, 0xc082086b70, 0x1, 0x1, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/handler.go:116 +0x1
4a
main.func┬╖001(0xc082086aa0, 0x5)
C:/Users/Rytis/Desktop/io/main.go:19 +0x300
reflect.Value.call(0x63b880, 0xc082086590, 0x0, 0x130, 0x6f6570, 0x4, 0xc08208a8
a0, 0x1, 0x1, 0x0, ...)
c:/go/src/pkg/reflect/value.go:563 +0x1217
reflect.Value.Call(0x63b880, 0xc082086590, 0x0, 0x130, 0xc08208a8a0, 0x1, 0x1, 0
x0, 0x0, 0x0)
c:/go/src/pkg/reflect/value.go:411 +0xde
github.com/googollee/go-socket%2eio.(_caller).Call(0xc082096380, 0x361d98, 0xc08
2040f90, 0xc082086a70, 0x1, 0x1, 0x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/caller.go:71 +0x3bb
github.com/googollee/go-socket%2eio.(_socketHandler).onPacket(0xc08208a3e0, 0xc0
82096440, 0xc0820964c0, 0x0, 0x0, 0x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/handler.go:149 +0x2
a9
github.com/googollee/go-socket%2eio.(_socket).loop(0xc082040f90, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/socket.go:125 +0x30
d
github.com/googollee/go-socket%2eio.func┬╖003(0xc082040f90)
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:74 +0x2e
created by github.com/googollee/go-socket%2eio.(*Server).loop
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:75 +0x10c
goroutine 16 [IO wait]:
net.runtime_pollWait(0x361700, 0x72, 0x0)
c:/go/src/pkg/runtime/netpoll.goc:146 +0x6d
net.(_pollDesc).Wait(0xc08205c170, 0x72, 0x0, 0x0)
c:/go/src/pkg/net/fd_poll_runtime.go:84 +0x4d
net.(_ioSrv).ExecIO(0xc082028020, 0xc08205c060, 0x7055b0, 0x8, 0xc0820865e0, 0xc
08205c780, 0x0, 0x0)
c:/go/src/pkg/net/fd_windows.go:188 +0x242
net.(_netFD).acceptOne(0xc08205c000, 0x78ac80, 0xc08200e380, 0x2, 0x2, 0xc08205c
060, 0xc082016ea0, 0x0, 0x0)
c:/go/src/pkg/net/fd_windows.go:546 +0x3c7
net.(_netFD).accept(0xc08205c000, 0x78ac80, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/fd_windows.go:573 +0x187
net.(_TCPListener).AcceptTCP(0xc082028030, 0x448cda, 0x0, 0x0)
c:/go/src/pkg/net/tcpsock_posix.go:234 +0x64
net/http.tcpKeepAliveListener.Accept(0xc082028030, 0x0, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:1947 +0x52
net/http.(_Server).Serve(0xc0820103c0, 0x3617b0, 0xc082028030, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:1698 +0x98
net/http.(*Server).ListenAndServe(0xc0820103c0, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:1688 +0x154
net/http.ListenAndServe(0x6f5630, 0x5, 0x0, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:1778 +0x80
main.main()
C:/Users/Rytis/Desktop/io/main.go:32 +0x3b9
goroutine 19 [finalizer wait]:
runtime.park(0x415a30, 0x891c38, 0x88fda9)
c:/go/src/pkg/runtime/proc.c:1369 +0xac
runtime.parkunlock(0x891c38, 0x88fda9)
c:/go/src/pkg/runtime/proc.c:1385 +0x42
runfinq()
c:/go/src/pkg/runtime/mgc0.c:2644 +0xdd
runtime.goexit()
c:/go/src/pkg/runtime/proc.c:1445
goroutine 20 [chan receive]:
github.com/googollee/go-socket%2eio.(*Server).loop(0xc082008ac0)
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:68 +0x85
created by github.com/googollee/go-socket%2eio.NewServer
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:26 +0x176
goroutine 21 [IO wait]:
net.runtime_pollWait(0x361650, 0x72, 0x0)
c:/go/src/pkg/runtime/netpoll.goc:146 +0x6d
net.(_pollDesc).Wait(0xc08205c2f0, 0x72, 0x0, 0x0)
c:/go/src/pkg/net/fd_poll_runtime.go:84 +0x4d
net.(_ioSrv).ExecIO(0xc082028020, 0xc08205c1e0, 0x6fb050, 0x7, 0x78ac10, 0x0, 0x
0, 0x0)
c:/go/src/pkg/net/fd_windows.go:188 +0x242
net.(_netFD).Read(0xc08205c180, 0xc08205e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/fd_windows.go:458 +0x156
net.(_conn).Read(0xc082028038, 0xc08205e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/net.go:122 +0xee
net/http.(_liveSwitchReader).Read(0xc08204c228, 0xc08205e000, 0x1000, 0x1000, 0x
c08208a800, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:206 +0xb6
io.(_LimitedReader).Read(0xc082008d40, 0xc08205e000, 0x1000, 0x1000, 0x569c49, 0
x0, 0x0)
c:/go/src/pkg/io/io.go:399 +0xd7
bufio.(_Reader).fill(0xc082010480)
c:/go/src/pkg/bufio/bufio.go:97 +0x1ba
bufio.(_Reader).ReadSlice(0xc082010480, 0xc08205c20a, 0x0, 0x0, 0x0, 0x0, 0x0)
c:/go/src/pkg/bufio/bufio.go:298 +0x233
bufio.(_Reader).ReadLine(0xc082010480, 0x0, 0x0, 0x0, 0x423800, 0x0, 0x0)
c:/go/src/pkg/bufio/bufio.go:326 +0x70
net/textproto.(_Reader).readLineSlice(0xc082040690, 0x0, 0x0, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/textproto/reader.go:55 +0xa4
net/textproto.(_Reader).ReadLine(0xc082040690, 0x0, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/textproto/reader.go:36 +0x55
net/http.ReadRequest(0xc082010480, 0xc082023110, 0x0, 0x0)
c:/go/src/pkg/net/http/request.go:556 +0xce
net/http.(_conn).readRequest(0xc08204c200, 0x0, 0x0, 0x0)
c:/go/src/pkg/net/http/server.go:577 +0x27d
net/http.(_conn).serve(0xc08204c200)
c:/go/src/pkg/net/http/server.go:1132 +0x625
created by net/http.(_Server).Serve
c:/go/src/pkg/net/http/server.go:1721 +0x31a
goroutine 31 [select]:
github.com/googollee/go-engine%2eio.(*conn).pingLoop(0xc082024770)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:254 +0x1a2
created by github.com/googollee/go-engine%2eio.newConn
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:85 +0x156
goroutine 25 [chan receive]:
github.com/googollee/go-engine%2eio.(_conn).NextReader(0xc0820242a0, 0x0, 0x0, 0
x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:119 +0x72
github.com/googollee/go-socket%2eio.(_decoder).Decode(0xc0820962c0, 0xc082096300
, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/parser.go:160 +0x76
github.com/googollee/go-socket%2eio.(_socket).loop(0xc082040a50, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/socket.go:122 +0x2a
7
github.com/googollee/go-socket%2eio.func┬╖003(0xc082040a50)
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:74 +0x2e
created by github.com/googollee/go-socket%2eio.(_Server).loop
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:75 +0x10c
goroutine 29 [chan receive]:
github.com/googollee/go-engine%2eio.(_conn).NextReader(0xc082025260, 0x892528, 0
x0, 0x0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:119 +0x72
github.com/googollee/go-socket%2eio.(_decoder).Decode(0xc082096600, 0xc082096640
, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/parser.go:160 +0x76
github.com/googollee/go-socket%2eio.(_socket).loop(0xc082040de0, 0x0, 0x0)
c:/go/packages/src/github.com/googollee/go-socket.io/socket.go:122 +0x2a
7
github.com/googollee/go-socket%2eio.func┬╖003(0xc082040de0)
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:74 +0x2e
created by github.com/googollee/go-socket%2eio.(_Server).loop
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:75 +0x10c
goroutine 34 [runnable]:
github.com/googollee/go-engine%2eio.(*conn).onPacket(0xc082024770, 0xc082096880)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:238 +0x241
github.com/googollee/go-engine%2eio.(_websocket).ServeHTTP(0xc082096780, 0x36194
0, 0xc08203c6e0, 0xc082022ea0)
c:/go/packages/src/github.com/googollee/go-engine.io/websocket.go:79 +0x
1d6
github.com/googollee/go-engine%2eio.(_conn).serveHTTP(0xc082024770, 0x361940, 0x
c08203c6e0, 0xc082022ea0)
c:/go/packages/src/github.com/googollee/go-engine.io/conn.go:182 +0x1df
github.com/googollee/go-engine%2eio.(_Server).ServeHTTP(0xc08200c690, 0x361940,
0xc08203c6e0, 0xc082022ea0)
c:/go/packages/src/github.com/googollee/go-engine.io/server.go:128 +0x8f
1
github.com/googollee/go-socket%2eio.(_Server).ServeHTTP(0xc082008ac0, 0x361940,
0xc08203c6e0, 0xc082022ea0)
c:/go/packages/src/github.com/googollee/go-socket.io/server.go:63 +0x9d
net/http.(_ServeMux).ServeHTTP(0xc082040030, 0x361940, 0xc08203c6e0, 0xc082022ea
0)
c:/go/src/pkg/net/http/server.go:1511 +0x1aa
net/http.serverHandler.ServeHTTP(0xc0820103c0, 0x361940, 0xc08203c6e0, 0xc082022
ea0)
c:/go/src/pkg/net/http/server.go:1673 +0x1a6
net/http.(_conn).serve(0xc08204c580)
c:/go/src/pkg/net/http/server.go:1174 +0xa85
created by net/http.(*Server).Serve
c:/go/src/pkg/net/http/server.go:1721 +0x31a