#8 Crash when processing github.com/kr/pretty 0.1.0
Closed 5 years ago by qulogic. Opened 5 years ago by nim.

golist 9f4330a, built on x86_64 with https://koji.fedoraproject.org/koji/buildinfo?buildID=1139757 crashes when processing github.com/kr/pretty 0.1.0

It should not do that

+ cd pretty-0.1.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ export GOIPATH=github.com/kr/pretty
+ GOIPATH=github.com/kr/pretty
+ export GOBUILDDIR=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build
+ GOBUILDDIR=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build
+ export GOPATH=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build:/usr/share/gocode
+ GOPATH=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build:/usr/share/gocode
+ export PATH=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ PATH=/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ export GOSOURCEDIR=/builddir/build/BUILD/pretty-0.1.0
+ GOSOURCEDIR=/builddir/build/BUILD/pretty-0.1.0
+ export 'LDFLAGS= -X github.com/kr/pretty/version=0.1.0'
+ LDFLAGS=' -X github.com/kr/pretty/version=0.1.0'
+ rm -fr /builddir/build/BUILD/pretty-0.1.0/vendor
+ [[ ! -e /builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/bin ]]
+ [[ ! -e /builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com/kr/pretty ]]
++ dirname /builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com/kr/pretty
+ install -m 0755 -vd /builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com/kr
install: creating directory '/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com'
install: creating directory '/builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com/kr'
+ ln -fs /builddir/build/BUILD/pretty-0.1.0 /builddir/build/BUILD/creachadair-shell-85f4313bf556/_build/src/github.com/kr/pretty
+ golist --imported --package-path github.com/kr/pretty --skip-self --tests

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5637f95433af]

goroutine 1 [running]:
panic(0x5637f99f79e0, 0x5637f9d7fd40)
    /usr/lib/golang/src/runtime/panic.go:556 +0x2cf fp=0xc000122e20 sp=0xc000122d90 pc=0x5637f93c01bf
github.com/urfave/cli.HandleAction.func1(0xc000123a30)
    /usr/share/gocode/src/github.com/urfave/cli/app.go:473 +0x27a fp=0xc000122ec8 sp=0xc000122e20 pc=0x5637f983ec8a
runtime.call32(0x0, 0x5637f9a7a848, 0xc0000aa230, 0x800000008)
    /usr/lib/golang/src/runtime/asm_amd64.s:522 +0x3d fp=0xc000122ef8 sp=0xc000122ec8 pc=0x5637f93eb86d
panic(0x5637f99f79e0, 0x5637f9d7fd40)
    /usr/lib/golang/src/runtime/panic.go:513 +0x1bd fp=0xc000122f88 sp=0xc000122ef8 pc=0x5637f93c00ad
runtime.panicmem()
    /usr/lib/golang/src/runtime/panic.go:82 +0x60 fp=0xc000122fa8 sp=0xc000122f88 pc=0x5637f93bf1c0
runtime.sigpanic()
    /usr/lib/golang/src/runtime/signal_unix.go:390 +0x186 fp=0xc000122ff8 sp=0xc000122fa8 pc=0x5637f93d5606
github.com/gofed/symbols-extractor/pkg/util/internal/load.ImportPaths(0xc000225e80, 0x1, 0x1, 0x0, 0x2, 0xc000038a00)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/internal/load/pkg.go:1888 +0x5f fp=0xc000123038 sp=0xc000122ff8 pc=0x5637f95433af
github.com/gofed/symbols-extractor/pkg/util/internal/load.PackagesAndErrors(0xc000225e80, 0x1, 0x1, 0x5637f9a84de0, 0xc000291220, 0x0)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/internal/load/pkg.go:1842 +0xa5 fp=0xc0001231b0 sp=0xc000123038 pc=0x5637f9542c55
github.com/gofed/symbols-extractor/pkg/util.ListPackage(0xc0001483a0, 0x14, 0x14, 0x0, 0xc0001232b8)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/util.go:420 +0x91 fp=0xc000123220 sp=0xc0001231b0 pc=0x5637f982d8e1
github.com/gofed/symbols-extractor/pkg/util.(*PackageInfoCollector).CollectPackageInfos.func1(0xc000148360, 0x55, 0x5637f9a868c0, 0xc000298820, 0x0, 0x0, 0x0, 0xc000123350)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/util.go:181 +0x6ea fp=0xc0001232c8 sp=0xc000123220 pc=0x5637f982e21a
path/filepath.walk(0xc000148360, 0x55, 0x5637f9a868c0, 0xc000298820, 0xc000291200, 0x0, 0x2)
    /usr/lib/golang/src/path/filepath/path.go:362 +0xf8 fp=0xc0001233a0 sp=0xc0001232c8 pc=0x5637f94bb978
path/filepath.Walk(0xc000148360, 0x55, 0xc000291200, 0x5637f984502e, 0x1)
    /usr/lib/golang/src/path/filepath/path.go:404 +0x107 fp=0xc000123400 sp=0xc0001233a0 pc=0x5637f94bbde7
github.com/gofed/symbols-extractor/pkg/util.(*PackageInfoCollector).CollectPackageInfos(0xc00025fa90, 0x7ffc75da495f, 0x14, 0x7ffc75da495f, 0x14)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/util.go:139 +0x15a fp=0xc000123478 sp=0xc000123400 pc=0x5637f982a04a
main.main.func1(0xc000293a40, 0x0, 0x0)
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/cmd/golist/golist.go:73 +0x5d4 fp=0xc000123610 sp=0xc000123478 pc=0x5637f9842dc4
runtime.call32(0xc000271c50, 0x5637f9a7a920, 0xc0002911c0, 0x800000018)
    /usr/lib/golang/src/runtime/asm_amd64.s:522 +0x3d fp=0xc000123640 sp=0xc000123610 pc=0x5637f93eb86d
reflect.Value.call(0x5637f99dc2a0, 0x5637f9a7a920, 0x13, 0x5637f98458ed, 0x4, 0xc0001239f0, 0x1, 0x1, 0xc0000aa200, 0xc000293a40, ...)
    /usr/lib/golang/src/reflect/value.go:447 +0x44b fp=0xc000123908 sp=0xc000123640 pc=0x5637f941bc2b
reflect.Value.Call(0x5637f99dc2a0, 0x5637f9a7a920, 0x13, 0xc0001239f0, 0x1, 0x1, 0x2, 0x2, 0x1)
    /usr/lib/golang/src/reflect/value.go:308 +0xa6 fp=0xc000123970 sp=0xc000123908 pc=0x5637f941b6a6
github.com/urfave/cli.HandleAction(0x5637f99dc2a0, 0x5637f9a7a920, 0xc000293a40, 0x0, 0x0)
    /usr/share/gocode/src/github.com/urfave/cli/app.go:482 +0x1fa fp=0xc000123a18 sp=0xc000123970 pc=0x5637f983365a
github.com/urfave/cli.(*App).Run(0xc0000f2480, 0xc0000a8120, 0x6, 0x6, 0x0, 0x0)
    /usr/share/gocode/src/github.com/urfave/cli/app.go:240 +0x481 fp=0xc000123bc8 sp=0xc000123a18 pc=0x5637f98317d1
main.main()
    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/cmd/golist/golist.go:125 +0x793 fp=0xc000123f98 sp=0xc000123bc8 pc=0x5637f9842613
runtime.main()
    /usr/lib/golang/src/runtime/proc.go:201 +0x20f fp=0xc000123fe0 sp=0xc000123f98 pc=0x5637f93c1f1f
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc000123fe8 sp=0xc000123fe0 pc=0x5637f93ed5d1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x5637f9a7afe0, 0x5637f9dbdcb0, 0x1410, 0x1)
    /usr/lib/golang/src/runtime/proc.go:302 +0xf1 fp=0xc000046f80 sp=0xc000046f60 pc=0x5637f93c2311
runtime.goparkunlock(0x5637f9dbdcb0, 0x1410, 0x1)
    /usr/lib/golang/src/runtime/proc.go:308 +0x55 fp=0xc000046fb0 sp=0xc000046f80 pc=0x5637f93c23c5
runtime.forcegchelper()
    /usr/lib/golang/src/runtime/proc.go:251 +0xb7 fp=0xc000046fe0 sp=0xc000046fb0 pc=0x5637f93c2187
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc000046fe8 sp=0xc000046fe0 pc=0x5637f93ed5d1
created by runtime.init.5
    /usr/lib/golang/src/runtime/proc.go:240 +0x37

goroutine 3 [GC sweep wait]:
runtime.gopark(0x5637f9a7afe0, 0x5637f9dbdf40, 0x5637f93b140c, 0x1)
    /usr/lib/golang/src/runtime/proc.go:302 +0xf1 fp=0xc000047780 sp=0xc000047760 pc=0x5637f93c2311
runtime.goparkunlock(0x5637f9dbdf40, 0x5637f98d140c, 0x1)
    /usr/lib/golang/src/runtime/proc.go:308 +0x55 fp=0xc0000477b0 sp=0xc000047780 pc=0x5637f93c23c5
runtime.bgsweep(0xc000028070)
    /usr/lib/golang/src/runtime/mgcsweep.go:52 +0x93 fp=0xc0000477d8 sp=0xc0000477b0 pc=0x5637f93b5223
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc0000477e0 sp=0xc0000477d8 pc=0x5637f93ed5d1
created by runtime.gcenable
    /usr/lib/golang/src/runtime/mgc.go:216 +0x5a

goroutine 18 [finalizer wait]:
runtime.gopark(0x5637f9a7afe0, 0x5637f9ddcdc0, 0x140f, 0x1)
    /usr/lib/golang/src/runtime/proc.go:302 +0xf1 fp=0xc000042728 sp=0xc000042708 pc=0x5637f93c2311
runtime.goparkunlock(0x5637f9ddcdc0, 0x140f, 0x1)
    /usr/lib/golang/src/runtime/proc.go:308 +0x55 fp=0xc000042758 sp=0xc000042728 pc=0x5637f93c23c5
runtime.runfinq()
    /usr/lib/golang/src/runtime/mfinal.go:175 +0x9d fp=0xc0000427e0 sp=0xc000042758 pc=0x5637f93acb0d
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc0000427e8 sp=0xc0000427e0 pc=0x5637f93ed5d1
created by runtime.createfing
    /usr/lib/golang/src/runtime/mfinal.go:156 +0x63

goroutine 19 [syscall]:
runtime.notetsleepg(0x5637f9ddd1c0, 0xffffffffffffffff, 0x5637f9843f60)
    /usr/lib/golang/src/runtime/lock_futex.go:227 +0x3b fp=0xc000046788 sp=0xc000046758 pc=0x5637f939fffb
os/signal.signal_recv(0x0)
    /usr/lib/golang/src/runtime/sigqueue.go:139 +0x9e fp=0xc0000467b0 sp=0xc000046788 pc=0x5637f93d65be
os/signal.loop()
    /usr/lib/golang/src/os/signal/signal_unix.go:23 +0x24 fp=0xc0000467e0 sp=0xc0000467b0 pc=0x5637f952f254
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc0000467e8 sp=0xc0000467e0 pc=0x5637f93ed5d1
created by os/signal.init.0
    /usr/lib/golang/src/os/signal/signal_unix.go:29 +0x43

goroutine 35 [chan receive]:
runtime.gopark(0x5637f9a7afe0, 0xc00001e958, 0xc00003170d, 0x3)
    /usr/lib/golang/src/runtime/proc.go:302 +0xf1 fp=0xc000042ea0 sp=0xc000042e80 pc=0x5637f93c2311
runtime.goparkunlock(0xc00001e958, 0x170d, 0x3)
    /usr/lib/golang/src/runtime/proc.go:308 +0x55 fp=0xc000042ed0 sp=0xc000042ea0 pc=0x5637f93c23c5
runtime.chanrecv(0xc00001e900, 0xc000042fb0, 0xc0001c4001, 0xc00001e900)
    /usr/lib/golang/src/runtime/chan.go:520 +0x2c2 fp=0xc000042f60 sp=0xc000042ed0 pc=0x5637f939b1c2
runtime.chanrecv2(0xc00001e900, 0xc000042fb0, 0xc000148058)
    /usr/lib/golang/src/runtime/chan.go:407 +0x2b fp=0xc000042f90 sp=0xc000042f60 pc=0x5637f939aeeb
github.com/golang/glog.(*loggingT).flushDaemon(0x5637f9dbea80)
    /usr/share/gocode/src/github.com/golang/glog/glog.go:882 +0x8d fp=0xc000042fd8 sp=0xc000042f90 pc=0x5637f95eae0d
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc000042fe0 sp=0xc000042fd8 pc=0x5637f93ed5d1
created by github.com/golang/glog.init.0
    /usr/share/gocode/src/github.com/golang/glog/glog.go:410 +0x205

goroutine 4 [syscall]:
runtime.notetsleepg(0x5637f9dc3500, 0x6fc23484b, 0x0)
    /usr/lib/golang/src/runtime/lock_futex.go:227 +0x3b fp=0xc000047f58 sp=0xc000047f28 pc=0x5637f939fffb
runtime.timerproc(0x5637f9dc34e0)
    /usr/lib/golang/src/runtime/time.go:288 +0x312 fp=0xc000047fd8 sp=0xc000047f58 pc=0x5637f93de7a2
runtime.goexit()
    /usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc000047fe0 sp=0xc000047fd8 pc=0x5637f93ed5d1
created by runtime.(*timersBucket).addtimerLocked
    /usr/lib/golang/src/runtime/time.go:170 +0x116

This looks the same as #7, no?

Sure it does, however till someone analyses both issues and concludes they are the same, it's dangerous to track only one of them.

Well, the null pointer is here:

    /builddir/build/BUILD/symbols-extractor-9f4330a0f4437ca61ba92f9f30e34424c6742ad6/_build/src/github.com/gofed/symbols-extractor/pkg/util/internal/load/pkg.go:1888 +0x5f fp=0xc000123038 sp=0xc000122ff8 pc=0x5637f95433af

which is the same line and file as #7.

Closing as a duplicate of #7.

Metadata Update from @qulogic:
- Issue status updated to: Closed (was: Open)

5 years ago

Metadata Update from @qulogic:
- Issue set to the milestone: 1.0.0

5 years ago

Metadata Update from @qulogic:
- Issue set to the milestone: 0.5.0 (was: 1.0.0)

4 years ago

Metadata Update from @qulogic:
- Issue set to the milestone: 0.10.0 (was: 0.5.0)

4 years ago

Login to comment on this ticket.

Metadata