Hi all,

The following unexpected fault address errors are occured occasionally. All 
of
them is gcStart relavent, and it works fine when I turn gc off. Feel 
frustrated
and become addicted to runtime.KeepAlive() XD. Please give some clues, thank
you!

*1. Make slice*

code

pReceive := make([]controlcan.CanObj, 2500)

error

unexpected fault address 0xffffffffffffffff
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x41c65d]


goroutine 28 [running]:
runtime.throw(0xcc969a, 0x5)
        /usr/local/go/src/runtime/panic.go:619 +0x88 fp=0xc04275bc38 sp=
0xc04275bc18 pc=0x42d0b8
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_windows.go:170 +0x13a fp=
0xc04275bc68 sp=0xc04275bc38 pc=0x43fcca
runtime.gcMarkRootPrepare()
        /usr/local/go/src/runtime/mgcmark.go:72 +0x5d fp=0xc04275bc70 sp=
0xc04275bc68 pc=0x41c65d
runtime.gcStart(0x0, 0x1, 0x0, 0x0)
        /usr/local/go/src/runtime/mgc.go:1350 +0x30f fp=0xc04275bca0 sp=
0xc04275bc70 pc=0x419b6f
runtime.mallocgc(0x1a000, 0xc54520, 0x1, 0xa10101)
        /usr/local/go/src/runtime/malloc.go:803 +0x448 fp=0xc04275bd40 sp=
0xc04275bca0 pc=0x411c48
runtime.makeslice(0xc54520, 0x9c4, 0x9c4, 0xc0420162a0, 0x8, 0x8)
        /usr/local/go/src/runtime/slice.go:61 +0x7e fp=0xc04275bd70 sp=
0xc04275bd40 pc=0x43fffe
posam/protocol/usbcan.(*Channel).receive(0xc04213fdc0)
        /media/sf_GOPATH0/src/posam/protocol/usbcan/usbcan.go:464 +0x4f0 fp=
0xc04275bfd8 sp=0xc04275bd70 pc=0xa108e0
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc04275bfe0 sp=
0xc04275bfd8 pc=0x457531
created by posam/protocol/usbcan.(*Channel).Start
        /media/sf_GOPATH0/src/posam/protocol/usbcan/usbcan.go:242 +0x3aa


*2. Grow slice*

code

resultBuilder.WriteString(fmt.Sprintf("%v\n", output))

error

unexpected fault address 0xffffffffffffffff
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x46ecdb]


goroutine 74 [running]:
runtime.throw(0xe057a7, 0x5)
        /usr/local/go/src/runtime/panic.go:608 +0x79 fp=0xc00038bc38 sp=
0xc00038bc08 pc=0x42eb89
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_windows.go:207 +0x139 fp=
0xc00038bc68 sp=0xc00038bc38 pc=0x441609
sync.poolCleanup()
        /usr/local/go/src/sync/pool.go:227 +0x4b fp=0xc00038bcc8 sp=
0xc00038bc68 pc=0x46ecdb
runtime.clearpools()
        /usr/local/go/src/runtime/mgc.go:2123 +0x157 fp=0xc00038bce0 sp=
0xc00038bcc8 pc=0x41d937
runtime.gcStart(0x0, 0x1, 0x0, 0xc000000000)
        /usr/local/go/src/runtime/mgc.go:1323 +0x229 fp=0xc00038bd10 sp=
0xc00038bce0 pc=0x41bae9
runtime.mallocgc(0x12000, 0x0, 0xc000632000, 0xc000306000)
        /usr/local/go/src/runtime/malloc.go:996 +0x43f fp=0xc00038bdb0 sp=
0xc00038bd10 pc=0x40d60f
runtime.growslice(0xce7360, 0xc0005c6000, 0xdfee, 0xe000, 0xe003, 
0xc00062d780, 0x15, 0xe000)
        /usr/local/go/src/runtime/slice.go:197 +0x220 fp=0xc00038be18 sp=
0xc00038bdb0 pc=0x441be0
strings.(*Builder).WriteString(...)
        /usr/local/go/src/strings/builder.go:117
main.main.func3.1()
        /media/sf_GOPATH0/src/posam/gui/gui.go:476 +0x48d fp=0xc00038bfb8 sp
=0xc00038be18 pc=0xb4340d
posam/util.Go.func1(0xc0002f00c0)
        /media/sf_GOPATH0/src/posam/util/util.go:40 +0x4a fp=0xc00038bfd8 sp
