SPD crash from mining pool module
BUG REPORT
spd crashes almost immediately when miner connects to stratum
Stack Trace or error message
panic: runtime error: makeslice: len out of range
goroutine 238 [running]:
encoding/hex.EncodeToString(...)
/usr/local/go/src/encoding/hex/hex.go:99
gitlab.com/SiaPrime/SiaPrime/types.Block.MerkleBranches(0x2100000000000000, 0xba8f298297e98e53, 0x802780ec388821c1, 0x203104d5bc1b3d42, 0x0, 0x5e724cea, 0xc0002ac280, 0x2, 0x2, 0x16ed828, ...)
/root/go/src/gitlab.com/SiaPrime/SiaPrime/types/block.go:246 +0x472
gitlab.com/SiaPrime/SiaPrime/modules/miningpool.(*Handler).sendStratumNotify(0xc0000de0a0, 0xc000330201, 0x0, 0x0)
/root/go/src/gitlab.com/SiaPrime/SiaPrime/modules/miningpool/handler.go:596 +0x2e3
gitlab.com/SiaPrime/SiaPrime/modules/miningpool.(*Handler).handleRequest(0xc0000de0a0, 0xc000330210, 0x0, 0x0)
/root/go/src/gitlab.com/SiaPrime/SiaPrime/modules/miningpool/handler.go:145 +0x35d
gitlab.com/SiaPrime/SiaPrime/modules/miningpool.(*Handler).Listen(0xc0000de0a0)
/root/go/src/gitlab.com/SiaPrime/SiaPrime/modules/miningpool/handler.go:193 +0x464
gitlab.com/SiaPrime/SiaPrime/modules/miningpool.(*Dispatcher).AddHandler(0xc0000de280, 0x10402a0, 0xc00031a008)
/root/go/src/gitlab.com/SiaPrime/SiaPrime/modules/miningpool/dispatcher.go:66 +0x198
created by gitlab.com/SiaPrime/SiaPrime/modules/miningpool.(*Dispatcher).ListenHandlers
/root/go/src/gitlab.com/SiaPrime/SiaPrime/modules/miningpool/dispatcher.go:124 +0x2ff
Expected Behavior
no crash
Observed Behavior
it crashes, dead and no longer running
How to reproduce it (as minimally and precisely as possible)
Have a yiimp schema in a mariadb and proper siaprime.yml file with db connection info. No need for yiimp web site or other parts to be running.
Starting spd with:
./spd -M gcthwp --host-addr :44282 --api-addr localhost:44280 --rpc-addr localhost:44281 &
and as soon as a miner connects it crashes.
Replace spd with 1.4.1.3 and it works correctly.
Environment
- SiaPrime version: 1.4.2
- OS: Arch Linux
(Linux bison 5.5.7-arch1-1 #1 SMP PREEMPT Sat, 29 Feb 2020 19:06:02 +0000 x86_64 GNU/Linux)
Edited by Greg Johnson