go bug093 源码

  • 2022-07-15
  • 浏览 (883)

golang bug093 代码

文件路径:/test/fixedbugs/bug093.go

// run

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

type S struct {
}

func (p *S) M() {
}

type I interface {
	M();
}

func main() {
	var p *S = nil;
	var i I = p;  // this should be possible even though p is nil: we still know the type
	i.M();  // should be possible since we know the type, and don't ever use the receiver
}


/*
throw: ifaces2i: nil pointer
SIGSEGV: segmentation violation
Faulting address: 0x0
pc: 0x1b7d

0x1b7d?zi
	throw(30409, 0, 0, ...)
	throw(0x76c9, 0x0, 0x0, ...)
0x207f?zi
	sys·ifaces2i(31440, 0, 31480, ...)
	sys·ifaces2i(0x7ad0, 0x7af8, 0x0, ...)
0x136f?zi
	main·main(1, 0, 1606416424, ...)
	main·main(0x1, 0x7fff5fbff828, 0x0, ...)

rax     0x1
rbx     0x1
rcx     0x33b5
rdx     0x0
rdi     0x1
rsi     0x7684
rbp     0x7684
rsp     0xafb8
r8      0x0
r9      0x0
r10     0x1002
r11     0x206
r12     0x0
r13     0x0
r14     0x7c48
r15     0xa000
rip     0x1b7d
rflags  0x10202
cs      0x27
fs      0x10
gs      0x48
*/

相关信息

go 源码目录

相关文章

go bug000 源码

go bug002 源码

go bug003 源码

go bug004 源码

go bug005 源码

go bug006 源码

go bug007 源码

go bug008 源码

go bug009 源码

go bug010 源码

0  赞