Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gofmt: rewrite causes panic: reflect: call of reflect.Value·Set on zero Value [recovered] #1696

Closed
davecheney opened this issue Apr 14, 2011 · 2 comments

Comments

@davecheney
Copy link
Contributor

What steps will reproduce the problem?
1. make -C pkg/container/vector generate

What is the expected output?

pkg/container/vector/intvector.go and friends are regenerated correctly

What do you see instead?

lucky(~/go/src) % hg identify ; make -C pkg/container/vector generate
825dec400be8+ tip
< vector.go cat\
    | gofmt -r='Vector -> IntVector'\
    | gofmt -r='interface{} -> int'\
    > intvector.go\
    
panic: reflect: call of reflect.Value·Set on zero Value [recovered]
    panic: reflect: call of reflect.Value·Set on zero Value

runtime.panic+0xac /Users/dave/go/src/pkg/runtime/proc.c:1034
    runtime.panic(0xb08c0, 0xf8400a76c0)
main._func_004+0xcb /Users/dave/go/src/cmd/gofmt/rewrite.go:88
    main._func_004(0x6492, 0x21a8100, 0x21a8fb8, 0x21a8610)
----- stack segment boundary -----
runtime.panic+0xf3 /Users/dave/go/src/pkg/runtime/proc.c:1015
    runtime.panic(0xb08c0, 0xf8400a76c0)
reflect.Value·internal+0x8b /Users/dave/go/src/pkg/reflect/value.go:95
    reflect.Value·internal(0x0, 0x0, 0x150000af59, 0xa7b9, 0xf8400a6fc0, ...)
reflect.Value·Set+0x37 /Users/dave/go/src/pkg/reflect/value.go:715
    reflect.Value·Set(0xf8400495b0, 0xf8400a76a0, 0x0, 0x0, 0xf8400a3590, ...)
main.setValue+0x64 /Users/dave/go/src/cmd/gofmt/rewrite.go:91
    main.setValue(0xf8400495b0, 0xf8400a76a0, 0x0, 0x0, 0xf840049500, ...)
main.apply+0x16f /Users/dave/go/src/cmd/gofmt/rewrite.go:131
    main.apply(0xf84000c7d0, 0xf8400495b0, 0xf8400a76a0, 0x0, 0x8, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf8400a7640, 0xf84002b2d0, 0xb88d0, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x3440, ...)
main.apply+0x14f /Users/dave/go/src/cmd/gofmt/rewrite.go:131
    main.apply(0xf84000c7d0, 0xf8400495b0, 0xf8400a7620, 0x0, 0x18, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf8400a7500, 0xb5268, 0xc4ce0, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x34e8, ...)
----- stack segment boundary -----
main.apply+0x1f7 /Users/dave/go/src/cmd/gofmt/rewrite.go:122
    main.apply(0xf84000c7d0, 0xf840049620, 0xf8400a74e0, 0x0, 0x8, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf8400a7480, 0x0, 0x10, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf8400a70c0, 0x0, 0x18, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf84009e940, 0xf84002b2d0, 0xb9c80, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x3440, ...)
main.apply+0x14f /Users/dave/go/src/cmd/gofmt/rewrite.go:131
    main.apply(0xf84000c7d0, 0xf8400495b0, 0xf84009e920, 0xf84002b2d0, 0xb3430, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x34e8, ...)
main.apply+0x1f7 /Users/dave/go/src/cmd/gofmt/rewrite.go:122
    main.apply(0xf84000c7d0, 0xf840049620, 0xf84009e900, 0x0, 0x18, ...)
main._func_003+0xe7 /Users/dave/go/src/cmd/gofmt/rewrite.go:69
    main._func_003(0xf8400a1658, 0xf8400a1670, 0xf8400a3580, 0xf8400a3590, 0x357e, ...)
main.apply+0x28d /Users/dave/go/src/cmd/gofmt/rewrite.go:127
    main.apply(0xf84000c7d0, 0xf84001f700, 0xf84009e7e0, 0xf84009e7e0, 0xf8400a3580, ...)
main.rewriteFile+0x1ae /Users/dave/go/src/cmd/gofmt/rewrite.go:75
    main.rewriteFile(0xf840019700, 0xf8400017e0, 0xf840019700, 0xf8400017c0, 0xf840026de0, ...)
main._func_002+0x41 /Users/dave/go/src/cmd/gofmt/rewrite.go:31
    main._func_002(0xf8400143f0, 0xf840014340, 0x20c1, 0xf840026de0, 0xd8f3c, ...)
main.processFile+0x26c /Users/dave/go/src/cmd/gofmt/gofmt.go:112
    main.processFile(0xd8f3c, 0x6174733c00000010, 0xf84000fba0, 0xf84000f3f0, 0xf84000fb70, ...)
main.gofmtMain+0x3a5 /Users/dave/go/src/cmd/gofmt/gofmt.go:213
    main.gofmtMain()
main.main+0x1c /Users/dave/go/src/cmd/gofmt/gofmt.go:182
    main.main()
runtime.mainstart+0xf /Users/dave/go/src/pkg/runtime/amd64/asm.s:77
    runtime.mainstart()
runtime.goexit /Users/dave/go/src/pkg/runtime/proc.c:178
    runtime.goexit()
----- goroutine created by -----
_rt0_amd64+0x8e /Users/dave/go/src/pkg/runtime/amd64/asm.s:64
<standard input>:1:1: expected 'package', found 'EOF'
make: *** [generate] Error 2


Which compiler are you using (5g, 6g, 8g, gccgo)?

6g (also tried 8g)

Which operating system are you using?

lucky(~) % uname -v
Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011;
root:xnu-1504.9.37~1/RELEASE_I386

Which revision are you using?  (hg identify)

lucky(~/go/src) % hg identify
825dec400be8+ tip

Please provide any additional information below.

This occurred after http://golang.org/cl/4387044 was committed
@griesemer
Copy link
Contributor

Comment 1:

Owner changed to @griesemer.

Status changed to Accepted.

@griesemer
Copy link
Contributor

Comment 2:

This issue was closed by revision a49e7f3.

Status changed to Fixed.

@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants