SSLMate / certspotter

Certificate Transparency Log Monitor
https://sslmate.com/certspotter
Mozilla Public License 2.0
955 stars 83 forks source link

runtime error: invalid memory address or nil pointer dereference #23

Closed fdellwing closed 6 years ago

fdellwing commented 6 years ago

Got the following error:

/root/go/bin/certspotter: mammoth.ct.comodo.com: 2017/10/30 13:46:42 Existing log; scanning 3453 new entries since previous scan
/root/go/bin/certspotter: mammoth.ct.comodo.com: 2017/10/30 13:46:42 Starting scan...
/root/go/bin/certspotter: mammoth.ct.comodo.com: 2017/10/30 13:46:42 Fetching entries 24702325 to 24703324
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x8049ebc]

goroutine 119 [running]:
sync/atomic.AddUint64(0x189d85ec, 0x1, 0x0, 0x1, 0x3)
        /usr/lib/go-1.8/src/sync/atomic/asm_386.s:112 +0xc
software.sslmate.com/src/certspotter.(*Scanner).processerJob(0x189d85c0, 0x1, 0x18a0a000, 0x8297fdc, 0x189f5280)
        /root/go/src/software.sslmate.com/src/certspotter/scanner.go:88 +0xb5
created by software.sslmate.com/src/certspotter.(*Scanner).Scan
        /root/go/src/software.sslmate.com/src/certspotter/scanner.go:297 +0x141
[13:46 root@ssl-proxy ~] > uname -a
Linux ssl-proxy 3.13.0-85-generic #129-Ubuntu SMP Thu Mar 17 20:50:41 UTC 2016 i686 athlon i686 GNU/Linux
[13:50 root@ssl-proxy ~] > lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty
[13:50 root@ssl-proxy ~] > go env
GOARCH="386"
GOBIN=""
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/go"
GORACE=""
GOROOT="/usr/lib/go-1.8"
GOTOOLDIR="/usr/lib/go-1.8/pkg/tool/linux_386"
GCCGO="gccgo"
GO386=""
CC="gcc"
GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build357135451=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

Please help!

fdellwing commented 6 years ago

It seems to be a known bug in atomic with x86 systems. Can you provide a fix for that?

https://golang.org/pkg/sync/atomic/#pkg-note-BUG

AGWA commented 6 years ago

@fdellwing Many thanks for figuring out this bug. I just pushed a fix, and will release certspotter 0.7 shortly.