decred / gominer

Go (golang) based GPU miner for Decred.
GNU General Public License v3.0
160 stars 80 forks source link

panic: runtime error: index out of range #135

Closed gratefulcheddar closed 7 years ago

gratefulcheddar commented 7 years ago

got the following error after leaving my miner running for 15 minutes.

panic: runtime error: index out of range

goroutine 8 [running]: panic(0x8359c0, 0xc042004060) C:/Go/src/runtime/panic.go:500 +0x1af github.com/decred/gominer/stratum.(*Stratum).Unmarshal(0xc042430380, 0xc04246e000, 0x36, 0x40, 0x0, 0x0, 0x0, 0x0) C:/Users/Tim Thomas/go/src/github.com/decred/gominer/stratum/stratum.go:582 +0xe49 github.com/decred/gominer/stratum.(*Stratum).Listen(0xc042430380) C:/Users/Tim Thomas/go/src/github.com/decred/gominer/stratum/stratum.go:297 +0x5fa created by github.com/decred/gominer/stratum.StratumConn C:/Users/Tim Thomas/go/src/github.com/decred/gominer/stratum/stratum.go:226 +0x54b

jcvernaleo commented 7 years ago

Couple questions that might help narrow it down.

Did gominer submit any shares while it was running?

Also, which version of gominer was this? cuda, amd? And did you build it yourself or was it one of the released binaries?

Also, which pool were you using?

gratefulcheddar commented 7 years ago

As far as I could tell (from the CLI and pool website), gominer was submitting shares, yes. I was using decredpool.org, an AMD GPU (Radeon 7870), and built gominer myself using command prompt on Windows.

jolan commented 7 years ago

I'll try to reproduce myself but if you want to take a crack at it, it'd be very useful to catch it with the -d trace option so we can see what the JSON is. Seems like a message was sent in a format that we haven't encountered before.

gratefulcheddar commented 7 years ago

Will do, I wasn't able to reproduce it immediately after it occurred, but I'll let gominer run for a majority of today to see if it happens again.

unintuitive commented 7 years ago

I have this problem as well. Gominer runs normally for 15 minutes to an hour or two before unexpectedly crashing with this error message.

Win 10, AMD Radeon 290X, using the precompiled binary gominer-windows-amd64-opencladl-v0.6.0.zip

jolan commented 7 years ago

@unintuitive Which pool were you using when this occurred?

unintuitive commented 7 years ago

I used stratum+tcp://dcr.maxminers.net:7777

unintuitive commented 7 years ago

Two different Gominer runs and two different crashes with error message:

panic: runtime error: index out of range

goroutine 52 [running]:
panic(0x835500, 0xc04200c060)
        C:/Go/src/runtime/panic.go:500 +0x1af
github.com/decred/gominer/stratum.(*Stratum).Unmarshal(0xc0423dc540, 0xc042490800, 0x37, 0x40, 0x0, 0x0, 0x0, 0x0)
        C:/users/user/go/src/github.com/decred/gominer/stratum/stratum.go:582 +0xe49
github.com/decred/gominer/stratum.(*Stratum).Listen(0xc0423dc540)
        C:/users/user/go/src/github.com/decred/gominer/stratum/stratum.go:297 +0x5fa
created by github.com/decred/gominer/stratum.StratumConn
        C:/users/user/go/src/github.com/decred/gominer/stratum/stratum.go:226 +0x54b

The first time, Gominer crashed after about two minutes. Here the trace log of that run with credentials redacted: https://gist.github.com/unintuitive/497c7dc5fc95c3f204285b807a38b147

I ran it a second time and it continued for about two hours before crashing, producing a 4mb+ log file. Here are the last few minutes before it crashes: https://gist.github.com/unintuitive/ccf05037d2543c3dc0b7fe432bd380dc