Giter Site home page Giter Site logo

centrifugal / centrifuge-mobile Goto Github PK

View Code? Open in Web Editor NEW
57.0 8.0 14.0 248.94 MB

iOS and Android clients for Centrifugo and Centrifuge library using gomobile on top of centrifuge-go

License: MIT License

Go 97.45% Makefile 0.50% Shell 2.05%
go android ios gomobile

centrifuge-mobile's Introduction

This repo allows to generate Centrifuge/Centrifugo client libraries for iOS and Android app development using gomobile tool.

Gomobile is experimental project with all the ensuing circumstances.

You can download libraries for iOS and Android from releases page. See examples to dive into.

Note that on iOS this library does not include bitcode (it's still optional on iOS but can become required at any moment).

See how to import generated library on iOS and on Android – in two words you need to import centrifuge.aar (Android) or Centrifuge.framework (iOS).

API documentation on Godoc – this can be useful as iOS and Android code generated from Go code so you can rely on that docs when hacking with library.

For contributors

To build mobile libraries from Go source code using gomobile:

go get -u golang.org/x/mobile/cmd/gomobile
gomobile init
gomobile bind -target=ios github.com/centrifugal/centrifuge-mobile
gomobile bind -target=android github.com/centrifugal/centrifuge-mobile

Release

go get -u golang.org/x/mobile/cmd/gomobile
gomobile init
export ANDROID_NDK_HOME=/path/to/android-ndk-rXX
make release

centrifuge-mobile's People

Contributors

fzambia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

centrifuge-mobile's Issues

app crashes

Let me know if you need any additinal information.

fatal error: concurrent map iteration and map write

goroutine 7909 [running]:
runtime.throw(0x100c59969, 0x26)
	/Users/fz/go1.9/src/runtime/panic.go:605 +0x70 fp=0x10bb1dca0 sp=0x10bb1dc80 pc=0x100883e08
runtime.mapiternext(0x10bb1dd50)
	/Users/fz/go1.9/src/runtime/hashmap.go:778 +0x664 fp=0x10bb1dd30 sp=0x10bb1dca0 pc=0x1008662ac
github.com/centrifugal/centrifuge-mobile.(*Client).resubscribe(0x10bb060f0, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:689 +0x5c fp=0x10bb1ddb0 sp=0x10bb1dd30 pc=0x100a0fe94
github.com/centrifugal/centrifuge-mobile.(*Client).doReconnect(0x10bb060f0, 0xb9d2a57, 0x10bbf1b60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:420 +0x38 fp=0x10bb1dde0 sp=0x10bb1ddb0 pc=0x100a0e870
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bdea660, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:401 +0xa8 fp=0x10bb1de30 sp=0x10bb1dde0 pc=0x100a0e7e0
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bdbd500)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0 fp=0x10bb1df60 sp=0x10bb1de30 pc=0x100a0e5e8
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10c8fbf20, 0x10c671bc0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8 fp=0x10bb1dfb0 sp=0x10bb1df60 pc=0x100a0eb60
runtime.goexit()
	/Users/fz/go1.9/src/runtime/asm_arm64.s:931 +0x4 fp=0x10bb1dfb0 sp=0x10bb1dfb0 pc=0x1008ac66c
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 17 [runnable, locked to thread]:
runtime.goexit()
	/Users/fz/go1.9/src/runtime/asm_arm64.s:931 +0x4

goroutine 5 [syscall, 4 minutes]:
os/signal.signal_recv(0x0)
	/Users/fz/go1.9/src/runtime/sigqueue.go:131 +0xc8
os/signal.loop()
	/Users/fz/go1.9/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.0
	/Users/fz/go1.9/src/os/signal/signal_unix.go:28 +0x30

goroutine 6 [select, 4 minutes, locked to thread]:
runtime.gopark(0x100cabd58, 0x0, 0x100c50728, 0x6, 0x18, 0x1)
	/Users/fz/go1.9/src/runtime/proc.go:287 +0xe8
runtime.selectgo(0x10ba2c750, 0x10ba14360)
	/Users/fz/go1.9/src/runtime/select.go:395 +0xcd4
runtime.ensureSigM.func1()
	/Users/fz/go1.9/src/runtime/signal_unix.go:511 +0x1c0
runtime.goexit()
	/Users/fz/go1.9/src/runtime/asm_arm64.s:931 +0x4

goroutine 18 [runnable, locked to thread]:
golang.org/x/mobile/bind/seq.ToRefNum(0x100c41040, 0x10c523710, 0x1b)
	/Users/fz/go/src/golang.org/x/mobile/bind/seq/ref.go:55 +0x318
_/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-650830266/src/gomobile_bind.proxycentrifuge_Client_SubscribeAsync(0x1ffffffe5, 0x1c08222a0, 0x1b, 0x1ffff8ec8, 0x0)
	/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-650830266/src/gomobile_bind/go_centrifugemain.go:90 +0xd0
_/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-650830266/src/gomobile_bind._cgoexpwrap_39fa1fe7b5f5_proxycentrifuge_Client_SubscribeAsync(0xffff8ec8ffffffe5, 0x1c08222a0, 0x1b, 0x1ffff8ec8, 0x100bd2958)
	_/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-650830266/src/gomobile_bind/_obj/_cgo_gotypes.go:375 +0x38

goroutine 2303 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7cc60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7946 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc7d8f0, 0x10c617140)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5296 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4508, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc918, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc918, 0x10bc60400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc900, 0x10bc60400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc900, 0x10bc60400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb229c8, 0x10bc60400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005740, 0x1035a1080, 0x10bb229c8, 0x5, 0x10bb229c8, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1eca80, 0x100cabe17, 0x10c1ecba0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1eca80, 0x10c5dd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c4f7860)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c4f7860, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63cc0, 0x2, 0x0, 0x0, 0x10bc6ae4c, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63cc0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63cc0, 0x0, 0x0, 0x10bdab164, 0x7, 0x10bb6ad20)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63cc0, 0x0, 0x10bdab164, 0x7, 0x10bb6ad20, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdefc70, 0x10c3e9200, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdefc70, 0x10c616f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1179 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c003380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2127 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0240, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e218, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e218, 0x10bb34000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e200, 0x10bb34000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e200, 0x10bb34000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22048, 0x10bb34000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0647e0, 0x1035a1080, 0x10bb22048, 0x5, 0x10bb22048, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10beb6700, 0x100cabe17, 0x10beb6820, 0x10bae8aa8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10beb6700, 0x10be48000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10be91800)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10be91800, 0x2, 0x10be23040, 0x1f, 0x10c423bd8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10baa0280, 0x2, 0x0, 0x7c, 0x80, 0x10cb7a190, 0x10be76d80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10baa0280, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10baa0280, 0x0, 0x0, 0x10bd1e488, 0x4, 0x10c7fb600)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10baa0280, 0x100a0eae4, 0x10ba14420, 0x10bb6ff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc31b80, 0x10cb61200, 0x95, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc31b80, 0x10bdf0240)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7395 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2f400, 0x10c7095c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 4958 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba15020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 1188 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 1619 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf1620)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7356 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd03cc0, 0x10c884d20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6259 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2e780, 0x10bdf03c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2121 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb92510, 0x10ba14600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7430 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10c8fa030, 0x10c616000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1581 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0b40, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e798, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e798, 0x10be86000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e780, 0x10be86000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e780, 0x10be86000, 0x2000, 0x2000, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22000, 0x10be86000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfa270, 0x1035a1080, 0x10bb22000, 0x5, 0x10bb22000, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01ae00, 0x100cabe17, 0x10c01af20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01ae00, 0x10be8a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8d920)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8d920, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62000, 0x2, 0x0, 0x0, 0x10bcf0470, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62000, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62000, 0x0, 0x0, 0x10bdf4250, 0x5, 0x10c632700)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62000, 0x100a0eae4, 0x10ba14420, 0x10bb3bf98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc1dc00, 0x10c41d200, 0x92, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc1dc00, 0x10bdf1620)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6247 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7d860)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3586 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd033d0, 0x10bdf02a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2129 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7c480)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 1592 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0900, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72118, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72118, 0x10be29000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72100, 0x10be29000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72100, 0x10be29000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22038, 0x10be29000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0643c0, 0x1035a1080, 0x10bb22038, 0x5, 0x10bb22038, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1f8a80, 0x100cabe17, 0x10c1f8ba0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1f8a80, 0x10c081000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8dc20)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8dc20, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62140, 0x2, 0x0, 0x0, 0x10bce460c, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62140, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62140, 0x0, 0x0, 0x10bc7be30, 0x7, 0x10bcb57a0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62140, 0x0, 0x10bc7be30, 0x7, 0x10bcb57a0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc680b0, 0x10be00c00, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc680b0, 0x10c002600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1175 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bcd4570, 0x10bdf09c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2501 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2f4e0, 0x10be7c720)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2474 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4c88, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73398, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73398, 0x10bc5a000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73380, 0x10bc5a000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73380, 0x10bc5a000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22090, 0x10bc5a000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004510, 0x1035a1080, 0x10bb22090, 0x5, 0x10bb22090, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c0e7c00, 0x100cabe17, 0x10c0e7d20, 0x10bb8a4a8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c0e7c00, 0x10c156000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c0496e0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c0496e0, 0x2, 0x10c455fc0, 0x1f, 0x10c424738, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a280, 0x2, 0x0, 0x7c, 0x80, 0x10c891950, 0x10c33e040)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a280, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a280, 0x0, 0x0, 0x10bc0f8f8, 0x4, 0x10c78ce80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a280, 0x100a0eae4, 0x10ba14420, 0x10c2eff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bbdc2d0, 0x10c534600, 0x95, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bbdc2d0, 0x10ba145a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2114 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0300, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e098, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e098, 0x10bcf8000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e080, 0x10bcf8000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e080, 0x10bcf8000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22040, 0x10bcf8000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd203f0, 0x1035a1080, 0x10bb22040, 0x5, 0x10bb22040, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10bcfa380, 0x100cabe17, 0x10bcfa4a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10bcfa380, 0x10bb77000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bfc66c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bfc66c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63040, 0x2, 0x0, 0x0, 0x10bdaa270, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63040, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63040, 0x0, 0x0, 0x10bce41e0, 0x7, 0x10bb6a690)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63040, 0x0, 0x10bce41e0, 0x7, 0x10bb6a690, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc68160, 0x10bba7200, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc68160, 0x10be7c480)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1154 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0e40, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a298, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a298, 0x10ba9a800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a280, 0x10ba9a800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a280, 0x10ba9a800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e0a0, 0x10ba9a800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10ba653b0, 0x1035a1080, 0x10ba0e0a0, 0x5, 0x10ba0e0a0, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01dc00, 0x100cabe17, 0x10c01dd20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01dc00, 0x10baa6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bdc7e60)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bdc7e60, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea0780, 0x2, 0x0, 0x0, 0x10bd38e64, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea0780, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea0780, 0x0, 0x0, 0x10bcf1ab3, 0x7, 0x10c031a40)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea0780, 0x0, 0x10bcf1ab3, 0x7, 0x10c031a40, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc48a30, 0x10bfcd800, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc48a30, 0x10c003380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2105 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc48dd0, 0x10ba146c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6325 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be1ad80, 0x10ba158c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5679 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c671740)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6380 [IO wait]:
internal/poll.runtime_pollWait(0x1352f4160, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a698, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a698, 0x10c390c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a680, 0x10c390c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a680, 0x10c390c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22380, 0x10c390c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005bf0, 0x1035a1080, 0x10bb22380, 0x5, 0x10bb22380, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1edc00, 0x100cabe17, 0x10c1edd20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1edc00, 0x10c46e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c4c7aa0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c4c7aa0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea1180, 0x2, 0x0, 0x0, 0x10bc7b2e4, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea1180, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea1180, 0x0, 0x0, 0x10bd39b90, 0x7, 0x10bb6b6c0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea1180, 0x0, 0x10bd39b90, 0x7, 0x10bb6b6c0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc1df40, 0x10c379800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc1df40, 0x10bdf0ea0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2120 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0a80, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07ee98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07ee98, 0x10c0a1c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07ee80, 0x10c0a1c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07ee80, 0x10c0a1c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb223a8, 0x10c0a1c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0642a0, 0x1035a1080, 0x10bb223a8, 0x5, 0x10bb223a8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c0e6380, 0x100cabe17, 0x10c0e64a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c0e6380, 0x10c0a3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c0332c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c0332c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be623c0, 0x2, 0x0, 0x0, 0x10bdf42e8, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be623c0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be623c0, 0x0, 0x0, 0x10bbc7e20, 0x7, 0x10bcb5500)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be623c0, 0x100a0eae4, 0x10ba14420, 0x10bfb4f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb92510, 0x10bba6600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb92510, 0x10ba14600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1155 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc48a30, 0x10c003380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2144 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0240)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 1116 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0f00, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a118, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a118, 0x10be81000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a100, 0x10be81000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a100, 0x10be81000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e058, 0x10be81000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065410, 0x1035a1080, 0x10ba0e058, 0x5, 0x10ba0e058, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10bafc700, 0x100cabe17, 0x10bafc820, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10bafc700, 0x10be8b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c028900)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c028900, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62500, 0x2, 0x0, 0x0, 0x10bd814f8, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62500, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62500, 0x0, 0x0, 0x10bc21fa0, 0x7, 0x10ba1db20)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62500, 0x100a0eae4, 0x10ba14420, 0x10ba38f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb93830, 0x10be00600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb93830, 0x10be7d260)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1090 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0fc0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73498, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73498, 0x10c01e800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73480, 0x10c01e800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73480, 0x10c01e800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e4f8, 0x10c01e800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0055c0, 0x1035a1080, 0x10ba0e4f8, 0x5, 0x10ba0e4f8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01c380, 0x100cabe17, 0x10c01c4a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01c380, 0x10bb09000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c072a20)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c072a20, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bd27cc0, 0x2, 0x0, 0x0, 0x10bdab58c, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bd27cc0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bd27cc0, 0x0, 0x0, 0x10bc963b0, 0x7, 0x10bcb4a80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bd27cc0, 0x100a0eae4, 0x10ba14420, 0x10ba39f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bbdd7f0, 0x10be4a600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bbdd7f0, 0x10be7c540)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2119 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb924f0, 0x10ba14540)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2115 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc68160, 0x10be7c480)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2564 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4988, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72998, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72998, 0x10c37fc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72980, 0x10c37fc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72980, 0x10c37fc00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22208, 0x10c37fc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd20210, 0x1035a1080, 0x10bb22208, 0x5, 0x10bb22208, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c39ee00, 0x100cabe17, 0x10c39ef20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c39ee00, 0x10c2d4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8d8c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8d8c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea1400, 0x2, 0x0, 0x0, 0x10bbf2c80, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea1400, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea1400, 0x0, 0x0, 0x10bdd4520, 0x7, 0x10c030b60)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea1400, 0x0, 0x10bdd4520, 0x7, 0x10c030b60, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc49370, 0x10be31200, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc49370, 0x10be7d3e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6381 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc1df40, 0x10bdf0ea0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7271 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd3b2b0, 0x10ba14120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2117 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb924d0, 0x10ba14480)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2517 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2e200, 0x10ba144e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1091 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bbdd7f0, 0x10be7c540)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6914 [IO wait]:
internal/poll.runtime_pollWait(0x1352f45e0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07fe18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07fe18, 0x10c2fbc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07fe00, 0x10c2fbc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07fe00, 0x10c2fbc00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb227b0, 0x10c2fbc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0049c0, 0x1035a1080, 0x10bb227b0, 0x5, 0x10bb227b0, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c310000, 0x100cabe17, 0x10c310120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c310000, 0x10c765000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c6ab4a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c6ab4a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c692000, 0x2, 0x0, 0x0, 0x10be32e00, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c692000, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c692000, 0x0, 0x0, 0x10c57b260, 0x9, 0x10c0037a0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c692000, 0x0, 0x10c57b260, 0x9, 0x10c0037a0, 0x5a, 0x60)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10ba10d80, 0x10c83b200, 0x85, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10ba10d80, 0x10c0029c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 3528 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd58680, 0x10be7da40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2480 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7c720)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6225 [IO wait]:
internal/poll.runtime_pollWait(0x1352f46a0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e498, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e498, 0x10c37d000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e480, 0x10c37d000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e480, 0x10c37d000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22330, 0x10c37d000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004630, 0x1035a1080, 0x10bb22330, 0x5, 0x10bb22330, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c515880, 0x100cabe17, 0x10c5159a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c515880, 0x10c4cc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c35a180)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c35a180, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32ac80, 0x2, 0x0, 0x0, 0x10bc4aedc, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32ac80, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32ac80, 0x0, 0x0, 0x10bd55bf4, 0x7, 0x10c494c40)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32ac80, 0x0, 0x10bd55bf4, 0x7, 0x10c494c40, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc30000, 0x10c41a000, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc30000, 0x10be7d860)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1176 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0c00, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a398, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a398, 0x10c01fc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a380, 0x10c01fc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a380, 0x10c01fc00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e0b0, 0x10c01fc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10ba65530, 0x1035a1080, 0x10ba0e0b0, 0x5, 0x10ba0e0b0, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01a380, 0x100cabe17, 0x10c01a4a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01a380, 0x10baa5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10ba5b620)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10ba5b620, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62dc0, 0x2, 0x0, 0x0, 0x10bd39bdc, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62dc0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62dc0, 0x0, 0x0, 0x10c987830, 0x5, 0x10ca27800)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62dc0, 0x100a0eae4, 0x10ba14420, 0x10bb71f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bcd4700, 0x10cacc600, 0x92, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bcd4700, 0x10bdf0ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5678 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdb51b0, 0x10bdf1200)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2104 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0840, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72198, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72198, 0x10be81400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72180, 0x10be81400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72180, 0x10be81400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e008, 0x10be81400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2e150, 0x1035a1080, 0x10ba0e008, 0x5, 0x10ba0e008, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1f8e00, 0x100cabe17, 0x10c1f8f20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1f8e00, 0x10baa4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bce0fc0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bce0fc0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea0280, 0x2, 0x0, 0x0, 0x10bd07a10, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea0280, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea0280, 0x0, 0x0, 0x10bbc60a8, 0x5, 0x10ba92180)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea0280, 0x100a0eae4, 0x10ba14420, 0x10c243f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc48dd0, 0x10be4ac00, 0x96, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc48dd0, 0x10ba146c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 3082 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4b08, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73318, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73318, 0x10c4e1000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73300, 0x10c4e1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73300, 0x10c4e1000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22250, 0x10c4e1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd21170, 0x1035a1080, 0x10bb22250, 0x5, 0x10bb22250, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1ed180, 0x100cabe17, 0x10c1ed2a0, 0x10bbfb228)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1ed180, 0x10c0a2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c113680)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c113680, 0x2, 0x10c73cb00, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a8c0, 0x2, 0x0, 0x78, 0x80, 0x10bd6eb90, 0x10c7da140)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a8c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a8c0, 0x0, 0x0, 0x10c575678, 0x4, 0x10c174e00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a8c0, 0x100a0eae4, 0x10ba14420, 0x10c241f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc48a00, 0x10c75e000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc48a00, 0x10c002180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7270 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3da0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0ab98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0ab98, 0x10c72d800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0ab80, 0x10c72d800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0ab80, 0x10c72d800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e688, 0x10c72d800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad6e0, 0x1035a1080, 0x10ba0e688, 0x5, 0x10ba0e688, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c59c000, 0x100cabe17, 0x10c59c120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c59c000, 0x10c66d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c050f60)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c050f60, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32aa00, 0x2, 0x0, 0x0, 0x10c801b94, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32aa00, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32aa00, 0x0, 0x0, 0x10bdaae84, 0x7, 0x10bb6bea0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32aa00, 0x0, 0x10bdaae84, 0x7, 0x10bb6bea0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd3b2b0, 0x10c667800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd3b2b0, 0x10ba14120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1177 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bcd4700, 0x10bdf0ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1178 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf09c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3139 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10ba11710, 0x10ba15380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1121 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc7c780, 0x10be7dce0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2567 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc493b0, 0x10be7d4a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1120 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0cc0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72418, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72418, 0x10c36c000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72400, 0x10c36c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72400, 0x10c36c000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22058, 0x10c36c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005920, 0x1035a1080, 0x10bb22058, 0x5, 0x10bb22058, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10be10000, 0x100cabe17, 0x10be10120, 0x10bc12028)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10be10000, 0x10be59000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c0299e0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c0299e0, 0x2, 0x10c68c8e0, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62a00, 0x2, 0x0, 0x78, 0x80, 0x10cb50550, 0x10c69c800)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62a00, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62a00, 0x0, 0x0, 0x10be45c80, 0x4, 0x10c7fa180)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62a00, 0x100a0eae4, 0x10ba14420, 0x10bb3df98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc7c780, 0x10c879800, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc7c780, 0x10be7dce0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6883 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be38d80, 0x10c6168a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1985 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3529 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7da40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2237 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0480, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72318, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72318, 0x10be81c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72300, 0x10be81c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72300, 0x10be81c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e080, 0x10be81c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad470, 0x1035a1080, 0x10ba0e080, 0x5, 0x10ba0e080, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c05dc00, 0x100cabe17, 0x10c05dd20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c05dc00, 0x10be35000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd47200)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd47200, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63540, 0x2, 0x0, 0x0, 0x10bdabe90, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63540, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63540, 0x0, 0x0, 0x10bd55aa0, 0x7, 0x10c0315e0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63540, 0x0, 0x10bd55aa0, 0x7, 0x10c0315e0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc68370, 0x10c31e000, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc68370, 0x10be7cc60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7850 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 4486 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4bc8, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc418, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc418, 0x10c32c800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc400, 0x10c32c800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc400, 0x10c32c800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22b58, 0x10c32c800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c3fbce0, 0x1035a1080, 0x10bb22b58, 0x5, 0x10bb22b58, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c324380, 0x100cabe17, 0x10c3244a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c324380, 0x10c31b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c5406c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c5406c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be628c0, 0x2, 0x0, 0x0, 0x10bce5500, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be628c0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be628c0, 0x0, 0x0, 0x10bbc6674, 0x7, 0x10c030310)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be628c0, 0x0, 0x10bbc6674, 0x7, 0x10c030310, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc481c0, 0x10be4ac00, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc481c0, 0x10be7c060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6377 [sleep]:
time.Sleep(0x10b9a807a)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bc85fe0, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bc85fc0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be03b20, 0x10ba15c20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2525 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdb5dc0, 0x10c002b40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1174 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0d80, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72598, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72598, 0x10bb5e000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72580, 0x10bb5e000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72580, 0x10bb5e000, 0x2000, 0x2000, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e0a8, 0x10bb5e000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005b90, 0x1035a1080, 0x10ba0e0a8, 0x5, 0x10ba0e0a8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01a000, 0x100cabe17, 0x10c01a120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01a000, 0x10bb81000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10ba5a8a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10ba5a8a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62c80, 0x2, 0x0, 0x0, 0x10bd38e60, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62c80, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62c80, 0x10bd93ba0, 0x11, 0x10bd06960, 0x7, 0x10be84db0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62c80, 0x11, 0x10bd06960, 0x7, 0x10be84db0, 0x2c, 0x30)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bcd4570, 0x10bb76600, 0x7f, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bcd4570, 0x10bdf09c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6913 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10ba10d60, 0x10c002900)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1153 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7dce0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3604 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd03450, 0x10bdf0360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1589 [IO wait]:
internal/poll.runtime_pollWait(0x1035a09c0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07ea98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07ea98, 0x10c01f000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07ea80, 0x10c01f000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07ea80, 0x10c01f000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22008, 0x10c01f000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0641b0, 0x1035a1080, 0x10bb22008, 0x5, 0x10bb22008, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c01b180, 0x100cabe17, 0x10c01b2a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c01b180, 0x10bb80000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c08bc80)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c08bc80, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea0640, 0x2, 0x0, 0x0, 0x10bce4078, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea0640, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea0640, 0x0, 0x0, 0x10bc4af40, 0x7, 0x10bb6a9a0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea0640, 0x0, 0x10bc4af40, 0x7, 0x10bb6a9a0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc31f80, 0x10be4a600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc31f80, 0x10c0024e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1117 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb93830, 0x10be7d260)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2118 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0780, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0aa98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0aa98, 0x10c0a1400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0aa80, 0x10c0a1400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0aa80, 0x10c0a1400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb223a0, 0x10c0a1400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0641e0, 0x1035a1080, 0x10bb223a0, 0x5, 0x10bb223a0, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c0e6000, 0x100cabe17, 0x10c0e6120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c0e6000, 0x10baa7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c0330e0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c0330e0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62280, 0x2, 0x0, 0x0, 0x10be05170, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62280, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62280, 0x0, 0x0, 0x10bbc7d70, 0x7, 0x10bcb5490)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62280, 0x100a0eae4, 0x10ba14420, 0x10bfb6f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb924f0, 0x10bba6000, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb924f0, 0x10ba14540)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2516 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0180, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07f218, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07f218, 0x10c37c400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07f200, 0x10c37c400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07f200, 0x10c37c400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22260, 0x10c37c400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065950, 0x1035a1080, 0x10bb22260, 0x5, 0x10bb22260, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c324a80, 0x100cabe17, 0x10c324ba0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c324a80, 0x10c2f7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c032f00)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c032f00, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62640, 0x2, 0x0, 0x0, 0x10bbad0b0, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62640, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62640, 0x0, 0x0, 0x10ba1a884, 0x7, 0x10bcb4460)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62640, 0x100a0eae4, 0x10ba14420, 0x10c09af98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2e200, 0x10bbe0000, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2e200, 0x10ba144e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2505 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4d48, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72898, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72898, 0x10c37cc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72880, 0x10c37cc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72880, 0x10c37cc00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22270, 0x10c37cc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065a10, 0x1035a1080, 0x10bb22270, 0x5, 0x10bb22270, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c324e00, 0x100cabe17, 0x10c324f20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c324e00, 0x10bfd0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c033260)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c033260, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62780, 0x2, 0x0, 0x0, 0x10bb90014, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62780, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62780, 0x0, 0x0, 0x10bc36614, 0x7, 0x10bebc310)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62780, 0x100a0eae4, 0x10ba14420, 0x10c09ff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bbae310, 0x10bba6000, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bbae310, 0x10bdf0000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1983 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0600, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72c18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72c18, 0x10bb14000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72c00, 0x10bb14000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72c00, 0x10bb14000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e1b0, 0x10bb14000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2fe00, 0x1035a1080, 0x10ba0e1b0, 0x5, 0x10ba0e1b0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10bcfaa80, 0x100cabe17, 0x10bcfaba0, 0x10bc13ca8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10bcfaa80, 0x10c080000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8cf00)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8cf00, 0x2, 0x10c68df60, 0x12, 0x10c4284f8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bd27e00, 0x2, 0x0, 0x6f, 0x70, 0x10c5feaa0, 0x10beba980)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bd27e00, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bd27e00, 0x0, 0x0, 0x10bc6aeb8, 0x4, 0x10c495570)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bd27e00, 0x100a0eae4, 0x10ba14420, 0x10bb39f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bbdc010, 0x10c012000, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bbdc010, 0x10c002000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5677 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4388, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72518, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72518, 0x10c36f000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72500, 0x10c36f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72500, 0x10c36f000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb228e8, 0x10c36f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065710, 0x1035a1080, 0x10bb228e8, 0x5, 0x10bb228e8, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c318a80, 0x100cabe17, 0x10c318ba0, 0x10bc13e28)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c318a80, 0x10c36d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bfe1260)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bfe1260, 0x2, 0x10bcbd320, 0x12, 0x10cb16b58, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32b040, 0x2, 0x0, 0x6f, 0x70, 0x10c8093b0, 0x10ba59dc0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32b040, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32b040, 0x0, 0x0, 0x10bcf0f88, 0x4, 0x10bebc1c0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32b040, 0x100a0eae4, 0x10ba14420, 0x10c4edf98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdb51b0, 0x10c784600, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdb51b0, 0x10bdf1200)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2007 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2396 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7cde0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6916 [IO wait]:
internal/poll.runtime_pollWait(0x1352f4220, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0bd18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0bd18, 0x10c72cc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0bd00, 0x10c72cc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0bd00, 0x10c72cc00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb227b8, 0x10c72cc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004a80, 0x1035a1080, 0x10bb227b8, 0x5, 0x10bb227b8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c311180, 0x100cabe17, 0x10c3112a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c311180, 0x10c734000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c6ac5a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c6ac5a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea0a00, 0x2, 0x0, 0x0, 0x10be1867c, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea0a00, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea0a00, 0x0, 0x0, 0x10c57b410, 0x9, 0x10c003860)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea0a00, 0x0, 0x10c57b410, 0x9, 0x10c003860, 0x5a, 0x60)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10ba10eb0, 0x10c776000, 0x85, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10ba10eb0, 0x10c002ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1591 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c0024e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 1620 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2524 [IO wait]:
internal/poll.runtime_pollWait(0x1352d48c8, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72d98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72d98, 0x10c464000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72d80, 0x10c464000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72d80, 0x10c464000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22218, 0x10c464000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd21440, 0x1035a1080, 0x10bb22218, 0x5, 0x10bb22218, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c39f500, 0x100cabe17, 0x10c39f620, 0x10bd53228)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c39f500, 0x10c2d8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8dbc0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8dbc0, 0x2, 0x10c3b73a0, 0x12, 0x10c42a728, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea1680, 0x2, 0x0, 0x6f, 0x70, 0x10c824af0, 0x10bb40480)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea1680, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea1680, 0x0, 0x0, 0x10bd68bb8, 0x4, 0x10bcb5340)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea1680, 0x100a0eae4, 0x10ba14420, 0x10c245f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdb5dc0, 0x10c8f4000, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdb5dc0, 0x10c002b40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 1984 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bbdc010, 0x10c002000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2500 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4ec8, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e198, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e198, 0x10c32d400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e180, 0x10c32d400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e180, 0x10c32d400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e178, 0x10c32d400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2e3f0, 0x1035a1080, 0x10ba0e178, 0x5, 0x10ba0e178, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10beb7880, 0x100cabe17, 0x10beb79a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10beb7880, 0x10c31a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10be918c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10be918c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a780, 0x2, 0x0, 0x0, 0x10bcf0d98, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a780, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a780, 0x0, 0x0, 0x10ba1aed4, 0x7, 0x10bebd650)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a780, 0x0, 0x10ba1aed4, 0x7, 0x10bebd650, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2f4e0, 0x10c36d800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2f4e0, 0x10be7c720)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 3964 [sleep]:
time.Sleep(0x2540be400)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bc90ac0, 0x4)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10c0bbf78)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).disconnect(0x10bb060f0, 0x100ddf001, 0x10bcd4c40, 0x1008ac670)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:702 +0x6c
github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync.func1(0x10c1a1c20, 0x10bb060f0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:854 +0x44
created by github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:851 +0x138

goroutine 1590 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc31f80, 0x10c0024e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5828 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf18c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2128 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc31b80, 0x10bdf0240)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1593 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc680b0, 0x10c002600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2304 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7cd20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2506 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bbae310, 0x10bdf0000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5336 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c617020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 4933 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bca1c50, 0x10ba15020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7288 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0a20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6467 [IO wait]:
internal/poll.runtime_pollWait(0x1352f4460, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72b18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72b18, 0x10c4da000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72b00, 0x10c4da000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72b00, 0x10c4da000, 0x2000, 0x2000, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e9f0, 0x10c4da000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c064d80, 0x1035a1080, 0x10ba0e9f0, 0x5, 0x10ba0e9f0, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c310a80, 0x100cabe17, 0x10c310ba0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c310a80, 0x10c30e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c5a0cc0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c5a0cc0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea12c0, 0x2, 0x0, 0x0, 0x10bce4230, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea12c0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea12c0, 0x10c5aeaa0, 0x11, 0x10bc7aba4, 0x7, 0x10c2aac30)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea12c0, 0x11, 0x10bc7aba4, 0x7, 0x10c2aac30, 0x2c, 0x30)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdef160, 0x10c6a2c00, 0x80, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdef160, 0x10c616120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2004 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc48210, 0x10bdf0180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7264 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3f20, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a798, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a798, 0x10c391800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a780, 0x10c391800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a780, 0x10c391800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e680, 0x10c391800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad560, 0x1035a1080, 0x10ba0e680, 0x5, 0x10ba0e680, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c311500, 0x100cabe17, 0x10c311620, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c311500, 0x10c36e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c0508a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c0508a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a640, 0x2, 0x0, 0x0, 0x10c801a98, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a640, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a640, 0x0, 0x0, 0x10bcaf094, 0x7, 0x10c3ca850)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a640, 0x0, 0x10bcaf094, 0x7, 0x10c3ca850, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be4f1f0, 0x10c437800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be4f1f0, 0x10bdf0a20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2600 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002b40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6918 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002900)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7959 [sleep]:
time.Sleep(0x5f5e100)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bd18bc0, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bd245c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10c5805a0, 0x10c708d80)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6324 [IO wait]:
internal/poll.runtime_pollWait(0x1352f4520, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07f698, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07f698, 0x10c40d000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07f680, 0x10c40d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07f680, 0x10c40d000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e958, 0x10c40d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065770, 0x1035a1080, 0x10ba0e958, 0x5, 0x10ba0e958, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c310380, 0x100cabe17, 0x10c3104a0, 0x10bfdf6a8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c310380, 0x10c4ff000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bf15920)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bf15920, 0x2, 0x10c68c4e0, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32b7c0, 0x2, 0x0, 0x78, 0x80, 0x10bd4fc20, 0x10c74fc40)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32b7c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32b7c0, 0x0, 0x0, 0x10be45340, 0x4, 0x10be93e80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32b7c0, 0x100a0eae4, 0x10ba14420, 0x10c2f5f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be1ad80, 0x10c750600, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be1ad80, 0x10ba158c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6940 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 5694 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4448, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc098, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc098, 0x10bc61c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc080, 0x10bc61c00, 0x400, 0x400, 0x0, 0x0, 0x0)

	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc080, 0x10bc61c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb228e0, 0x10bc61c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065620, 0x1035a1080, 0x10bb228e0, 0x5, 0x10bb228e0, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c318000, 0x100cabe17, 0x10c318120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c318000, 0x10c5bb000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bfe11a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bfe11a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32af00, 0x2, 0x0, 0x0, 0x10bcf1f80, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32af00, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32af00, 0x0, 0x0, 0x10bdd56b4, 0x7, 0x10c495ab0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32af00, 0x0, 0x10bdd56b4, 0x7, 0x10c495ab0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2f5d0, 0x10c48b200, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2f5d0, 0x10c671740)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 4489 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7c060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2003 [IO wait]:
internal/poll.runtime_pollWait(0x1035a06c0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72a98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72a98, 0x10bcf9400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72a80, 0x10bcf9400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72a80, 0x10bcf9400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e198, 0x10bcf9400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005140, 0x1035a1080, 0x10ba0e198, 0x5, 0x10ba0e198, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10bcfa000, 0x100cabe17, 0x10bcfa120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10bcfa000, 0x10c154000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bce2f60)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bce2f60, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea1040, 0x2, 0x0, 0x0, 0x10c9e5f88, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea1040, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea1040, 0x0, 0x0, 0x10bcae190, 0x7, 0x10bcb4150)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea1040, 0x0, 0x10bcae190, 0x7, 0x10bcb4150, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc48210, 0x10be4a600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc48210, 0x10bdf0180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6912 [IO wait]:
internal/poll.runtime_pollWait(0x1352f43a0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0bb98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0bb98, 0x10c2fb000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0bb80, 0x10c2fb000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0bb80, 0x10c2fb000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb227a0, 0x10c2fb000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfb6e0, 0x1035a1080, 0x10bb227a0, 0x5, 0x10bb227a0, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c515500, 0x100cabe17, 0x10c515620, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c515500, 0x10c5ed000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c6ab140)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c6ab140, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63b80, 0x2, 0x0, 0x0, 0x10be18228, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63b80, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63b80, 0x0, 0x0, 0x10c57ac10, 0x7, 0x10c494460)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63b80, 0x0, 0x10c57ac10, 0x7, 0x10c494460, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10ba10d60, 0x10c836000, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10ba10d60, 0x10c002900)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 3083 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc48a00, 0x10c002180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 1582 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc1dc00, 0x10bdf1620)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5695 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2f5d0, 0x10c671740)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6486 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdef230, 0x10c6162a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2116 [IO wait]:
internal/poll.runtime_pollWait(0x1035a0540, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0ac18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0ac18, 0x10c0a0c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0ac00, 0x10c0a0c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0ac00, 0x10c0a0c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22398, 0x10c0a0c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c005f20, 0x1035a1080, 0x10bb22398, 0x5, 0x10bb22398, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10bcfbc00, 0x100cabe17, 0x10bcfbd20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10bcfbc00, 0x10c155000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10be912c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10be912c0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10baa0000, 0x2, 0x0, 0x0, 0x10be19f30, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10baa0000, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10baa0000, 0x0, 0x0, 0x10bc36cf3, 0x7, 0x10c030850)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10baa0000, 0x100a0eae4, 0x10ba14420, 0x10c0bdf98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb924d0, 0x10bb82600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb924d0, 0x10ba14480)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5680 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf1200)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7422 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3e60, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c6d8818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c6d8818, 0x10c89c000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c6d8800, 0x10c89c000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c6d8800, 0x10c89c000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ee18, 0x10c89c000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bebf290, 0x1035a1080, 0x10ba0ee18, 0x5, 0x10ba0ee18, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c6f2e00, 0x100cabe17, 0x10c6f2f20, 0x10beb9e28)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c6f2e00, 0x10c8ea000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c816060)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c816060, 0x2, 0x10c68dfc0, 0x12, 0x10c426ff0, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32b900, 0x2, 0x0, 0x6f, 0x70, 0x10c5feb40, 0x10bebb180)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32b900, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32b900, 0x0, 0x0, 0x10bc6afd8, 0x4, 0x10c495650)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32b900, 0x100a0eae4, 0x10ba14420, 0x10c86ff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10c8d7450, 0x10c012600, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10c8d7450, 0x10c8d8600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2476 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba145a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6890 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3fe0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07fc98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07fc98, 0x10c844000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07fc80, 0x10c844000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07fc80, 0x10c844000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e430, 0x10c844000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfb710, 0x1035a1080, 0x10ba0e430, 0x5, 0x10ba0e430, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c59ca80, 0x100cabe17, 0x10c59cba0, 0x10bec01a8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c59ca80, 0x10c477000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c53d980)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c53d980, 0x2, 0x10c68c5e0, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32bcc0, 0x2, 0x0, 0x78, 0x80, 0x10bd4fd60, 0x10c74fd80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32bcc0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32bcc0, 0x0, 0x0, 0x10be45480, 0x4, 0x10be93f80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32bcc0, 0x100a0eae4, 0x10ba14420, 0x10c247f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bca1a30, 0x10c751200, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bca1a30, 0x10c002360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2238 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc68370, 0x10be7cc60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2239 [IO wait]:
internal/poll.runtime_pollWait(0x1035a00c0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07e598, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07e598, 0x10bc60c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07e580, 0x10bc60c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07e580, 0x10bc60c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e098, 0x10bc60c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad680, 0x1035a1080, 0x10ba0e098, 0x5, 0x10ba0e098, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c1f9880, 0x100cabe17, 0x10c1f99a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c1f9880, 0x10c0eb000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd47800)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd47800, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63900, 0x2, 0x0, 0x0, 0x10bdabd48, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63900, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63900, 0x0, 0x0, 0x10bd55b43, 0x7, 0x10c031650)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63900, 0x0, 0x10bd55b43, 0x7, 0x10c031650, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc683a0, 0x10c31e600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc683a0, 0x10be7cd20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2240 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc683a0, 0x10be7cd20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2241 [IO wait]:
internal/poll.runtime_pollWait(0x1035a03c0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72218, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72218, 0x10be29c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72200, 0x10be29c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72200, 0x10be29c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e078, 0x10be29c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad3b0, 0x1035a1080, 0x10ba0e078, 0x5, 0x10ba0e078, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c05d880, 0x100cabe17, 0x10c05d9a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c05d880, 0x10bfd1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd47500)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd47500, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63680, 0x2, 0x0, 0x0, 0x10bdabd4c, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63680, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63680, 0x0, 0x0, 0x10bd688c3, 0x7, 0x10bebc540)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63680, 0x0, 0x10bd688c3, 0x7, 0x10bebc540, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc683c0, 0x10c2ec600, 0x93, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc683c0, 0x10be7cde0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2242 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc683c0, 0x10be7cde0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2526 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7d3e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2527 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7d4a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7357 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c616000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 2565 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc49370, 0x10be7d3e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7735 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc31d90, 0x10c003aa0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 4932 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4688, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cd618, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cd618, 0x10c524000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cd600, 0x10c524000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cd600, 0x10c524000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ed40, 0x10c524000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c064a50, 0x1035a1080, 0x10ba0ed40, 0x5, 0x10ba0ed40, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c514000, 0x100cabe17, 0x10c514120, 0x10c176628)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c514000, 0x10c465000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c488b40)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c488b40, 0x2, 0x10c68cb00, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be62b40, 0x2, 0x0, 0x78, 0x80, 0x10cb50cd0, 0x10c69dd80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be62b40, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be62b40, 0x0, 0x0, 0x10bbd8848, 0x4, 0x10c7fa480)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be62b40, 0x100a0eae4, 0x10ba14420, 0x10bb3ff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bca1c50, 0x10c8c8000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bca1c50, 0x10ba15020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5777 [sleep]:
time.Sleep(0x2540be400)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bc3f4a0, 0x4)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10c5d5f78)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).disconnect(0x10bb060f0, 0x100ddf001, 0x10bc30bf0, 0x1008ac670)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:702 +0x6c
github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync.func1(0x10c3d87e0, 0x10bb060f0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:854 +0x44
created by github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:851 +0x138

goroutine 4487 [select, 2 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc481c0, 0x10be7c060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6882 [IO wait]:
internal/poll.runtime_pollWait(0x1352f40a0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07ff98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07ff98, 0x10c760000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07ff80, 0x10c760000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07ff80, 0x10c760000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb227c0, 0x10c760000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c3fad20, 0x1035a1080, 0x10bb227c0, 0x5, 0x10bb227c0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c6f2000, 0x100cabe17, 0x10c6f2120, 0x10c176c28)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c6f2000, 0x10c695000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c688720)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c688720, 0x2, 0x10c2e6fe0, 0x12, 0x10c42a5a0, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c692140, 0x2, 0x0, 0x6f, 0x70, 0x10c61d6d0, 0x10c037440)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c692140, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c692140, 0x0, 0x0, 0x10bcca2b8, 0x4, 0x10c5139d0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c692140, 0x100a0eae4, 0x10ba14420, 0x10c4eff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be38d80, 0x10c772600, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be38d80, 0x10c6168a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5808 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4148, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc118, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc118, 0x10bc61000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc100, 0x10bc61000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc100, 0x10bc61000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22618, 0x10bc61000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10ba65860, 0x1035a1080, 0x10bb22618, 0x5, 0x10bb22618, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c324700, 0x100cabe17, 0x10c324820, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c324700, 0x10be58000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bcb6480)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bcb6480, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63e00, 0x2, 0x0, 0x0, 0x10bd698e4, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63e00, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63e00, 0x0, 0x0, 0x10bd38014, 0x7, 0x10bcb4a10)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74