=0xc00038bfb8 pc=0x7a203a
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc00038bfe0 sp=
0xc00038bfd8 pc=0x4590f1
created by posam/util.Go
        /media/sf_GOPATH0/src/posam/util/util.go:22 +0x46

*3. Make chan*

code

req := Request{
    Responsec: make(chan Response) // <- this line
}

error

unexpected fault address 0xb00000008
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0xb00000008 pc=0x46ecdb]


goroutine 7970 [running]:
runtime.throw(0xe057a7, 0x5)
        /usr/local/go/src/runtime/panic.go:608 +0x79 fp=0xc00073adb8 sp=
0xc00073ad88 pc=0x42eb89
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_windows.go:207 +0x139 fp=
0xc00073ade8 sp=0xc00073adb8 pc=0x441609
sync.poolCleanup()
        /usr/local/go/src/sync/pool.go:227 +0x4b fp=0xc00073ae48 sp=
0xc00073ade8 pc=0x46ecdb
runtime.clearpools()
        /usr/local/go/src/runtime/mgc.go:2123 +0x157 fp=0xc00073ae60 sp=
0xc00073ae48 pc=0x41d937
runtime.gcStart(0x0, 0x1, 0x0, 0x0)
        /usr/local/go/src/runtime/mgc.go:1323 +0x229 fp=0xc00073ae90 sp=
0xc00073ae60 pc=0x41bae9
runtime.mallocgc(0x60, 0x0, 0x1, 0xd89020)
        /usr/local/go/src/runtime/malloc.go:996 +0x43f fp=0xc00073af30 sp=
0xc00073ae90 pc=0x40d60f
runtime.makechan(0xcd7d20, 0x0, 0xc0002bc230)
        /usr/local/go/src/runtime/chan.go:93 +0xba fp=0xc00073af70 sp=
0xc00073af30 pc=0x4062fa
posam/protocol/usbcan.(*Channel).Transmit(0xc0002bc230, 0x1, 0xc000669d10, 
0x8, 0x8, 0x18f6878, 0x0, 0x0, 0x0, 0x18f6878, ...)
        /media/sf_GOPATH0/src/posam/protocol/usbcan/usbcan.go:424 +0x12f fp=
0xc00073b180 sp=0xc00073af70 pc=0xa2afaf
// ...
created by posam/util.Go
        /media/sf_GOPATH0/src/posam/util/util.go:22 +0x46

*4. New object*

code

variable := &Variable{
    Name: name, // <- this line
}

error

unexpected fault address 0x2600000008
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0x2600000008 pc=0x46ecdb]


goroutine 28408 [running]:
runtime.throw(0xe057a7, 0x5)
        /usr/local/go/src/runtime/panic.go:608 +0x79 fp=0xc0003938b8 sp=
0xc000393888 pc=0x42eb89
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_windows.go:207 +0x139 fp=
0xc0003938e8 sp=0xc0003938b8 pc=0x441609
sync.poolCleanup()
        /usr/local/go/src/sync/pool.go:227 +0x4b fp=0xc000393948 sp=
0xc0003938e8 pc=0x46ecdb
runtime.clearpools()
        /usr/local/go/src/runtime/mgc.go:2123 +0x157 fp=0xc000393960 sp=
0xc000393948 pc=0x41d937
runtime.gcStart(0x0, 0x1, 0x0, 0x0)
        /usr/local/go/src/runtime/mgc.go:1323 +0x229 fp=0xc000393990 sp=
0xc000393960 pc=0x41bae9
runtime.mallocgc(0x30, 0xd6e740, 0x1, 0x2)
        /usr/local/go/src/runtime/malloc.go:996 +0x43f fp=0xc000393a30 sp=
0xc000393990 pc=0x40d60f
runtime.newobject(0xd6e740, 0xc00012f920)
        /usr/local/go/src/runtime/malloc.go:1032 +0x3f fp=0xc000393a60 sp=
0xc000393a30 pc=0x40ddaf
posam/interpreter/vrb.newVariable(0xe0608e, 0x7, 0xe04ba6, 0x1, 0xc000393b00
, 0x40ddaf, 0x30)
        /media/sf_GOPATH0/src/posam/interpreter/vrb/variable.go:115 +0x38 fp
=0xc000393ab0 sp=0xc000393a60 pc=0xb08578
// ...
created by posam/interpreter.(*StatementGroup).ExecuteSync
        /media/sf_GOPATH0/src/posam/interpreter/interpreter.go:489 +0xc1


-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to