etclabscore / core-pool

open-source mining pool, supporting etchash, ubqhash & ethash.
GNU General Public License v3.0
13 stars 16 forks source link

stratum 2 support #4

Closed iquidus closed 3 years ago

iquidus commented 3 years ago

requires testing.

iquidus commented 3 years ago

do not merge.

pool drops connection on share submission. Investigating.

iquidus commented 3 years ago

pool panics on share submission

2021/01/22 17:26:59 Jobs broadcast finished 10.072µs
2021/01/22 17:27:01 Stats collection finished 1.903143ms
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x746131]

goroutine 66 [running]:
github.com/etclabscore/go-etchash.generateCache(0x7f972e980008, 0x59ff90, 0x59ff90, 0x34, 0xea60, 0x0, 0xc0001bb320, 0x20, 0x20)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/algorithm.go:211 +0x331
github.com/etclabscore/go-etchash.(*cache).generate.func1.1(0x7f972e980008, 0x59ff90, 0x59ff90)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:374 +0x78
github.com/etclabscore/go-etchash.memoryMapAndGenerate(0xc0000a81e0, 0x30, 0x167fe40, 0xc00036bf00, 0xc000225220, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:193 +0x2d1
github.com/etclabscore/go-etchash.(*cache).generate.func1()
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:374 +0x5ef
sync.(*Once).doSlow(0xc000021fd0, 0xc0002252e8)
    /usr/local/go/src/sync/once.go:66 +0xec
sync.(*Once).Do(...)
    /usr/local/go/src/sync/once.go:57
github.com/etclabscore/go-etchash.(*cache).generate(0xc000021f80, 0xc0001bb300, 0x15, 0x3, 0x0)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:334 +0xac
github.com/etclabscore/go-etchash.(*Light).getCache(0xc000064700, 0x2fdb0d, 0x40)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:529 +0x69c
github.com/etclabscore/go-etchash.(*Light).Compute(0xc000064700, 0x2fdb0d, 0x2e98166554c42dc7, 0x6d1540b2455cdd83, 0xb5949ea21cf38635, 0x741ce9ee4a7eadfb, 0x8a2b9bbaf04dffaa, 0x0, 0x0, 0x0, ...)
    /home/xocel/go/src/github.com/etclabscore/go-etchash/etchash.go:469 +0xab
github.com/etclabscore/core-pool/proxy.(*ProxyServer).processShare(0xc000115360, 0xc000026060, 0x2a, 0x823b14, 0x1, 0xc0001ba4c0, 0xe, 0xc000220070, 0xc0000646c0, 0x3, ...)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/miner.go:56 +0x11db
github.com/etclabscore/core-pool/proxy.(*ProxyServer).handleSubmitRPC(0xc000115360, 0xc00046c000, 0xc000026060, 0x2a, 0x823b14, 0x1, 0xc0000646c0, 0x3, 0x4, 0x7a2800, ...)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/handlers.go:81 +0x35f
github.com/etclabscore/core-pool/proxy.(*ProxyServer).handleTCPSubmitRPC(0xc000115360, 0xc00046c000, 0xc0001d3568, 0x6, 0xc0000646c0, 0x3, 0x4, 0x0, 0x0)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/handlers.go:53 +0xf6
github.com/etclabscore/core-pool/proxy.(*Session).handleTCPMessage(0xc00046c000, 0xc000115360, 0xc0000a5040, 0x796bc0, 0xc0000a5040)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/stratum.go:471 +0x2a15
github.com/etclabscore/core-pool/proxy.(*ProxyServer).handleTCPClient(0xc000115360, 0xc00046c000, 0x1, 0x0)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/stratum.go:119 +0x27f
github.com/etclabscore/core-pool/proxy.(*ProxyServer).ListenTCP.func3(0xc000115360, 0xc00009b700, 0x8a24e0, 0xc000010260, 0xc0000c4000, 0xc00046c000)
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/stratum.go:81 +0x39
created by github.com/etclabscore/core-pool/proxy.(*ProxyServer).ListenTCP
    /home/xocel/go/src/github.com/etclabscore/core-pool/proxy/stratum.go:80 +0x6f4
2021/01/22 17:27:04 Loading config: /etc/open-etc-pool/config.json
2021/01/22 17:27:04 Running with 2 threads
2021/01/22 17:27:04 Backend check reply: PONG
2021/01/22 17:27:04 Starting block unlocker
2021/01/22 17:27:04 Set block unlock interval to 10m0s
iquidus commented 3 years ago

likely related to recent go-etchash Compute() addition.

iquidus commented 3 years ago

panic fixed by: https://github.com/etclabscore/go-etchash/commit/0ba845eed1de1411057c66d32a7f02b982567d1a