github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63e00, 0x0, 0x10bd38014, 0x7, 0x10bcb4a10, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd03930, 0x10c3df200, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd03930, 0x10bdf18c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5305 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c616f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 4903 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba14f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7273 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd3b2d0, 0x10ba14780)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 3087 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002180)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3138 [IO wait]:
internal/poll.runtime_pollWait(0x1352d5048, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73598, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73598, 0x10c152000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73580, 0x10c152000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73580, 0x10c152000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e218, 0x10c152000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2ea20, 0x1035a1080, 0x10ba0e218, 0x5, 0x10ba0e218, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c324000, 0x100cabe17, 0x10c324120, 0x10c177528)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c324000, 0x10c157000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c02d440)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c02d440, 0x2, 0x10bd37f00, 0x1b, 0x10cb16c30, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be637c0, 0x2, 0x0, 0x78, 0x80, 0x10cb5b090, 0x10c04e1c0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be637c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be637c0, 0x0, 0x0, 0x10bd38cd0, 0x4, 0x10c78d880)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be637c0, 0x100a0eae4, 0x10ba14420, 0x10c2f3f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10ba11710, 0x10c621200, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10ba11710, 0x10ba15380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5299 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdefc90, 0x10c617020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 3587 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4808, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07f098, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07f098, 0x10bc60000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07f080, 0x10bc60000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07f080, 0x10bc60000, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e1f8, 0x10bc60000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004150, 0x1035a1080, 0x10ba0e1f8, 0x5, 0x10ba0e1f8, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c0e7880, 0x100cabe17, 0x10c0e79a0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c0e7880, 0x10c2d5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c35b4a0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c35b4a0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63a40, 0x2, 0x0, 0x0, 0x10bbd8b30, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63a40, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63a40, 0x0, 0x0, 0x10bc4b7e8, 0x5, 0x10c7c8480)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63a40, 0x100a0eae4, 0x10ba14420, 0x10c4b3f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd03450, 0x10c7ab200, 0x96, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd03450, 0x10bdf0360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 2475 [select, 3 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bbdc2d0, 0x10ba145a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 4931 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bca1b80, 0x10ba14f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7392 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3c20, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cd698, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cd698, 0x10c517800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cd680, 0x10c517800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cd680, 0x10c517800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22bd8, 0x10c517800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfad80, 0x1035a1080, 0x10bb22bd8, 0x5, 0x10bb22bd8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c576700, 0x100cabe17, 0x10c576820, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c576700, 0x10c736000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c8e9e60)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c8e9e60, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c693040, 0x2, 0x0, 0x0, 0x10bc0eba8, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c693040, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c693040, 0x0, 0x0, 0x10c57a990, 0x7, 0x10c495340)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c693040, 0x0, 0x10c57a990, 0x7, 0x10c495340, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2f3e0, 0x10c7a1800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2f3e0, 0x10c709500)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 3148 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba15380)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6417 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc7c8b0, 0x10be7d7a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 2566 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4e08, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c07f998, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c07f998, 0x10c37f400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c07f980, 0x10c37f400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c07f980, 0x10c37f400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22200, 0x10c37f400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd20150, 0x1035a1080, 0x10bb22200, 0x5, 0x10bb22200, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c39ea80, 0x100cabe17, 0x10c39eba0, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c39ea80, 0x10c2d6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bd8db00)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bd8db00, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea1540, 0x2, 0x0, 0x0, 0x10bbf2c84, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea1540, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea1540, 0x0, 0x0, 0x10bdd45e0, 0x7, 0x10c030cb0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea1540, 0x0, 0x10bdd45e0, 0x7, 0x10c030cb0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc493b0, 0x10be31800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc493b0, 0x10be7d4a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7394 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3b60, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cd818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cd818, 0x10c797000, 0x1000, 0x1000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cd800, 0x10c797000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cd800, 0x10c797000, 0x1000, 0x1000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22be0, 0x10c797000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfae40, 0x1035a1080, 0x10bb22be0, 0x5, 0x10bb22be0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c576a80, 0x100cabe17, 0x10c576ba0, 0x10c21e328)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c576a80, 0x10c80b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c8e9f20)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c8e9f20, 0x2, 0x10c2e6ca0, 0x12, 0x10c428518, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c693180, 0x2, 0x0, 0x6f, 0x70, 0x10c61ceb0, 0x10c036b00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c693180, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c693180, 0x0, 0x0, 0x10bc4b6a0, 0x4, 0x10c513810)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c693180, 0x100a0eae4, 0x10ba14420, 0x10bf83f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2f400, 0x10c44e600, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2f400, 0x10c7095c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7305 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba14780)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7423 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10c8d7450, 0x10c8d8600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 5297 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdefc70, 0x10c616f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 3527 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4f88, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72e98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72e98, 0x10bcfc000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72e80, 0x10bcfc000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72e80, 0x10bcfc000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e1e8, 0x10bcfc000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004180, 0x1035a1080, 0x10ba0e1e8, 0x5, 0x10ba0e1e8, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c39f180, 0x100cabe17, 0x10c39f2a0, 0x10bec0f28)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c39f180, 0x10bb76000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c35a960)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c35a960, 0x2, 0x10c454140, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10be63400, 0x2, 0x0, 0x78, 0x80, 0x10bdffa90, 0x10c7dbd00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10be63400, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10be63400, 0x0, 0x0, 0x10bbac968, 0x4, 0x10c78c800)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10be63400, 0x100a0eae4, 0x10ba14420, 0x10c4f1f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd58680, 0x10c7f6000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd58680, 0x10be7da40)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5298 [IO wait]:
internal/poll.runtime_pollWait(0x1352d45c8, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0b818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0b818, 0x10c5ca000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0b800, 0x10c5ca000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0b800, 0x10c5ca000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0eae0, 0x10c5ca000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c3fab40, 0x1035a1080, 0x10ba0eae0, 0x5, 0x10ba0eae0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c325180, 0x100cabe17, 0x10c3252a0, 0x10bec1228)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c325180, 0x10c4cd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c4f7aa0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c4f7aa0, 0x2, 0x10c6d7f60, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea03c0, 0x2, 0x0, 0x78, 0x80, 0x10bd6e4b0, 0x10c82ba80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea03c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea03c0, 0x0, 0x0, 0x10c575048, 0x4, 0x10c174b80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea03c0, 0x100a0eae4, 0x10ba14420, 0x10bf7df98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdefc90, 0x10c68b800, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdefc90, 0x10c617020)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 5809 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bd03930, 0x10bdf18c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6416 [IO wait]:
internal/poll.runtime_pollWait(0x1352d42c8, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72818, 0x10c72c000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72800, 0x10c72c000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72800, 0x10c72c000, 0x400, 0x400, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb223b0, 0x10c72c000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2e1b0, 0x1035a1080, 0x10bb223b0, 0x5, 0x10bb223b0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c6f2700, 0x100cabe17, 0x10c6f2820, 0x10bec1ca8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c6f2700, 0x10c476000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c5661e0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c5661e0, 0x2, 0x10be3f7e0, 0x1b, 0x10cb16c38, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32b180, 0x2, 0x0, 0x78, 0x80, 0x10cb7b2c0, 0x10c001280)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32b180, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32b180, 0x0, 0x0, 0x10bd1f840, 0x4, 0x10c7fb880)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32b180, 0x100a0eae4, 0x10ba14420, 0x10c4b5f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc7c8b0, 0x10c6fc000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc7c8b0, 0x10be7d7a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7431 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c884d20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6292 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf03c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3609 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3585 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4a48, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73018, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73018, 0x10c37d800, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73000, 0x10c37d800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73000, 0x10c37d800, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e1f0, 0x10c37d800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004000, 0x1035a1080, 0x10ba0e1f0, 0x5, 0x10ba0e1f0, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c0e6700, 0x100cabe17, 0x10c0e6820, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c0e6700, 0x10be49000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c2f9f80)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c2f9f80, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a140, 0x2, 0x0, 0x0, 0x10bbd88f4, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a140, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a140, 0x0, 0x0, 0x10bd1e7e4, 0x7, 0x10bcb4150)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a140, 0x0, 0x10bd1e7e4, 0x7, 0x10bcb4150, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd033d0, 0x10c360600, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd033d0, 0x10bdf02a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6313 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba158c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 3599 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf02a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6919 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c0029c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6372 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c003920)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 4930 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4748, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cd498, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cd498, 0x10c518000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cd480, 0x10c518000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cd480, 0x10c518000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ed38, 0x10c518000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bdfa570, 0x1035a1080, 0x10ba0ed38, 0x5, 0x10ba0ed38, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c325880, 0x100cabe17, 0x10c3259a0, 0x10c21f528)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c325880, 0x10c66c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c365020)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c365020, 0x2, 0x10c7044c0, 0x1b, 0x10c425fb8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32adc0, 0x2, 0x0, 0x78, 0x80, 0x10cb9dfc0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32adc0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32adc0, 0x0, 0x0, 0x10c7e7600, 0x5, 0x10c4a6300)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32adc0, 0x100a0eae4, 0x10ba14420, 0x10bf7ff98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bca1b80, 0x10bd0f800, 0x92, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bca1b80, 0x10ba14f60)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6924 [sleep]:
time.Sleep(0x1769a38ee)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bc1a020, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bc1a000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10c580580, 0x10c708300)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6430 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10bdf0ea0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6359 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdee010, 0x10c003920)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7945 [IO wait]:
internal/poll.runtime_pollWait(0x137b10cc0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72618, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72618, 0x10c16e000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72600, 0x10c16e000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72600, 0x10c16e000, 0x2000, 0x2000, 0x100c31b20, 0x1000120d4, 0x100be4f74)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e0f0, 0x10c16e000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c065020, 0x1035a1080, 0x10ba0e0f0, 0x5, 0x10ba0e0f0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c577500, 0x100cabe17, 0x10c577620, 0x100a25434)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c577500, 0x10c694000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c9d1980)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c9d1980, 0x2, 0x10c68cd80, 0x12, 0x10c426f40, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32be00, 0x2, 0x12, 0x52, 0x60, 0x10cb50eb0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32be00, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32be00, 0x0, 0x0, 0x10bbd8f90, 0x7, 0x10c708e40)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32be00, 0x100a0eae4, 0x10ba14420, 0x10c6b7f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc7d8f0, 0x10c8c8c00, 0x6e, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc7d8f0, 0x10c617140)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6915 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10ba10d80, 0x10c0029c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6226 [select, 1 minutes]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc30000, 0x10be7d860)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6258 [IO wait]:
internal/poll.runtime_pollWait(0x1352d4208, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba73618, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba73618, 0x10c4c0000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba73600, 0x10c4c0000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba73600, 0x10c4c0000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb226f0, 0x10c4c0000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10be2fb30, 0x1035a1080, 0x10bb226f0, 0x5, 0x10bb226f0, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c59ce00, 0x100cabe17, 0x10c59cf20, 0x10beb9ca8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c59ce00, 0x10c448000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10ba5b980)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10ba5b980, 0x2, 0x10c68c5a0, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea08c0, 0x2, 0x0, 0x78, 0x80, 0x10bd4fcc0, 0x10c74fd00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea08c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea08c0, 0x0, 0x0, 0x10be453e0, 0x4, 0x10be93f00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea08c0, 0x100a0eae4, 0x10ba14420, 0x10c4b7f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2e780, 0x10c750c00, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2e780, 0x10bdf03c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7393 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2f3e0, 0x10c709500)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7272 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3ce0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc018, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc018, 0x10c503c00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc000, 0x10c503c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc000, 0x10c503c00, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e698, 0x10c503c00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0ad860, 0x1035a1080, 0x10ba0e698, 0x5, 0x10ba0e698, 0x10ba21370)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c514700, 0x100cabe17, 0x10c514820, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c514700, 0x10c0ea000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10bb544e0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10bb544e0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c6928c0, 0x2, 0x0, 0x0, 0x10cb008f8, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c6928c0, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c6928c0, 0x0, 0x0, 0x10bcaf664, 0x7, 0x10c3ca930)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c6928c0, 0x0, 0x10bcaf664, 0x7, 0x10c3ca930, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd3b2d0, 0x10c748000, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd3b2d0, 0x10ba14780)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6519 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c616120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6484 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bdef160, 0x10c616120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6485 [IO wait]:
internal/poll.runtime_pollWait(0x1352f42e0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0a818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0a818, 0x10c503400, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0a800, 0x10c503400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0a800, 0x10c503400, 0x400, 0x400, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e9f8, 0x10c503400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c064b10, 0x1035a1080, 0x10ba0e9f8, 0x5, 0x10ba0e9f8, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c310e00, 0x100cabe17, 0x10c310f20, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c310e00, 0x10c5ec000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c571560)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c571560, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32b680, 0x2, 0x0, 0x0, 0x10bce4234, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32b680, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32b680, 0x0, 0x0, 0x10bc6ba84, 0x9, 0x10bcb4150)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32b680, 0x0, 0x10bc6ba84, 0x9, 0x10bcb4150, 0x67, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bdef230, 0x10c24cc00, 0x92, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdef230, 0x10c6162a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7983 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c617140)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6222 [sleep]:
time.Sleep(0x2540be400)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bd63400, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bd633e0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bdef3b0, 0x10be7c660)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 8040 [runnable]:
github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync.func1(0x10c523710, 0x10bb060f0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:851
created by github.com/centrifugal/centrifuge-mobile.(*Client).SubscribeAsync
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:851 +0x138

goroutine 7769 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be4e030, 0x10c002060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6520 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c6162a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7396 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c709500)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6466 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10be7d7a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6945 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c6168a0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7768 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3920, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cc818, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cc818, 0x10c87dc00, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cc800, 0x10c87dc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cc800, 0x10c87dc00, 0x400, 0x400, 0x9, 0x5e9, 0x100bf7da0)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0f150, 0x10c87dc00, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bd20ff0, 0x1035a1080, 0x10ba0f150, 0x5, 0x10ba0f150, 0x100be3b7d)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c577880, 0x100cabe17, 0x10c5779a0, 0x100905c34)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c577880, 0x10cabe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c932f60)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c932f60, 0x2, 0x1008a92f8, 0x10c459800, 0x4, 0x100861530, 0x10c459800)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c692640, 0x2, 0x3, 0x0, 0x1, 0x0, 0x10c5a80f0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c692640, 0x0, 0x0, 0x4)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c692640, 0x0, 0x0, 0x10c5a80f4, 0x7, 0x10c506000)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c692640, 0x0, 0x10c5a80f4, 0x7, 0x10c506000, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be4e030, 0x10bdacc00, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be4e030, 0x10c002060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7429 [IO wait]:
internal/poll.runtime_pollWait(0x1352f39e0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c6d8b18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c6d8b18, 0x10bbc5800, 0x800, 0x800)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c6d8b00, 0x10bbc5800, 0x800, 0x800, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c6d8b00, 0x10bbc5800, 0x800, 0x800, 0x27, 0x400, 0x27)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ee28, 0x10bbc5800, 0x800, 0x800, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c0642d0, 0x1035a1080, 0x10ba0ee28, 0x5, 0x10ba0ee28, 0x10ba20070)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c87a000, 0x100cabe17, 0x10c87a120, 0x20002)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c87a000, 0x10c9db000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c9d0ae0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c9d0ae0, 0x2, 0x0, 0x20, 0x4, 0x676e6970, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c693540, 0x2, 0x0, 0x0, 0x10bc4a4a4, 0x4, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c693540, 0x9, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c693540, 0x0, 0x0, 0x10bc21228, 0x4, 0x10c7fad80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c693540, 0x100a0eae4, 0x10ba14420, 0x10c875f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10c8fa030, 0x10c768000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10c8fa030, 0x10c616000)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7278 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10ba14120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7891 [IO wait]:
internal/poll.runtime_pollWait(0x137b10f00, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10bb0b418, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10bb0b418, 0x10c9d2800, 0x800, 0x800)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10bb0b400, 0x10c9d2800, 0x800, 0x800, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10bb0b400, 0x10c9d2800, 0x800, 0x800, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ed60, 0x10c9d2800, 0x800, 0x800, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bebe6c0, 0x1035a1080, 0x10ba0ed60, 0x5, 0x10ba0ed60, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c6f2380, 0x100cabe17, 0x10c6f24a0, 0x10c67caa8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c6f2380, 0x10c7ca000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c52f5c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c52f5c0, 0x2, 0x10c73d6e0, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10bea0b40, 0x2, 0x0, 0x78, 0x80, 0x10bd6eeb0, 0x10c7dab80)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10bea0b40, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10bea0b40, 0x0, 0x0, 0x10c575958, 0x4, 0x10c175080)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10bea0b40, 0x100a0eae4, 0x10ba14420, 0x10c873f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bb2e380, 0x10c738000, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bb2e380, 0x10c670c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 6881 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 6891 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bca1a30, 0x10c002360)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 6917 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10ba10eb0, 0x10c002ba0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7734 [sleep]:
time.Sleep(0x25d88176)
	/Users/fz/go1.9/src/runtime/time.go:65 +0xf8
