Giter VIP home page Giter VIP logo

open-ethereum-pool's People

Contributors

frankurcrazy avatar nessence avatar sammy007 avatar subtly 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  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  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  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

open-ethereum-pool's Issues

Stats API Temporarily Down

Hi have troubles with this fault.

Stats API Temporarily Down

When i start at localhost and open mining page with http://localhost page show correct. I have also buy some mining hash from miningrigrentals an connect with my pool evreything work correct. Miner is there and is mining, wow perfect and good worjk from you.

But when i would open page from my mobile phone or other external ip i become every time this Stats API Temporarily Down!

I have test with many setting in nginx and environment.conf but without the correct settings

i want point my pool to my Domain htttp://masterminging.net

Please help where is to set mastermining.net in pool conf on environment conf in ngix or should there stay 127.0.0.1 or 0.0.0.0 or mastermining.net. where is to file in wath??

So i think something is wrong to reach my pool from external!

Thanks for fast reply

Best Regards

Merratzz

Exec: "gcc": executable file not found in $PATH

hi,please help me!

root@ubuntu:~/open-ethereum-pool# make
build/env.sh go get -v ./...
github.com/ethereum/go-ethereum/crypto/secp256k1

github.com/ethereum/go-ethereum/crypto/secp256k1

exec: "gcc": executable file not found in $PATH
make: *** [all] Error 2
root@ubuntu:~/open-ethereum-pool#

Qtminer trouble unknow method

System information

Geth version: last version stable
Redis version: last version stable

OS & Version: Linux/OSX ubuntu 14 lts

Commit branch and hash: master

I have 2 server running 2 version of proxy and both have trouble with qtminer

On server A ( version a bit old like 20 day ) : Qtminer run is ok ( connected + share submit) but dont show stat on pool about this miner

On server B ( last version of github) : Qtminer get banned after 10 sec because of unknow method logs:

2016/06/07 06:41:40 Jobs broadcast finished 656ns
2016/06/07 06:41:45 Unknown request method eth_login from ...
2016/06/07 06:41:48 Policy state refresh complete
2016/06/07 06:41:51 Unknown request method eth_login from ...
2016/06/07 06:41:51 Banned 109.190.196.220 with timeout 1800 on ipset blacklist

I have try stop banning but still got this error
Unknown request method eth_login

Did you know something about this ??

Add stats user % of mined block

Hi.

Can u add to miner account statistic page new tab with Round Share % of mined block?
All miners screaming to add this feature.

Can't establish connection to backend: dial tcp: missing address

System information

Geth version: geth version or commit hash if develop
Version: 1.4.9-stable-b7e3dfc5
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=/home/ubuntu/go
GOROOT=/opt/google/go

Redis version: redis-server --version
Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9

OS & Version: Linux/Ubuntu 14.04

Commit branch and hash: (master, ba60e1c)

Expected behaviour

Unlocker does its job

Actual behaviour

2016/07/25 12:59:36 Loading config: /home/ubuntu/open-ethereum-pool/unlocker.json
2016/07/25 12:59:36 Can't establish connection to backend: dial tcp: missing address
2016/07/25 12:59:36 Starting block unlocker
2016/07/25 12:59:36 Set block unlock interval to 10m0s
2016/07/25 12:59:36 Failed to get block candidates from backend: dial tcp: missing address
2016/07/25 12:59:36 Unlocking suspended due to last critical error: dial tcp: missing address

This error appears when running separate instance of ether-pool with unlocker.json:

{
"unlocker": {
"enabled": true,
"poolFee": 0.9,
"poolFeeAddress": "0x<some_address_set_here>",
"donate": true,
"depth": 120,
"immatureDepth": 20,
"interval": "10m",
"daemon": "http://127.0.0.1:8545",
"keepTxFees": false,
"timeout": "10s"
}
}

Please suggest what can be the issue.

Scaling to regional mining nodes

Hello,

you've mentioned here that it is possible to scale the pool with regional nodes, I've been trying to understand how would that work, I've already managed to deploy the main server that contains the main geth and its failover, API and Payments and I am curious or in other words if you can explain to me how can I connect 2 other nodes (Asia, North America) in term of the config ?

getsockopt: connection refused

System information

Geth version: geth version or commit hash if develop
Version: 1.4.5-stable
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.5.1
OS: linux
GOPATH=/root/go
GOROOT=/usr/lib/go

Redis version: redis-server --version
Redis server v=3.2.0 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=3ceebb9e11c944d

OS & Version: Ubuntu 14.04 LTS running on a DigitalOcean Droplet ($10)

Commit branch and hash: Latest as of this issue, not sure how to check, sorry.

Expected behaviour

It works.

Actual behaviour

I'm not sure, googled around and it looks like it can't connect to the upstream thing.
Do I need to start geth before starting this?

Steps to reproduce the behaviour

Installed all dependencies then ran the commands given in README.md
exactly those commands, and edited config to enable the pool fee

Backtrace

root@sf1-core:~/open-ethereum-pool# ./ether-pool config.json
2016/06/08 20:57:43 Loading config: /root/open-ethereum-pool/config.json
2016/06/08 20:57:43 Running with 1 threads
2016/06/08 20:57:43 Backend check reply: PONG
2016/06/08 20:57:43 Starting payouts
2016/06/08 20:57:43 Set payouts interval to 2h0m0s
2016/06/08 20:57:43 No payees that have reached payout threshold
2016/06/08 20:57:43 Policy state refresh complete
2016/06/08 20:57:43 Set policy stats reset every 1h0m0s
2016/06/08 20:57:43 Set policy state refresh every 1m0s
2016/06/08 20:57:43 Running with 8 policy workers
2016/06/08 20:57:43 Upstream: main => http://127.0.0.1:8545
2016/06/08 20:57:43 Upstream: backup => http://127.0.0.2:8545
2016/06/08 20:57:43 Default upstream: main => http://127.0.0.1:8545
2016/06/08 20:57:43 Starting API on 0.0.0.0:8080
2016/06/08 20:57:43 Set stats collect interval to 5s
2016/06/08 20:57:43 Set purge interval to 10m0s
2016/06/08 20:57:43 Purged stale stats from backend, 0 shares affected, elapsed time 536.184µs
2016/06/08 20:57:43 Stats collection finished 640.412µs
2016/06/08 20:57:43 Starting block unlocker
2016/06/08 20:57:43 Set block unlock interval to 10m0s
2016/06/08 20:57:43 Stratum listening on 0.0.0.0:8008
2016/06/08 20:57:43 Error while refreshing pending block on main: Post http://12 7.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Error while refreshing pending block on main: Post http://12 7.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Set block refresh every 120ms
2016/06/08 20:57:43 Starting proxy on 0.0.0.0:8888
2016/06/08 20:57:43 Unable to get current blockchain height from node: Post http ://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Unlocking suspended due to last critical error: Post http:// 127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Error while refreshing pending block on main: Post http://12 7.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Error while refreshing pending block on main: Post http://12 7.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/08 20:57:43 Error while refreshing pending block on main: Post http://12 7.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused

To all the pool admins: please set extradata on a node

In order to collect some statistics I ask you all to add extradata to the blocks you are mining.

You can add it permanently to your geth startup script followed by geth restart:

geth --extradata "OpenEthereumPool/WHATEVER"

If you don't want to restart it now, launch geth console and execute:

miner.setExtra("OpenEthereumPool/WHATEVER")

Make sure that string does not exceed 32 ASCII chars.

What is extradata?

--extradata Block extra data set by the miner (default = client version)

Later we will list pools in a Wiki on your request and only pools with extradata specified will be eligible.

This setting does not affect anything, just a hint for me in a blockchain which can help to collect required stats. Thanks in advance.

Frontend Temporarily Down

I can't get the frontend to work, and I know that the problem has to do with my nginx config.

upstream api {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    #listen 443 ssl;
    #ssl_certificate /etc/nginx/ssl/nginx.crt;
    #ssl_certificate_key /etc/nginx/ssl/nginx.key;


    server_name localhost;





    location /api {
        proxy_pass http://api;
    }

    location / {
        proxy_pass http://localhost:8082;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        # Enables WS support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
    }

}

Error while refreshing pending block on main

I keep getting this error then the Unlocker and payments eventually stops working:

Error while refreshing pending block on main: Post http://127.0.0.1:8545: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

Max chars in worker names

If miner set worker name more than 6-7 chars - in frontend worker will be "0".
Code for fix that ?

Ethereum is not orphan proof

I'll keep it here to refer if there will be complains regarding lost blocks.

screen shot 2016-05-07 at 09 50 56

Related geth issue: ethereum/go-ethereum#2298

Even if it fixed on 1.4 I found that geth is loosing uncles sometimes, this is how ETH works, it is not orphan proof.

Your Round Share 0%

not directly an issue, but always a annoyance.

"Your round share" is maybe accurate after a hour or so. But it is unfair if pool finds two blocks within seconds and "Your round share" goes back to 0% after first block. A few seconds later second block is found, when top-above-average miner a) send his last share exceptionally "1 minute ago" and therefore gets nothing of 2nd block, bloody idle-miner b) send 2 or 3 shares in these seconds and make a fat haul. Top miner a) does it's (more) work of last 1-2 hours for nothing, lame miner b) makes a jig (for less work). Could be improved, however.

API Config in Nginx??

Hello,

i have some Problems with the API in the ngnix.conf too. I don't know, if i configured it correct.
Here is the part of the config-file:

server {
listen 80;
server_name Sub.domainname.com;
}
upstream api {
server 127.0.0.1:8080;
}
location /api {
proxy_pass http://api;
}
location / {
proxy_pass http://localhost:8082;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# Enables WS support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
root /home/user/open-ethereum-pool/www/dist;
}

Is that correct?
For the configuration as a subdomain i must link in the Apache-Server to the Folder _/home/user/open-ethereum-pool/www/dist , is that correct?

Thank you very much.

Best regards

Zimbo

Stratum Port not working

When we setup the pool and trying to test the stratum port 8008 I see the following error in ethproxy window.

Unknown RPC method: &{0xc8203aaf40 eth_login 0xc8203aaf80 }

Any help would be great.

JSON

Hi!

First I have to thank you for providing such great pool software.
We currently use the old version ether-proxy on our online pool, but I am setting up a new server with this new version. We run a custom based mining frontend which retrieves it's information from pot 8080 where the JSON is located.
Unfortunately in this new version I don't see anything on port 8080, just a blank page because I have to make API calls now right? Is there any documentation how to retrieve the same kind of JSON information as before?

Thanks for your time.
Jan

No payments (account is locked)

Hi,

After I setup the software I found a block but in the separate payment process I see this:

2016/05/17 08:47:49 Failed to send payment: account is locked
2016/05/17 08:47:49 Paid total 0 Shannon to 0 of 1 payees
2016/05/17 10:47:49 Payments suspended due to last critical error: account is locked

The unlocker also runs in a separate process without errors...how to unlock the account so payments will be send?

Soft fork and gas usage

Dear owners of pools!
You should warn your users that they did not use accounts with contracts. This is the main reason for a safe transition to soft fork in the next week.
Pools are encouraged to use 30k gas for payouts which should ensure smooth operation during the soft fork.

System information

Geth version: geth version 1.4.8
Parity version : parity version 1.2.0+

OS & Version: Linux/OSX

Anonymous miners

I create pool, on my subdomain adress, and closed bot indexing (robot.txt), and only five people know about this pool (link). But alltime i see new workers (miners) on Miners (not my or my friends). Where this people found this pool ? oO

Cannot find module 'serialize-javascript'

"npm install -g [email protected]
npm install -g bower
npm install
bower install"
all right!
but execute instruction ./build.sh

root@ubuntu:~/open-ethereum-pool/www# ./build.sh
Cannot find module 'serialize-javascript'
Error: Cannot find module 'serialize-javascript'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/root/open-ethereum-pool/www/node_modules/ember-intl/index.js:10:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)

Frontend

Hello. Have a nice day.

System information

Geth version: geth version -- 1.4.10 geth --oppose-dao-fork

Redis version: redis-server --version -- 2.8.4

OS & Version: Linux/OSX -- Ubuntu 14.04.04

Node version -- v0.12.15
Npm version -- 2.15.1
Nginx version -- 1.4.6

Clean system.
All compile without error and without sudo.
Frontend looks. https://yadi.sk/i/seky4pyithNi2
What could be the problem?
What am I doing wrong?
Best Regards Igor.

Unable to fetch dependencies

System information

Geth version: geth version or commit hash if develop

Redis version: redis-server --version

OS & Version: Linux/OSX

Commit branch and hash: (master, ba60e1c)

Expected behaviour

Actual behaviour

Steps to reproduce the behaviour

Backtrace

[backtrace]

hellp!please!
ubuntu 14.04
cd open-ethereum-pool
make

root@iZ118a0dq4nZ:~/open-ethereum-pool# make
build/env.sh go get -v ./...
Fetching https://golang.org/x/crypto/ripemd160?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ripemd160?go-get=1: dial tcp 216.58.203.17:443: i/o timeout
package golang.org/x/crypto/ripemd160: unrecognized import path "golang.org/x/crypto/ripemd160" (https fetch: Get https://golang.org/x/crypto/ripemd160?go-get=1: dial tcp 216.58.203.17:443: i/o timeout)
make: *** [all] Error 1

How to process payments?

System information

Geth version: geth version or commit hash if develop
Version: 1.4.10-stable
Redis version: redis-server --version
Redis server v=3.0.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=687a2a319020fa42
OS & Version: Linux/OSX
Ubuntu 16
Commit branch and hash: (master, ba60e1c)

Expected behaviour

  1. Payments get processed.
  2. Blocks moving from "New Block" to "Immature" to "Blocks"
  3. User's payout incrementing in miner view

Actual behaviour

Not seeing payouts being sent. Mined block stuck in "New Block" for over 4 hour

Steps to reproduce the behaviour

Don't know

Backtrace

[backtrace]

Ironic - ETH donations address on a ETC pool

I am building ETC pool with open-ethereum-pool. Thank you for your work.

Please, create for yourself an ETC address, or eventually BTC address and add it/them commented into the html footer.

I dislike ETH and I hesitate whether to leave your address in the footer or to remove it ...

Not listening on Proxy and Stratum ports

I have installed the pool and it is not listening on the port 8888 and 8008. when checked, it says ports are closed. Firewall is also disabled.

To me, it looks like it is listening on ipv6... I tried to add my IP in config file and it gives this error 2016/06/13 20:09:58 Failed to start proxy: listen tcp 130.211.144.117:8888: bind: cannot assign requested address

tcp6 0 0 :::8008 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::8888 :::* LISTEN
tcp6 0 0 :::30303 :::* LISTEN
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46562 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46560 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46556 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46570 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46580 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46567 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46572 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46582 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46552 TIME_WAIT
tcp6 0 0 127.0.0.1:8080 127.0.0.1:46576 TIME_WAIT

very high round variance

Hey, there has been very high round variance lately.. around 500% what can be done about that?
Pool has around 2GH, and yet no blocks found last 2 days due to high variance.

Errors on installing packages..

Hi Guys, trying to get this running :)

