On Mon, Sep 19, 2016 at 8:34 AM, Wanghb Wang <wangh...@gmail.com> wrote: > > when I use stattcpupprof in my program, I got fatal error malloc deadlock. > delete the cpu pprof, the program run well. > > > my question is : > Does startcpuprof infect the malloc or resulting OOM Problem
I'm sorry, I don't understand the question. > this is my panic stack trace: It looks like you have C code that calls goCbStr. Somehow when that happens the malloc lock is held for the thread. The only way I can see that happening is if your C code has a SIGPROF handler that calls into Go. Ian > fatal error: malloc deadlock > goroutine 17 [running, locked to thread]: > runtime.throw(0x845aa0, 0xf) > C:/Go/src/runtime/panic.go:547 +0x97 fp=0xc082025c68 sp=0xc082025c50 > runtime.mallocgc(0x5, 0x0, 0x3, 0x822aa0) > C:/Go/src/runtime/malloc.go:544 +0x1e1 fp=0xc082025d40 > sp=0xc082025c68 > runtime.rawstring(0x5, 0x0, 0x0, 0x0, 0x0, 0x0) > C:/Go/src/runtime/string.go:284 +0x77 fp=0xc082025d88 > sp=0xc082025d40 > runtime.gostring(0x7ff94f7f992c, 0x0, 0x0) > C:/Go/src/runtime/string.go:341 +0x62 fp=0xc082025df0 > sp=0xc082025d88 > main._Cfunc_GoString(0x7ff94f7f992c, 0x0, 0x0) > test/_obj/_cgo_gotypes.go:44 +0x34 fp=0xc082025e10 sp=0xc082025df0 > main.goCbStr(0x1, 0x2, 0x7ff94f7f992c, 0xa20fd0) > C:/Programming/go-src/src/test/test.go:125 +0x62 fp=0xc082025ed0 > sp=0xc082025e10 > runtime.call32(0x0, 0x8eb238, 0x3befdd0, 0x20) > C:/Go/src/runtime/asm_amd64.s:472 +0x45 fp=0xc082025ef8 > sp=0xc082025ed0 > runtime.cgocallbackg1() > C:/Go/src/runtime/cgocall.go:267 +0x11a fp=0xc082025f30 > sp=0xc082025ef8 > runtime.cgocallbackg() > C:/Go/src/runtime/cgocall.go:180 +0xde fp=0xc082025f90 > sp=0xc082025f30 > runtime.cgocallback_gofunc(0x0, 0x0, 0x0) > C:/Go/src/runtime/asm_amd64.s:716 +0x6d fp=0xc082025fa0 > sp=0xc082025f90 > runtime.goexit() > C:/Go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc082025fa8 > sp=0xc082025fa0 > > goroutine 1 [sleep]: > time.Sleep(0x3b9aca00) > C:/Go/src/runtime/time.go:59 +0x107 > main.main() > C:/Programming/go-src/src/test/test.go:64 +0x4c3 > > goroutine 18 [syscall, locked to thread]: > runtime.goexit() > C:/Go/src/runtime/asm_amd64.s:1998 +0x1 > > goroutine 6 [syscall]: > runtime.CPUProfile(0x0, 0x0, 0x0) > C:/Go/src/runtime/cpuprof.go:421 +0x3b > runtime/pprof.profileWriter(0x1742f0, 0xc082026038) > C:/Go/src/runtime/pprof/pprof.go:607 +0x23 > created by runtime/pprof.StartCPUProfile > C:/Go/src/runtime/pprof/pprof.go:601 +0x14c > > -- > 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. -- 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.