github.com/centrifugal/centrifuge-mobile.(*backoffReconnect).reconnect(0x100dde980, 0x10bb060f0, 0x10bc6dba0, 0x1338ae306)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:398 +0x9c
github.com/centrifugal/centrifuge-mobile.(*Client).handleDisconnect(0x10bb060f0, 0x10bc6db80)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:354 +0x1d0
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc31d90, 0x10c003aa0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:453 +0xf8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7770 [IO wait]:
internal/poll.runtime_pollWait(0x137b10e40, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5cca18, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5cca18, 0x10c3ac000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5cca00, 0x10c3ac000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5cca00, 0x10c3ac000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22e00, 0x10c3ac000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c004ea0, 0x1035a1080, 0x10bb22e00, 0x5, 0x10bb22e00, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c87b880, 0x100cabe17, 0x10c87b9a0, 0x10c67d6a8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c87b880, 0x10cac8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c95bda0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c95bda0, 0x2, 0x10c454280, 0x1b, 0x10cb10de8, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32ba40, 0x2, 0x0, 0x78, 0x80, 0x10bdffd10, 0x10c474480)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32ba40, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32ba40, 0x0, 0x0, 0x10bbad068, 0x4, 0x10c78c980)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32ba40, 0x100a0eae4, 0x10ba14420, 0x10bb75f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be4e080, 0x10c7f7200, 0x91, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be4e080, 0x10c002120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7421 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c7095c0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7424 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c8d8600)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7355 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3aa0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c6d8998, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c6d8998, 0x10c83a000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c6d8980, 0x10c83a000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c6d8980, 0x10c83a000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0ee20, 0x10c83a000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c7e40c0, 0x1035a1080, 0x10ba0ee20, 0x5, 0x10ba0ee20, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c6f3c00, 0x100cabe17, 0x10c6f3d20, 0x10c882328)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c6f3c00, 0x10c89b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c9d03c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c9d03c0, 0x2, 0x10c151de0, 0x12, 0x10c67ab20, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c693400, 0x2, 0x0, 0x6f, 0x70, 0x10c808190, 0x10ba58440)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c693400, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c693400, 0x0, 0x0, 0x10bc7b8c0, 0x4, 0x10c495c70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c693400, 0x100a0eae4, 0x10ba14420, 0x10c47df98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bd03cc0, 0x10c807200, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bd03cc0, 0x10c884d20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7811 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002060)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7736 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c003aa0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7265 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be4f1f0, 0x10bdf0a20)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7812 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c002120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7908 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bb2e380, 0x10c670c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7943 [IO wait]:
internal/poll.runtime_pollWait(0x1352f3860, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10ba72298, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10ba72298, 0x10c390000, 0x400, 0x400)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10ba72280, 0x10c390000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10ba72280, 0x10c390000, 0x400, 0x400, 0x9, 0x5e9, 0x100bf7da0)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10ba0e0e8, 0x10c390000, 0x400, 0x400, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10bebe480, 0x1035a1080, 0x10ba0e0e8, 0x5, 0x10ba0e0e8, 0x100be3b7d)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c577180, 0x100cabe17, 0x10c5772a0, 0x100905c34)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c577180, 0x10c737000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c9d18c0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c9d18c0, 0x2, 0x1008a92f8, 0x10c67d380, 0x4, 0x100861530, 0x10c67d380)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32bb80, 0x2, 0x3, 0x0, 0x1, 0x0, 0x10c7e78c0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32bb80, 0x0, 0x0, 0x4)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32bb80, 0x0, 0x0, 0x10c7e78c4, 0x7, 0x10cb47ab0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32bb80, 0x0, 0x10c7e78c4, 0x7, 0x10cb47ab0, 0x6b, 0x70)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10bc7d8d0, 0x10bdad800, 0x94, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10bc7d8d0, 0x10c617080)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7771 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be4e080, 0x10c002120)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7944 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10bc7d8d0, 0x10c617080)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7845 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).writer(0x10bb060f0, 0x100de2d80, 0x10be028c0, 0x10c002c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:474 +0xa4
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:630 +0x234

goroutine 7844 [IO wait]:
internal/poll.runtime_pollWait(0x1352f37a0, 0x72, 0x0)
	/Users/fz/go1.9/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x10c5ccc98, 0x72, 0xffffffffffffff00, 0x100de0c80, 0x100ddd5e8)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:85 +0xa0
