clipperhouse / gen

Type-driven code generation for Go
http://clipperhouse.com/gen/overview/
Other
1.43k stars 90 forks source link

[signal SIGSEGV: segmentation violation code=0x2 addr=0x7f79d82f2000 pc=0x7f79d7eb4de0] #114

Open advancedwebdeveloper opened 4 years ago

advancedwebdeveloper commented 4 years ago

Hi. I think I caught some type of runtime bug.

$ ./gen unexpected fault address 0x7f79d82f2000 fatal error: fault [signal SIGSEGV: segmentation violation code=0x2 addr=0x7f79d82f2000 pc=0x7f79d7eb4de0]

goroutine 1 [running]: runtime.dopanic_m /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/panic.go:1210 runtime.fatalthrow /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/panic.go:1071 runtime.throw /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/panic.go:1042 runtime.sigpanic /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/signal_unix.go:671 runtime.readUnaligned64 /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/alg.go:516 runtime.memhash /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/hash64.go:73 runtime.strhash /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/alg.go:91 main.struct.4Name.0string.2Path.0string.5..hash /home/oceanfis81/go_projects/gen/:1 runtime.mapiternext /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/map.go:974 runtime.mapiterinit /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/map.go:896 github.x2ecom..z2fclipperhouse..z2ftypewriter.ImportSpecSet.ToSlice /home/oceanfis81/go/pkg/mod/github.com/clipperhouse/typewriter@v0.0.0-20200107164453-d21420026310/importspec_set.go:26 ffi_call_unix64 /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/libgo/libffi/src/x86/unix64.S:106 ffi_call_int /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/libgo/libffi/src/x86/ffi64.c:669 runtime.reflectcall /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/runtime/go-reflect-call.c:226 reflect.Value.call /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/reflect/value.go:486 reflect.Value.Call /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/reflect/value.go:334 template.safeCall /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/funcs.go:365 text..z2ftemplate.state.evalCall /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:722 text..z2ftemplate.state.evalField /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:606 text..z2ftemplate.state.evalFieldChain /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:567 text..z2ftemplate.state.evalFieldNode /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:531 text..z2ftemplate.state.evalCommand /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:459 text..z2ftemplate.state.evalPipeline /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:433 text..z2ftemplate.state.walkRange /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:340 text..z2ftemplate.state.walk /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:268 text..z2ftemplate.state.walk /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:265 text..z2ftemplate.state.walkIfOrWith /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:295 text..z2ftemplate.state.walk /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:262 text..z2ftemplate.state.walk /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:265 text..z2ftemplate.Template.execute /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:222 text..z2ftemplate.Template.Execute /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/text/template/exec.go:205 main.executeCustom /home/oceanfis81/go_projects/gen/execute.go:63 main.execute /home/oceanfis81/go_projects/gen/execute.go:24 main.run /home/oceanfis81/go_projects/gen/run.go:19 main.runMain /home/oceanfis81/go_projects/gen/main.go:40 main.main /home/oceanfis81/go_projects/gen/main.go:22 runtime.main /home/oceanfis81/workarea/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/runtime/proc.go:236

$ go env && go version GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/oceanfis81/.cache/go-build" GOENV="/home/oceanfis81/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/home/oceanfis81/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/oceanfis81/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/home/oceanfish81/gollvm_dist" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/home/oceanfish81/gollvm_dist/tools" GCCGO="/home/oceanfish81/gollvm_dist/bin/llvm-goc" AR="ar" CC="/usr/bin/clang" CXX="/usr/bin/clang++" CGO_ENABLED="1" GOMOD="/home/oceanfis81/go_projects/gen/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build551695759=/tmp/go-build -gno-record-gcc-switches -funwind-tables" go version go1.15.2 gollvm LLVM 12.0.0git linux/amd64

CC @thanm @cherrymui