getting this error at this point cant figure it out


EtherPool:~$ go get gopkg.in/go-redis/cache.v3
# gopkg.in/redis.v3
go/src/gopkg.in/redis.v3/error.go:70: undefined: strings.LastIndexByte

also

EtherPool:~$ cd open-ethereum-pool/
Etharadmin@EtherPool:~/open-ethereum-pool$ go build -o ether-pool main.go
# gopkg.in/redis.v3
../go/src/gopkg.in/redis.v3/error.go:70: undefined: strings.LastIndexByte

But I guess the last one must be due to the first error.

Please help me get up and running.

Stats API Temporarily Down

Stats API Temporarily Down when using a samsung mobile phone .
then when i go back to the website it has crashed.
Livereload server on http://localhost:49152
Serving on http://localhost:81/

Build successful - 3945ms.

Slowest Trees | Total
----------------------------------------------+---------------------
Babel | 459ms
SourceMapConcat: Concat: Vendor /assets/ve... | 259ms
JSHint app- QUnit | 227ms
BroccoliMergeTrees: ember-cli-qunit: treeF... | 222ms
Babel | 212ms

Slowest Trees (cumulative) | Total (avg)
----------------------------------------------+---------------------
Babel (18) | 1615ms (89 ms)
TemplateCompiler (2) | 280ms (140 ms)
SourceMapConcat: Concat: Vendor /asset... (1) | 259ms
JSHint app- QUnit (1) | 227ms
BroccoliMergeTrees: ember-cli-qunit: t... (1) | 222ms

Run geth

hi,
any other parametrs need to run geth (start node) ?
Currently run like this:
screen -dmS geth geth --rpc --rpcaddr "localhost" --rpcport "8545"

Payouts in automatic mode

Actually it's not an issue but more a question.

If there's a need to run unlocker then payouts in a sequence by cron, then before running payouts it need to wait for unlocker to finish (better with success error code). However, when unlocker is done it stays running so there's no automatic way to identify when payout must be started.

Please suggest what should the best strategy here.

Thanks.

New blocks

Hi again)))
After some time mining from pool start, pool find a block, and this block showing in stats "New blocks" (Recently Found Blocks). What happens with block next?) Why is not in immature tab or block tab? oO

UP:
https://etherscan.io/block/1617995

Why : Mined By: 0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5 (Nanopool) in 0 secs

Running Pool error

System information

Geth version:

Geth
Version: 1.4.6-stable-0f036f62
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.6.2
OS: darwin
GOPATH=/Users/u2/go
GOROOT=/usr/local/Cellar/go/1.6.2/libexec

Redis version:

Redis server v=3.0.0 sha=00000000:0 malloc=libc bits=64 build=7dbf27dd5c951356

OS & Version:
OSX 10.11.5 (15F34)

Commit branch and hash:

master 
commit 1361eb04161ebe2643e7db7cb3442e4462ae6eb5

Expected behaviour

./ether-pool config.json

Actual behaviour

./ether-pool config.json
2016/06/25 20:00:11 Loading config: /Users/u2/ethfans/open-ethereum-pool/config.json
2016/06/25 20:00:11 Running with 2 threads
2016/06/25 20:00:11 Backend check reply: PONG
2016/06/25 20:00:11 Starting API on 0.0.0.0:8080
2016/06/25 20:00:11 Set stats collect interval to 5s
2016/06/25 20:00:11 Set purge interval to 10m0s
2016/06/25 20:00:11 Policy state refresh complete
2016/06/25 20:00:11 Set policy stats reset every 1h0m0s
2016/06/25 20:00:11 Set policy state refresh every 1m0s
2016/06/25 20:00:11 Running with 8 policy workers
2016/06/25 20:00:11 Upstream: main => http://127.0.0.1:8545
2016/06/25 20:00:11 Upstream: backup => http://127.0.0.2:8545
2016/06/25 20:00:11 Default upstream: main => http://127.0.0.1:8545
2016/06/25 20:00:11 Stratum listening on 0.0.0.0:8008
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Set block refresh every 120ms
2016/06/25 20:00:11 Purged stale stats from backend, 0 shares affected, elapsed time 802.374µs
2016/06/25 20:00:11 Starting proxy on 0.0.0.0:8888
2016/06/25 20:00:11 Stats collection finished 328.676µs
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
2016/06/25 20:00:11 Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused

Steps to reproduce the behaviour

Backtrace

[backtrace]

Information regarding vardiff

  • Pool will never support vardiff because it's not secure
  • If you wanna offer low diff port by setting up additional pool node, make sure that you are using separate geth instance with different etherbase for this node (each port must have different header)

Nodes with different diff settings must have different block header pow-hash. In other words, shares from one node with diff X must be invalid on a node with diff Y even if share matches target on both nodes.

Pool not charging fees

Till now we've mined around 178 block and around 20 uncle, so lets say 1000 Ether total for the sake of argument , the pool's account balance now is 0.05 Ether when it should be at least 10 Ether.

The pool is not charging any fees !

ethminer-genoil

Hi there,

Some miners want to use ethminer-genoil stratum software. However they get the following:

Command: ethminer -G -S 192.168.2.3:3334 -O 0xdb0d361cd4972510168ef0f67eca0d32d6bb129d:x

Genoil's ethminer 0.9.41-genoil-1.1

Found suitable OpenCL device [Tahiti ] with 3221225472 bytes of GPU memory
i 19:24:52|main Connecting to stratum server 192.168.2.3:3334
i 19:24:52|stratum Connected to stratum server 192.168.2.3 : 3334
i 19:24:52|stratum Starting farm
i 19:24:52|stratum Subscribed to stratum server
i 19:24:52|stratum Worker not authorized: 0xdb0d361cd4972510168ef0f67eca0d32d6bb129d
i 19:24:52|stratum Disconnecting
i 19:24:52|stratum Stopping farm

open-ethereum-pool

2016/05/26 00:24:52 Unknown RPC method: &{0xc8202d01c0 mining.subscribe 0xc8202d01e0 }
2016/05/26 00:24:52 Unknown RPC method: &{0xc820494760 mining.authorize 0xc820494780 }

Is it possible to edit the open-ethereum-pool software to support these kind of RPC calls?

Config pool line

In this line need write pool wallet adress ? or what?
// Pay out miners using this module
// Address with pool balance
"address": "0x0",

help config stats api

Stats API Temporarily Down

Usually it's just a temporal issue and mining is not affected.

Pool fatal error

System information

Geth version:
Geth
Version: 1.4.5-stable
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.5.1
OS: linux
GOPATH=
GOROOT=/usr/lib/go

Redis version:
Redis server v=3.2.0 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=ef1bb2cc74ed4f89

OS & Version: Linux/OSX
Linux eth 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:36:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Commit branch and hash:
Master