internal/poll.(*pollDesc).waitRead(0x10c5ccc98, 0x10c57c000, 0x2000, 0x2000)
	/Users/fz/go1.9/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x10c5ccc80, 0x10c57c000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/internal/poll/fd_unix.go:126 +0x138
net.(*netFD).Read(0x10c5ccc80, 0x10c57c000, 0x2000, 0x2000, 0x100c1cae0, 0x1000146a9, 0x100be7549)
	/Users/fz/go1.9/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x10bb22018, 0x10c57c000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/net/net.go:176 +0x50
crypto/tls.(*block).readFromUntil(0x10c3fa180, 0x1035a1080, 0x10bb22018, 0x5, 0x10bb22018, 0x199)
	/Users/fz/go1.9/src/crypto/tls/conn.go:488 +0x7c
crypto/tls.(*Conn).readRecord(0x10c87aa80, 0x100cabe17, 0x10c87aba0, 0x10c72b9a8)
	/Users/fz/go1.9/src/crypto/tls/conn.go:590 +0xa0
crypto/tls.(*Conn).Read(0x10c87aa80, 0x10c9da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/Users/fz/go1.9/src/crypto/tls/conn.go:1134 +0xbc
bufio.(*Reader).fill(0x10c689bc0)
	/Users/fz/go1.9/src/bufio/bufio.go:97 +0x104
bufio.(*Reader).Peek(0x10c689bc0, 0x2, 0x10be3e100, 0x12, 0x10c423cc0, 0x1, 0x0)
	/Users/fz/go1.9/src/bufio/bufio.go:129 +0x2c
github.com/gorilla/websocket.(*Conn).read(0x10c32a3c0, 0x2, 0x0, 0x6f, 0x70, 0x10cb7aa00, 0x10be77f00)
	/Users/fz/go/src/github.com/gorilla/websocket/conn_read.go:12 +0x2c
github.com/gorilla/websocket.(*Conn).advanceFrame(0x10c32a3c0, 0x0, 0x0, 0x0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:779 +0x3c
github.com/gorilla/websocket.(*Conn).NextReader(0x10c32a3c0, 0x0, 0x0, 0x10bd1ede0, 0x4, 0x10bebc7e0)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:939 +0x74
github.com/gorilla/websocket.(*Conn).ReadMessage(0x10c32a3c0, 0x100a0eae4, 0x10ba14420, 0x10c481f98, 0x600, 0x100a0eae4, 0x1)
	/Users/fz/go/src/github.com/gorilla/websocket/conn.go:1020 +0x20
github.com/centrifugal/centrifuge-mobile.(*wsConn).ReadMessage(0x10be028c0, 0x10c7a1800, 0x88, 0x600, 0x0, 0x0)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/conn.go:61 +0x24
github.com/centrifugal/centrifuge-mobile.(*Client).reader(0x10bb060f0, 0x100de2d80, 0x10be028c0, 0x10c002c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:450 +0x28
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:629 +0x1fc

goroutine 7958 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c617080)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

goroutine 7896 [select]:
github.com/centrifugal/centrifuge-mobile.(*Client).pinger(0x10bb060f0, 0x10c670c00)
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:433 +0xe8
created by github.com/centrifugal/centrifuge-mobile.(*Client).connect
	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:676 +0x40c

Crash on onPrivateSub callback for private channel subscription.

E/Go: panic: runtime error: invalid memory address or nil pointer dereference
E/Go: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x8b5997b1]
E/Go: goroutine 17 [running, locked to thread]:
E/Go: panic(0x8b7d9de0, 0x60ee6010)
E/Go: 	/Users/fz/go1.7/src/runtime/panic.go:500 +0x384
E/Go: golang.org/x/mobile/bind/seq.(*Ref).Get(0x0, 0x0, 0x0)
E/Go: 	/Users/fz/go/src/golang.org/x/mobile/bind/seq/ref.go:113 +0x21
E/Go: _/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-907512447/gomobile_bind.(*proxycentrifuge_PrivateSubHandler).OnPrivateSub(0x60eea044, 0x60fa2000, 0x60f83a30, 0x1, 0x0, 0x0)
E/Go: 	/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-907512447/gomobile_bind/go_centrifugemain.go:1157 +0xe1
E/Go: github.com/centrifugal/centrifuge-mobile.(*Client).privateSign(0x60fa2000, 0x60f2a4b0, 0x21, 0x60f584c0, 0x0, 0x0)
E/Go: 	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:815 +0x193
E/Go: github.com/centrifugal/centrifuge-mobile.(*Sub).resubscribe(0x60f5a140, 0x0, 0x0)
E/Go: 	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/sub.go:315 +0x1d8
E/Go: github.com/centrifugal/centrifuge-mobile.(*Client).Subscribe(0x60fa2000, 0x60f2a4b0, 0x21, 0x60f2a480, 0x1, 0x0, 0x0)
E/Go: 	/Users/fz/go/src/github.com/centrifugal/centrifuge-mobile/client.go:839 +0x147
E/Go: _/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-907512447/gomobile_bind.proxycentrifuge_Client_Subscribe(0xffffffe5, 0xa36f3810, 0x21, 0xffffffe3, 0x8b552c4c, 0x60fc1f30)
E/Go: 	/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-907512447/gomobile_bind/go_centrifugemain.go:63 +0xd1
E/Go: _/var/folders/gr/067g1z0d0pv1f37zm8l3mzhw0000gn/T/gomobile-work-907512447/gomobile_bind._cgoexpwrap_87fcc104c08b_proxycentrifuge_Client_Subscribe(0xffffffe5, 0xa36f3810, 0x21, 0xffffffe3, 0xadc88cc4, 0xbfb38eb4)
E/Go: 	??:0 +0x33

I get this error while trying to subscribe to private channel:

    @Override
    public PrivateSign onPrivateSub(Client client, PrivateRequest privateRequest) throws Exception {
        Loggi.d("onPrivateSub");
        String clientId = privateRequest.getClientID();
        String channel = privateRequest.getChannel();
        PrivateSignCredentials privateSignCredentials = getPrivateSignCredentials(clientId, channel);

        PrivateSign privateSign = new PrivateSign();
        privateSign.setInfo(privateSignCredentials.getInfo());
        privateSign.setSign(privateSignCredentials.getSign());

        return privateSign;
    }

For some reason, I cannot make getPrivateSignCredentials request to my server. I know this method does work. It only happens in onPrivateSub callback method.

PrivateSignCredentials is my local class to store data for PrivateSign.

--

I've found out that if connection was instantiated in "main thread" the onPrivateSub callback runs on the same thread. However, error still happens even if I instantiate connection in "worker thread".

Subscription always null in PublishHandler

Hello. The problem is that when a new message arrives in the onPublish method, the Subscription variable is always null. What could be the problem?

subEvents.onPublish((p0, p1) -> /some action/);

Trust SSL socket x509 Problem in Android API 24 and lower

Hi @FZambia
How can I fix this problem, I see your docs and sample but can't find any solution
for example, you can see this and this docs

log:
W/System.err: go.Universe$proxyerror: error dial: x509: certificate has expired or is not yet valid: current time 2022-05-24T10:21:01Z is after 2021-09-30T14:01:15Z

Can you make multi credentials example?

Hi,
I made one simulator to test centrifugo server's performance.
but if I create about 4 credentials and publish the data asynchronously and continuously, the go application is stopped after some mins.
I think, I may wrong. So I request multi-credentials expample in one go applicaton to you.
Regards,

Getting timed out message from socket on subscribe or presence

I am intermittently noticing timed out message when I do subscribe or presence and when in this state, the client never reconnects. I noticed this in go-mobile client and the only way to get out of this state is to terminate the app and relaunch it, so the socket connection gets established successfully.

The issue, unfortunately, doesn't happen consistently, so I don't have a reproducible case. I will describe the steps once I have a way to reproduce.

Thanks in advance!

Update to the latest ecosystem stack

This client is far behind the rest of SDKs in the ecosystem. We need to update it to centrifuge-go v0.9.0 and client SDK API spec.

It's hard to say whether the work worth it or not, so I am not putting effort into this myself at the moment.

history publication does not received after subscribing on channel

hi dear

after a few days of working on centrifuge-java, finally i use centrifuge-mobile and it is very simple and fast

but i have a problem on channel history

on ios (swift) and web when i subscribe on public channel that has below configuration

{ "name": "public", "anonymous": true, "publish": true, "join_leave": true, "presence": false, "presence_stats": false, "history_size": 1, "history_lifetime": 3600 }

history publications receives correctly
but on android with with centrifuge-mobile library histories publications not receives

please help me to solve this

Add event contexts

Like in javascript client:

For example:

type DisconnectHandler interface{
        OnDisconnect(*Client, *DisconnectContext)
} 

Where DisconnectContext is struct like this:

type DisconnectContext struct {
        Reason        string
        Reconnect  bool
}

The same for other events

Make a flutter GUI

I have been using flutter with gomobile.
The connection between flutter and gomobile uses jsonrpc.

This will make it easy to build flutter mobile and desktop guide with centrifugal messaging.

Here is the code:

https://github.com/adieu/flutter_go

The messaging between flutter and golang is two way, which is lucky.

A flutter GUI should be built that can show off doing pub and sub.

Also probably some Auth and authorisation.

And maybe a list being updated.

Suggest following the Flutter gallery boiler plate code and adding this as a demo in the demo folders.
Just delete the other ones.

https://github.com/flutter/flutter/tree/master/examples/flutter_gallery

Then get it working with flutter desktop for golang.
https://github.com/Drakirus/go-flutter-desktop-embedder

What do people think ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.