Pool crash with this backtrace:

fatal error: concurrent map read and map write

goroutine 68 [running]:
runtime.throw(0xa4c040, 0x21)
    /usr/lib/go/src/runtime/panic.go:530 +0x90 fp=0xc8203d18e0 sp=0xc8203d18c8
runtime.mapaccess2_faststr(0x839d80, 0xc8200ce450, 0xc820252a40, 0xb, 0xc800000000, 0xc820252a40)
    /usr/lib/go/src/runtime/hashmap_fast.go:307 +0x5b fp=0xc8203d1940 sp=0xc8203d18e0
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).Get(0xc820084a00, 0xc820252a40, 0xb, 0x0)
    /home/alice/open-ethereum-pool/policy/policy.go:173 +0xbd fp=0xc8203d19b0 sp=0xc8203d1940
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).IsBanned(0xc820084a00, 0xc820252a40, 0xb, 0xb)
    /home/alice/open-ethereum-pool/policy/policy.go:188 +0x35 fp=0xc8203d19d8 sp=0xc8203d19b0
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ServeHTTP(0xc82007e1b0, 0x7f9c57e97c18, 0xc82005e680, 0xc8204529a0)
    /home/alice/open-ethereum-pool/proxy/proxy.go:169 +0xc6 fp=0xc8203d1a58 sp=0xc8203d19d8
github.com/gorilla/mux.(*Router).ServeHTTP(0xc820018b40, 0x7f9c57e97c18, 0xc82005e680, 0xc8204529a0)
    /home/alice/go/src/github.com/gorilla/mux/mux.go:107 +0x285 fp=0xc8203d1b70 sp=0xc8203d1a58
net/http.serverHandler.ServeHTTP(0xc82007a980, 0x7f9c57e97c18, 0xc82005e680, 0xc8204529a0)
    /usr/lib/go/src/net/http/server.go:2081 +0x19e fp=0xc8203d1bd0 sp=0xc8203d1b70
net/http.(*conn).serve(0xc820198f80)
    /usr/lib/go/src/net/http/server.go:1472 +0xf2e fp=0xc8203d1f98 sp=0xc8203d1bd0
runtime.goexit()
    /usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8203d1fa0 sp=0xc8203d1f98
created by net/http.(*Server).Serve
    /usr/lib/go/src/net/http/server.go:2137 +0x44e

goroutine 1 [chan receive, 1097 minutes]:
main.main()
    /home/alice/open-ethereum-pool/main.go:104 +0x3a9

goroutine 17 [syscall, 1097 minutes, locked to thread]:
runtime.goexit()
    /usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1

goroutine 5 [select, 1097 minutes]:
github.com/ethereum/go-ethereum/logger.dispatchLoop()
    /home/alice/go/src/github.com/ethereum/go-ethereum/logger/sys.go:81 +0x625
created by github.com/ethereum/go-ethereum/logger.init.1
    /home/alice/go/src/github.com/ethereum/go-ethereum/logger/sys.go:60 +0x2b

goroutine 6 [chan receive]:
github.com/ethereum/go-ethereum/logger/glog.(*loggingT).flushDaemon(0xe913e0)
    /home/alice/go/src/github.com/ethereum/go-ethereum/logger/glog/glog.go:931 +0x67
created by github.com/ethereum/go-ethereum/logger/glog.init.1
    /home/alice/go/src/github.com/ethereum/go-ethereum/logger/glog/glog.go:460 +0x6f

goroutine 18 [IO wait, 29 minutes]:
net.runtime_pollWait(0x7f9c57d530a8, 0x72, 0x0)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201e1410, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201e1410, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc8201e13b0, 0x0, 0x7f9c57e978b8, 0xc82016d300)
    /usr/lib/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc820026118, 0x456780, 0x0, 0x0)
    /usr/lib/go/src/net/tcpsock_posix.go:254 +0x4d
net/http.tcpKeepAliveListener.Accept(0xc820026118, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2427 +0x41
net/http.(*Server).Serve(0xc82007a980, 0x7f9c57d57808, 0xc820026118, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2117 +0x129
net/http.(*Server).ListenAndServe(0xc82007a980, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2098 +0x136
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).Start(0xc82007e1b0)
    /home/alice/open-ethereum-pool/proxy/proxy.go:135 +0x342
main.startProxy()
    /home/alice/open-ethereum-pool/main.go:25 +0x3d
created by main.main
    /home/alice/open-ethereum-pool/main.go:92 +0x301

goroutine 19 [IO wait]:
net.runtime_pollWait(0x7f9c57d53168, 0x72, 0x0)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c1020, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c1020, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc8201c0fc0, 0x0, 0x7f9c57e978b8, 0xc820394720)
    /usr/lib/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc820114098, 0x456780, 0x0, 0x0)
    /usr/lib/go/src/net/tcpsock_posix.go:254 +0x4d
net/http.tcpKeepAliveListener.Accept(0xc820114098, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2427 +0x41
net/http.(*Server).Serve(0xc820198700, 0x7f9c57d57808, 0xc820114098, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2117 +0x129
net/http.(*Server).ListenAndServe(0xc820198700, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2098 +0x136
net/http.ListenAndServe(0xc820130010, 0xc, 0x7f9c57d577a8, 0xc820193180, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:2195 +0x98
_/home/alice/open-ethereum-pool/api.(*ApiServer).listen(0xc8200f46c0)
    /home/alice/open-ethereum-pool/api/server.go:107 +0x355
_/home/alice/open-ethereum-pool/api.(*ApiServer).Start(0xc8200f46c0)
    /home/alice/open-ethereum-pool/api/server.go:95 +0x347
main.startApi()
    /home/alice/open-ethereum-pool/main.go:30 +0x45
created by main.main
    /home/alice/open-ethereum-pool/main.go:95 +0x325

goroutine 8 [select]:
_/home/alice/open-ethereum-pool/policy.Start.func1(0xc820052b00, 0xc820084a00, 0x34630b8a000, 0xc820052b40, 0xdf8475800)
    /home/alice/open-ethereum-pool/policy/policy.go:89 +0x13b
created by _/home/alice/open-ethereum-pool/policy.Start
    /home/alice/open-ethereum-pool/policy/policy.go:98 +0x4a9

goroutine 9 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 10 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 11 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 12 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 13 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 14 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 15 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 16 [chan receive, 1097 minutes]:
_/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker.func1(0xc820084a00)
    /home/alice/open-ethereum-pool/policy/policy.go:111 +0x55
created by _/home/alice/open-ethereum-pool/policy.(*PolicyServer).startPolicyWorker
    /home/alice/open-ethereum-pool/policy/policy.go:115 +0x35

goroutine 34 [IO wait]:
net.runtime_pollWait(0x7f9c57d53228, 0x72, 0x0)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820054a70, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820054a70, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc820054a10, 0x0, 0x7f9c57e978b8, 0xc820171880)
    /usr/lib/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc8200260c0, 0xc8203603f0, 0x0, 0x0)
    /usr/lib/go/src/net/tcpsock_posix.go:254 +0x4d
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP(0xc82007e1b0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:38 +0x467
created by _/home/alice/open-ethereum-pool/proxy.NewProxy
    /home/alice/open-ethereum-pool/proxy/proxy.go:66 +0x834

goroutine 39 [chan receive]:
_/home/alice/open-ethereum-pool/proxy.NewProxy.func1(0xc820053500, 0xc82007e1b0, 0x7270e00)
    /home/alice/open-ethereum-pool/proxy/proxy.go:86 +0x47
created by _/home/alice/open-ethereum-pool/proxy.NewProxy
    /home/alice/open-ethereum-pool/proxy/proxy.go:91 +0xa7f

goroutine 40 [chan receive]:
_/home/alice/open-ethereum-pool/proxy.NewProxy.func2(0xc820053540, 0xc82007e1b0, 0x12a05f200)
    /home/alice/open-ethereum-pool/proxy/proxy.go:96 +0x47
created by _/home/alice/open-ethereum-pool/proxy.NewProxy
    /home/alice/open-ethereum-pool/proxy/proxy.go:101 +0xabb

goroutine 20 [select]:
_/home/alice/open-ethereum-pool/api.(*ApiServer).Start.func1(0xc8200d2780, 0xc8200f46c0, 0xc8200d27c0, 0x8bb2c97000)
    /home/alice/open-ethereum-pool/api/server.go:81 +0x14b
created by _/home/alice/open-ethereum-pool/api.(*ApiServer).Start
    /home/alice/open-ethereum-pool/api/server.go:92 +0x32a

goroutine 1282079 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e8c0, 0x72, 0xc8202d3400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b8060, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b8060, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b8000, 0xc8202d3400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114030, 0xc8202d3400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820275e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820275e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820275e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820466240, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8204a55e0, 0xc82007e1b0, 0xc820114030, 0xc82014e000, 0xc820466240)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 41 [chan receive]:
_/home/alice/open-ethereum-pool/proxy.NewProxy.func3(0xc820053580, 0xc82007e1b0, 0xc8200d76e0, 0xe91fe0, 0xb2d05e00)
    /home/alice/open-ethereum-pool/proxy/proxy.go:106 +0x59
created by _/home/alice/open-ethereum-pool/proxy.NewProxy
    /home/alice/open-ethereum-pool/proxy/proxy.go:120 +0xb0e

goroutine 1095461 [IO wait]:
net.runtime_pollWait(0x7f9c57d623f0, 0x72, 0xc820269c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039fe90, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039fe90, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039fe30, 0xc820269c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cc5e8, 0xc820269c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82057de88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82057de88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82057de88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204ac7c0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820203320, 0xc82007e1b0, 0xc8202cc5e8, 0xc82014e000, 0xc8204ac7c0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1094351 [IO wait]:
net.runtime_pollWait(0x7f9c57d629f0, 0x72, 0xc820441400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b96b0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b96b0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b9650, 0xc820441400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cc830, 0xc820441400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820577e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820577e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820577e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204ac0c0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202ab3a0, 0xc82007e1b0, 0xc8202cc830, 0xc82014e000, 0xc8204ac0c0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 171 [IO wait]:
net.runtime_pollWait(0x7f9c57d52868, 0x72, 0xc8203da400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b83e0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b83e0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b8380, 0xc8203da400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201153e8, 0xc8203da400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820243e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820243e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820243e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203ec9c0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038d760, 0xc82007e1b0, 0xc8201153e8, 0xc82014e000, 0xc8203ec9c0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 48 [IO wait]:
net.runtime_pollWait(0x7f9c57d52f28, 0x72, 0xc820218000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201e1bf0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201e1bf0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201e1b90, 0xc820218000, 0x1000, 0x1000, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200262b0, 0xc820218000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.(*connReader).Read(0xc8201f1320, 0xc820218000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:526 +0x196
bufio.(*Reader).fill(0xc820216000)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820216000, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*conn).readRequest(0xc82007ae00, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:702 +0x2e6
net/http.(*conn).serve(0xc82007ae00)
    /usr/lib/go/src/net/http/server.go:1425 +0x947
created by net/http.(*Server).Serve
    /usr/lib/go/src/net/http/server.go:2137 +0x44e

goroutine 25 [IO wait]:
net.runtime_pollWait(0x7f9c57d52e68, 0x72, 0xc8201c9000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c1950, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c1950, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c18f0, 0xc8201c9000, 0x1000, 0x1000, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201141b0, 0xc8201c9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.(*connReader).Read(0xc820200960, 0xc8201c9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:526 +0x196
bufio.(*Reader).fill(0xc8200f58c0)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc8200f58c0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*conn).readRequest(0xc820198a00, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:702 +0x2e6
net/http.(*conn).serve(0xc820198a00)
    /usr/lib/go/src/net/http/server.go:1425 +0x947
created by net/http.(*Server).Serve
    /usr/lib/go/src/net/http/server.go:2137 +0x44e

goroutine 170 [IO wait]:
net.runtime_pollWait(0x7f9c57d52928, 0x72, 0xc8203da000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b8370, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b8370, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b8310, 0xc8203da000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820115230, 0xc8203da000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202ffe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202ffe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202ffe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820393400, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038ba10, 0xc82007e1b0, 0xc820115230, 0xc82014e000, 0xc820393400)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 194 [IO wait]:
net.runtime_pollWait(0x7f9c57d52568, 0x72, 0xc8202a3000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b8760, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b8760, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b8700, 0xc8202a3000, 0x1000, 0x1000, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201154d0, 0xc8202a3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.(*connReader).Read(0xc820402fa0, 0xc8202a3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:526 +0x196
bufio.(*Reader).fill(0xc820397380)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820397380, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*conn).readRequest(0xc820405e00, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:702 +0x2e6
net/http.(*conn).serve(0xc820405e00)
    /usr/lib/go/src/net/http/server.go:1425 +0x947
created by net/http.(*Server).Serve
    /usr/lib/go/src/net/http/server.go:2137 +0x44e

goroutine 168 [IO wait]:
net.runtime_pollWait(0x7f9c57d529e8, 0x72, 0xc8201c7c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b8220, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b8220, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b81c0, 0xc8201c7c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820115188, 0xc8201c7c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82041fe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82041fe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82041fe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820392900, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038d6d0, 0xc82007e1b0, 0xc820115188, 0xc82014e000, 0xc820392900)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1453552 [IO wait]:
net.runtime_pollWait(0x7f9c57d62c30, 0x72, 0xc8202e6800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201e0ae0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201e0ae0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201e0a80, 0xc8202e6800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cd8a0, 0xc8202e6800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82023fe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82023fe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82023fe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820424ac0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202665f0, 0xc82007e1b0, 0xc8202cd8a0, 0xc82014e000, 0xc820424ac0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 160 [IO wait]:
net.runtime_pollWait(0x7f9c57d52c28, 0x72, 0xc820346400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039e300, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039e300, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039e2a0, 0xc820346400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200271e0, 0xc820346400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8204dde88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8204dde88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8204dde88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820370cc0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820322f20, 0xc82007e1b0, 0xc8200271e0, 0xc82014e000, 0xc820370cc0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1630843 [IO wait]:
net.runtime_pollWait(0x7f9c57d62330, 0x72, 0xc8201d9c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820246840, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820246840, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8202467e0, 0xc8201d9c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114b50, 0xc8201d9c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82043be88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82043be88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82043be88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8201a9f00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820308890, 0xc82007e1b0, 0xc820114b50, 0xc82014e000, 0xc8201a9f00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1333792 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e740, 0x72, 0xc8202e7400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820246a70, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820246a70, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820246a10, 0xc8202e7400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114c30, 0xc8202e7400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8203cde88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8203cde88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8203cde88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204b83c0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82000da40, 0xc82007e1b0, 0xc820114c30, 0xc82014e000, 0xc8204b83c0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 191 [IO wait]:
net.runtime_pollWait(0x7f9c57e9eec0, 0x72, 0xc8201c7000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022c290, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022c290, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022c230, 0xc8201c7000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026270, 0xc8201c7000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202fde88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202fde88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202fde88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820393f00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203fb5d0, 0xc82007e1b0, 0xc820026270, 0xc82014e000, 0xc820393f00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 203 [IO wait]:
net.runtime_pollWait(0x7f9c57e9ed40, 0x72, 0xc820029400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820246300, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820246300, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8202462a0, 0xc820029400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114358, 0xc820029400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820325e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820325e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820325e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820370680, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038cb60, 0xc82007e1b0, 0xc820114358, 0xc82014e000, 0xc820370680)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1093524 [IO wait]:
net.runtime_pollWait(0x7f9c57d62ff0, 0x72, 0xc8202e6c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247870, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247870, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247810, 0xc8202e6c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202ccea8, 0xc8202e6c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202f5e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202f5e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202f5e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203fdec0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820309cf0, 0xc82007e1b0, 0xc8202ccea8, 0xc82014e000, 0xc8203fdec0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1580294 [select]:
net/http.(*persistConn).writeLoop(0xc82019b930)
    /usr/lib/go/src/net/http/transport.go:1273 +0x472
created by net/http.(*Transport).dialConn
    /usr/lib/go/src/net/http/transport.go:854 +0x10cb

goroutine 1580293 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f280, 0x72, 0xc8202a2000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039eae0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039eae0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039ea80, 0xc8202a2000, 0x1000, 0x1000, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026b58, 0xc8202a2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f9c57e978e0, 0xc820026b58, 0xc82019b998, 0xc8202a2000, 0x1000, 0x1000, 0x408183, 0x0, 0x0)
    /usr/lib/go/src/net/http/transport.go:1683 +0x67
net/http.(*noteEOFReader).Read(0xc8202d0da0, 0xc8202a2000, 0x1000, 0x1000, 0xc8201f8d1d, 0x0, 0x0)
    <autogenerated>:284 +0xd0
bufio.(*Reader).fill(0xc82016f4a0)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc82016f4a0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc82019b930)
    /usr/lib/go/src/net/http/transport.go:1069 +0x177
created by net/http.(*Transport).dialConn
    /usr/lib/go/src/net/http/transport.go:853 +0x10a6

goroutine 283 [IO wait]:
net.runtime_pollWait(0x7f9c57d62db0, 0x72, 0xc820440400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c0990, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c0990, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c0930, 0xc820440400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114ca8, 0xc820440400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820241e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820241e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820241e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8201b2980, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82000dd50, 0xc82007e1b0, 0xc820114ca8, 0xc82014e000, 0xc8201b2980)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 231 [IO wait]:
net.runtime_pollWait(0x7f9c57e9ebc0, 0x72, 0xc8203da800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820246f40, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820246f40, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820246ee0, 0xc8203da800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114678, 0xc8203da800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820373e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820373e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820373e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8202a7200, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203fb870, 0xc82007e1b0, 0xc820114678, 0xc82014e000, 0xc8202a7200)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 233 [IO wait]:
net.runtime_pollWait(0x7f9c57e9ea40, 0x72, 0xc8203dac00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8202471e0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8202471e0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247180, 0xc8203dac00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201146f0, 0xc8203dac00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8204d9e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8204d9e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8204d9e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8202a7800, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8201ded70, 0xc82007e1b0, 0xc8201146f0, 0xc82014e000, 0xc8202a7800)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1322 [IO wait]:
net.runtime_pollWait(0x7f9c57d621b0, 0x72, 0xc820410800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820054290, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820054290, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820054230, 0xc820410800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820027500, 0xc820410800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8204dbe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8204dbe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8204dbe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204c4a40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82017a6c0, 0xc82007e1b0, 0xc820027500, 0xc82014e000, 0xc8204c4a40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1516042 [IO wait]:
net.runtime_pollWait(0x7f9c57d719a0, 0x72, 0xc8201ecc00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b88b0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b88b0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b8850, 0xc8201ecc00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114290, 0xc8201ecc00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820375e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820375e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820375e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820466a40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203d54b0, 0xc82007e1b0, 0xc820114290, 0xc82014e000, 0xc820466a40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 309 [IO wait]:
net.runtime_pollWait(0x7f9c57d62b70, 0x72, 0xc820440800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c1b10, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c1b10, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c1ab0, 0xc820440800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820115010, 0xc820440800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820291e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820291e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820291e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820304480, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82033afe0, 0xc82007e1b0, 0xc820115010, 0xc82014e000, 0xc820304480)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 253 [IO wait]:
net.runtime_pollWait(0x7f9c57e9eb00, 0x72, 0xc8200f6c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022d560, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022d560, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022d500, 0xc8200f6c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026720, 0xc8200f6c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820345e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820345e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820345e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820109c00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820202220, 0xc82007e1b0, 0xc820026720, 0xc82014e000, 0xc820109c00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 256 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e800, 0x72, 0xc820346000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022d720, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022d720, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022d6c0, 0xc820346000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200267f8, 0xc820346000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820329e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820329e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820329e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8200cc040, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820202b70, 0xc82007e1b0, 0xc8200267f8, 0xc82014e000, 0xc8200cc040)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 254 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e980, 0x72, 0xc8200f7c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022d5d0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022d5d0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022d570, 0xc8200f7c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026738, 0xc8200f7c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820415e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820415e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820415e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820109d00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820202910, 0xc82007e1b0, 0xc820026738, 0xc82014e000, 0xc820109d00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 317 [IO wait]:
net.runtime_pollWait(0x7f9c57d62ab0, 0x72, 0xc820440c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820054990, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820054990, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820054930, 0xc820440c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820115278, 0xc820440c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202bde88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202bde88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202bde88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204b8100, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202cf4b0, 0xc82007e1b0, 0xc820115278, 0xc82014e000, 0xc8204b8100)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1596951 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f340, 0x72, 0xc8201ed800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039e290, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039e290, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039e230, 0xc8201ed800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114120, 0xc8201ed800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820439e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820439e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820439e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203f6340, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820203750, 0xc82007e1b0, 0xc820114120, 0xc82014e000, 0xc8203f6340)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1567903 [IO wait]:
net.runtime_pollWait(0x7f9c57d71fa0, 0x72, 0xc8202b0400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022d4f0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022d4f0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022d490, 0xc8202b0400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820027100, 0xc8202b0400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202bfe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202bfe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202bfe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204acf40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820289700, 0xc82007e1b0, 0xc820027100, 0xc82014e000, 0xc8204acf40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 726046 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f4c0, 0x72, 0xc8202b1800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820054760, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820054760, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820054700, 0xc8202b1800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114e70, 0xc8202b1800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820341e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820341e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820341e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204c4200, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203220a0, 0xc82007e1b0, 0xc820114e70, 0xc82014e000, 0xc8204c4200)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 734999 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f040, 0x72, 0xc8202d2800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820054450, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820054450, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8200543f0, 0xc8202d2800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cdcf0, 0xc8202d2800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82057be88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82057be88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82057be88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204d0400, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820323580, 0xc82007e1b0, 0xc8202cdcf0, 0xc82014e000, 0xc8204d0400)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 866044 [IO wait]:
net.runtime_pollWait(0x7f9c57d626f0, 0x72, 0xc8202b1c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247090, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247090, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247030, 0xc8202b1c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202ccd60, 0xc8202b1c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820437e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820437e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820437e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203fc680, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203223f0, 0xc82007e1b0, 0xc8202ccd60, 0xc82014e000, 0xc8203fc680)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 984555 [IO wait]:
net.runtime_pollWait(0x7f9c57d624b0, 0x72, 0xc820268400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820246ed0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820246ed0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820246e70, 0xc820268400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114e08, 0xc820268400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202efe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202efe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202efe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203fcb40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820308960, 0xc82007e1b0, 0xc820114e08, 0xc82014e000, 0xc8203fcb40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 571 [IO wait]:
net.runtime_pollWait(0x7f9c57d62630, 0x72, 0xc820268c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8202468b0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8202468b0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820246850, 0xc820268c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026e18, 0xc820268c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820343e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820343e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820343e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8202a7f80, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82033bdd0, 0xc82007e1b0, 0xc820026e18, 0xc82014e000, 0xc8202a7f80)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 441 [IO wait]:
net.runtime_pollWait(0x7f9c57d62870, 0x72, 0xc8202b0c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c18e0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c18e0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c1880, 0xc8202b0c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026d38, 0xc8202b0c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82028de88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82028de88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82028de88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204b8440, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820431e00, 0xc82007e1b0, 0xc820026d38, 0xc82014e000, 0xc8204b8440)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 513 [IO wait]:
net.runtime_pollWait(0x7f9c57d627b0, 0x72, 0xc8202b1000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247170, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247170, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247110, 0xc8202b1000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026370, 0xc8202b1000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820451e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820451e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820451e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820506f40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202284d0, 0xc82007e1b0, 0xc820026370, 0xc82014e000, 0xc820506f40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 191949 [IO wait]:
net.runtime_pollWait(0x7f9c57d620f0, 0x72, 0xc8201ec400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022ce60, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022ce60, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022ce00, 0xc8201ec400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201146f8, 0xc8201ec400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202c1e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202c1e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202c1e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8202c9fc0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820203410, 0xc82007e1b0, 0xc8201146f8, 0xc82014e000, 0xc8202c9fc0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 646402 [IO wait]:
net.runtime_pollWait(0x7f9c57d62e70, 0x72, 0xc8202b0000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b9a30, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b9a30, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b99d0, 0xc8202b0000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114548, 0xc8202b0000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82028fe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82028fe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82028fe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8200cd200, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038ba90, 0xc82007e1b0, 0xc820114548, 0xc82014e000, 0xc8200cd200)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1602854 [IO wait]:
net.runtime_pollWait(0x7f9c57d62930, 0x72, 0xc8202e7800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022cdf0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022cdf0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022cd90, 0xc8202e7800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202ccb50, 0xc8202e7800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820435e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820435e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820435e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8201a9940, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202023b0, 0xc82007e1b0, 0xc8202ccb50, 0xc82014e000, 0xc8201a9940)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 212130 [IO wait]:
net.runtime_pollWait(0x7f9c57d526e8, 0x72, 0xc8201ed000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247b80, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247b80, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247b20, 0xc8201ed000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820026b80, 0xc8201ed000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82032be88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82032be88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82032be88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820448c40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82011f120, 0xc82007e1b0, 0xc820026b80, 0xc82014e000, 0xc820448c40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 215583 [IO wait]:
net.runtime_pollWait(0x7f9c57d72120, 0x72, 0xc8202d3c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201e01b0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201e01b0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201e0150, 0xc8202d3c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820027170, 0xc8202d3c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82044de88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82044de88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82044de88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204b8540, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038ba60, 0xc82007e1b0, 0xc820027170, 0xc82014e000, 0xc8204b8540)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1588431 [IO wait]:
net.runtime_pollWait(0x7f9c57d52b68, 0x72, 0xc8201edc00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820107b10, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820107b10, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820107ab0, 0xc8201edc00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8201156a0, 0xc8201edc00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820417e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820417e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820417e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204c5680, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82019ea70, 0xc82007e1b0, 0xc8201156a0, 0xc82014e000, 0xc8204c5680)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1528435 [IO wait]:
net.runtime_pollWait(0x7f9c57d72060, 0x72, 0xc8202e7000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022cfb0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022cfb0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022cf50, 0xc8202e7000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114ee8, 0xc8202e7000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820379e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820379e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820379e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8204b8dc0, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82034be60, 0xc82007e1b0, 0xc820114ee8, 0xc82014e000, 0xc8204b8dc0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 422142 [IO wait]:
net.runtime_pollWait(0x7f9c57d71a60, 0x72, 0xc8202d3000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b9170, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b9170, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b9110, 0xc8202d3000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cc390, 0xc8202d3000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820419e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820419e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820419e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820367080, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820309b60, 0xc82007e1b0, 0xc8202cc390, 0xc82014e000, 0xc820367080)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 742901 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e5c0, 0x72, 0xc8202b1400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820106ed0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820106ed0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820106e70, 0xc8202b1400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cd278, 0xc8202b1400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820271e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820271e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820271e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc82034c000, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82024d680, 0xc82007e1b0, 0xc8202cd278, 0xc82014e000, 0xc82034c000)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 647148 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f1c0, 0x72, 0xc8202e6000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8205167d0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8205167d0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820516770, 0xc8202e6000, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cd200, 0xc8202e6000, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820327e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820327e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820327e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8201b2880, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038ae80, 0xc82007e1b0, 0xc8202cd200, 0xc82014e000, 0xc8201b2880)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 645093 [IO wait]:
net.runtime_pollWait(0x7f9c57d62570, 0x72, 0xc8202b0800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039e8b0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039e8b0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039e850, 0xc8202b0800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114220, 0xc8202b0800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82023de88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82023de88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82023de88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203f7740, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820308030, 0xc82007e1b0, 0xc820114220, 0xc82014e000, 0xc8203f7740)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1580369 [select]:
net/http.(*persistConn).writeLoop(0xc82019b040)
    /usr/lib/go/src/net/http/transport.go:1273 +0x472
created by net/http.(*Transport).dialConn
    /usr/lib/go/src/net/http/transport.go:854 +0x10cb

goroutine 1450962 [IO wait]:
net.runtime_pollWait(0x7f9c57d62f30, 0x72, 0xc8201d8800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247100, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247100, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8202470a0, 0xc8201d8800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cd2e0, 0xc8201d8800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8203cfe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8203cfe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8203cfe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8202c8840, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82055a570, 0xc82007e1b0, 0xc8202cd2e0, 0xc82014e000, 0xc8202c8840)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1111071 [IO wait]:
net.runtime_pollWait(0x7f9c57d71ca0, 0x72, 0xc820441800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039f8e0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039f8e0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039f880, 0xc820441800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cc5c0, 0xc820441800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820175e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820175e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820175e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820467f40, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82038c450, 0xc82007e1b0, 0xc8202cc5c0, 0xc82014e000, 0xc820467f40)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 647853 [IO wait]:
net.runtime_pollWait(0x7f9c57d52628, 0x72, 0xc8202d3800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820516bc0, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820516bc0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820516b60, 0xc8202d3800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114d98, 0xc8202d3800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820377e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820377e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820377e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203fdc00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc82017b9c0, 0xc82007e1b0, 0xc820114d98, 0xc82014e000, 0xc8203fdc00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 756081 [IO wait]:
net.runtime_pollWait(0x7f9c57d721e0, 0x72, 0xc820441c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8203b9720, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8203b9720, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8203b96c0, 0xc820441c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114620, 0xc820441c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc8202fbe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8202fbe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8202fbe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820161880, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202abb90, 0xc82007e1b0, 0xc820114620, 0xc82014e000, 0xc820161880)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 645071 [IO wait]:
net.runtime_pollWait(0x7f9c57d524a8, 0x72, 0xc8201ec800)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039e060, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039e060, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039e000, 0xc8201ec800, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114000, 0xc8201ec800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82026fe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82026fe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82026fe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203f6040, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202886c0, 0xc82007e1b0, 0xc820114000, 0xc82014e000, 0xc8203f6040)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 988839 [IO wait]:
net.runtime_pollWait(0x7f9c57d718e0, 0x72, 0xc8202d2c00)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039ff00, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039ff00, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039fea0, 0xc8202d2c00, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820114828, 0xc8202d2c00, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc820301e88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820301e88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc820301e88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc82034d000, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8202b7460, 0xc82007e1b0, 0xc820114828, 0xc82014e000, 0xc82034d000)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 648575 [IO wait]:
net.runtime_pollWait(0x7f9c57e9f400, 0x72, 0xc8202e6400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820247d40, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820247d40, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820247ce0, 0xc8202e6400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8202cca78, 0xc8202e6400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82044fe88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82044fe88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82044fe88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc820393e00, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc8203c89d0, 0xc82007e1b0, 0xc8202cca78, 0xc82014e000, 0xc820393e00)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

goroutine 1580368 [IO wait]:
net.runtime_pollWait(0x7f9c57e9e680, 0x72, 0xc82030a000)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82039ec30, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82039ec30, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82039ebd0, 0xc82030a000, 0x1000, 0x1000, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820115080, 0xc82030a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f9c57e978e0, 0xc820115080, 0xc82019b0a8, 0xc82030a000, 0x1000, 0x1000, 0x408183, 0x0, 0x0)
    /usr/lib/go/src/net/http/transport.go:1683 +0x67
net/http.(*noteEOFReader).Read(0xc8203c0240, 0xc82030a000, 0x1000, 0x1000, 0xc8201f5d1d, 0x0, 0x0)
    <autogenerated>:284 +0xd0
bufio.(*Reader).fill(0xc82016f560)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc82016f560, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc82019b040)
    /usr/lib/go/src/net/http/transport.go:1069 +0x177
created by net/http.(*Transport).dialConn
    /usr/lib/go/src/net/http/transport.go:853 +0x10a6

goroutine 1054475 [runnable]:
syscall.Syscall(0x0, 0x3e, 0xc8203ac000, 0x1000, 0xdf, 0x1000, 0x0)
    /usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x3e, 0xc8203ac000, 0x1000, 0x1000, 0x72, 0x0, 0x0)
    /usr/lib/go/src/syscall/zsyscall_linux_amd64.go:783 +0x5f
syscall.Read(0x3e, 0xc8203ac000, 0x1000, 0x1000, 0xffffffffffffff01, 0x0, 0x0)
    /usr/lib/go/src/syscall/syscall_unix.go:161 +0x4d
net.(*netFD).Read(0xc820246070, 0xc8203ac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/fd_unix.go:246 +0x18b
net.(*conn).Read(0xc8202cc718, 0xc8203ac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
net/http.(*connReader).Read(0xc8204137e0, 0xc8203ac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:526 +0x196
bufio.(*Reader).fill(0xc82029f740)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc82029f740, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:132 +0xcc
net/http.(*conn).readRequest(0xc820198b00, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/http/server.go:702 +0x2e6
net/http.(*conn).serve(0xc820198b00)
    /usr/lib/go/src/net/http/server.go:1425 +0x947
created by net/http.(*Server).Serve
    /usr/lib/go/src/net/http/server.go:2137 +0x44e

goroutine 1089309 [IO wait]:
net.runtime_pollWait(0x7f9c57d52da8, 0x72, 0xc820269400)
    /usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82022cd10, 0x72, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82022cd10, 0x0, 0x0)
    /usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82022ccb0, 0xc820269400, 0x400, 0x400, 0x0, 0x7f9c57e93050, 0xc82000c1c0)
    /usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200267f0, 0xc820269400, 0x400, 0x400, 0x0, 0x0, 0x0)
    /usr/lib/go/src/net/net.go:172 +0xe4
bufio.(*Reader).fill(0xc82041de88)
    /usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc82041de88, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc82041de88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/lib/go/src/bufio/bufio.go:357 +0x53
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).handleTCPClient(0xc82007e1b0, 0xc8203e4180, 0x0, 0x0)
    /home/alice/open-ethereum-pool/proxy/stratum.go:71 +0x1a4
_/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP.func1(0xc820202d10, 0xc82007e1b0, 0xc8200267f0, 0xc82014e000, 0xc8203e4180)
    /home/alice/open-ethereum-pool/proxy/stratum.go:55 +0x2f
created by _/home/alice/open-ethereum-pool/proxy.(*ProxyServer).ListenTCP
    /home/alice/open-ethereum-pool/proxy/stratum.go:61 +0x6d9

unlocker & "No immature blocks to credit miners"

This is continuation of #43 that was closed although the issue is still there - I'm still unable to have payouts running. Sorry to be a pain maybe.

I have "donate": true in the conf so I believe I pay for support. Will pay when it finally start working. Let me know if that's not enough.

Chain is in sync. Unlocker is running and shows

root@ip:~/open-ethereum-pool# ./ether-pool ./unlocker.json
2016/07/25 16:43:40 Loading config: /home/ubuntu/open-ethereum-pool/unlocker.json
2016/07/25 16:43:40 Backend check reply: PONG
2016/07/25 16:43:40 Starting block unlocker
2016/07/25 16:43:40 Set block unlock interval to 10m0s
2016/07/25 16:43:40 No block candidates to unlock
2016/07/25 16:43:40 No immature blocks to credit miners
2016/07/25 16:53:40 No block candidates to unlock
2016/07/25 16:53:40 No immature blocks to credit miners
2016/07/25 17:03:40 No block candidates to unlock
2016/07/25 17:03:40 No immature blocks to credit miners
2016/07/25 17:13:40 No block candidates to unlock
2016/07/25 17:13:40 No immature blocks to credit miners
2016/07/25 17:23:40 No block candidates to unlock
2016/07/25 17:23:40 No immature blocks to credit miners
2016/07/25 17:33:40 No block candidates to unlock
2016/07/25 17:33:40 No immature blocks to credit miners
2016/07/25 17:43:40 No block candidates to unlock
2016/07/25 17:43:40 No immature blocks to credit miners

Loop.

New blocks: 2179, Immature blocks: 0 Blocks: 0

These "new" blocks are old in fact. For how long to wait while it start changing new blocks to immature? When it's clear it's wrong?

Redis is there running as service and listening all time.

Should there be two different conf files for unlocker and payout processes or it can be one and one process?

Thanks.

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.