Hi,
Does anyone know if profiling is supposed to work for an application using
plugins or not (i find no information that it shouldn't)?
Background:
1. My package test works fine (including loading a plugin), showing no
errors in normal test.
2. When running the test under -race the only output I get is:
2018/03/30 11:05:29
plugin.Open("/temp/eserve/code/a8a00b3145ec747775cb88479615cec44c992a9212dacd496b599ebff6a1e86c"):
plugin was built with a different version of package sync/atomic
-> I assume this is just because the plugin is build without -race (its
build inside the test using cmd := exec.Command("go", "build",
"-buildmode=plugin", file), )
3. When running the same test with -cpuprofile cpu.prof I (sometimes) get:
runtime: unexpected return pc for runtime.goexit called from 0xc420020000
stack: frame={sp:0xc42038cfd8, fp:0xc42038cfe0}
stack=[0xc42038c800,0xc42038d000)
000000c42038ced8: 00000000043588b0 0000000000000000
000000c42038cee8: 0000000000000000 0000000000000000
000000c42038cef8: 0000000000000000 0000000000000000
000000c42038cf08: 000000c42038cf38 0000000005801228 <runtime.newobject+56>
000000c42038cf18: 0000000000000010 0000000005818056 <runtime.gopark+294>
000000c42038cf28: 00000000058661a8 000000c4204b4010
000000c42038cf38: 000000c42038cfc8 0000000005808440
<runtime.gcBgMarkWorker+528>
000000c42038cf48: 000000c42038cfb0 000000c4204b4010
000000c42038cf58: 0000000005862da2 0000000000000010
000000c42038cf68: 0000000000000014 0000000000000000
000000c42038cf78: 0000000000000000 0000000000000000
000000c42038cf88: 000000007c6a1d8f 0000000000000000
000000c42038cf98: 000000c4202f4480 000000c420021258
000000c42038cfa8: 000000c4204b4010 0000000005833e80
<runtime.gcBgMarkWorker.func2+0>
000000c42038cfb8: 000000c4202f4480 000000c420020000
000000c42038cfc8: 0000000000000000 0000000005837fc1 <runtime.goexit+1>
000000c42038cfd8: <000000c420020000 >0000000000000000
000000c42038cfe8: 0000000000000000 0000000000000000
000000c42038cff8: 0000000000000000
fatal error: unknown caller pc
runtime: unexpected return pc for runtime.goexit called from 0xc420024a00
stack: frame={sp:0xc42038dfd8, fp:0xc42038dfe0}
stack=[0xc42038d800,0xc42038e000)
000000c42038ded8: 00000000043588b0 0000000000000000
000000c42038dee8: 0000000000000000 0000000000000000
000000c42038def8: 0000000000000000 0000000000000000
000000c42038df08: 000000c42038df38 0000000005801228 <runtime.newobject+56>
000000c42038df18: 0000000000000010 0000000005818056 <runtime.gopark+294>
000000c42038df28: 00000000058661a8 000000c4204b4030
000000c42038df38: 000000c42038dfc8 000000000580836f
<runtime.gcBgMarkWorker+319>
000000c42038df48: 00000000058660a0 000000c4204b4030
000000c42038df58: 0000000005862da2 0000000000000010
000000c42038df68: 0000000000000014 0000000000000000
000000c42038df78: 0000000000000000 0000000000000000
000000c42038df88: 0000000000000000 0000000000000000
000000c42038df98: 000000c4202f4780 0000000000000000
000000c42038dfa8: 000000c4204b4030 0000000000000000
000000c42038dfb8: 0000000000000000 0000000000000000
000000c42038dfc8: 0000000000000000 0000000005837fc1 <runtime.goexit+1>
000000c42038dfd8: <000000c420024a00 >0000000000000000
000000c42038dfe8: 0000000000000000 0000000000000000
000000c42038dff8: 0000000000000000
fatal error: unknown caller pc
runtime: unexpected return pc for runtime.goexit called from 0xc420022500
stack: frame={sp:0xc42038d7d8, fp:0xc42038d7e0}
stack=[0xc42038d000,0xc42038d800)
000000c42038d6d8: 00000000043588b0 0000000000000000
000000c42038d6e8: 0000000000000000 0000000000000000
000000c42038d6f8: 0000000000000000 0000000000000000
000000c42038d708: 000000c42038d738 0000000005801228 <runtime.newobject+56>
000000c42038d718: 0000000000000010 0000000005818056 <runtime.gopark+294>
000000c42038d728: 00000000058661a8 000000c4204b4020
000000c42038d738: 000000c42038d7c8 0000000005808440
<runtime.gcBgMarkWorker+528>
000000c42038d748: 000000c42038d7b0 000000c4204b4020
000000c42038d758: 0000000005862da2 0000000000000010
000000c42038d768: 0000000000000014 0000000000000000
000000c42038d778: 0000000000000000 0000000000000000
000000c42038d788: 000000007c6a8636 0000000000000000
000000c42038d798: 000000c4202f4600 000000c420023758
000000c42038d7a8: 000000c4204b4020 0000000005833e80
<runtime.gcBgMarkWorker.func2+0>
000000c42038d7b8: 000000c4202f4600 000000c420022500
000000c42038d7c8: 0000000000000000 0000000005837fc1 <runtime.goexit+1>
000000c42038d7d8: <000000c420022500 >0000000000000000
000000c42038d7e8: 0000000000000000 0000000000000000
000000c42038d7f8: 0000000000000000
fatal error: unknown caller pc
runtime stack:
runtime: unexpected return pc for runtime.mstart called from 0x0
stack: frame={sp:0x7000025bfe80, fp:0x7000025bfe88}
stack=[0x700002540290,0x7000025bfe90)
00007000025bfd80: 0000000000000000 0000700000000002
00007000025bfd90: 0000000000000004 000000c41ffda7ff
00007000025bfda0: 0000000000000003 00000000055423a0
00007000025bfdb0: 000000c42044c020 0000000005834070
<runtime.markroot.func1+0>
00007000025bfdc0: 000000c4202f4480 000000c420021270
00007000025bfdd0: 00007000025bfe28 000000000580c0f2 <runtime.gcDrain+306>
00007000025bfde0: 000000c420021270 0000000000000020
00007000025bfdf0: 0000000000000000 7fffffffffffffff
00007000025bfe00: 0000000000004000 00000000055423a0
00007000025bfe10: 000000c420001e00 000000c4202f4480
00007000025bfe20: 0000000000000000 00007000025bfe68
00007000025bfe30: 0000000005833f00 <runtime.gcBgMarkWorker.func2+128>
000000c420021270
00007000025bfe40: 0000000000000005 00007000025bfe68
00007000025bfe50: 000000c4202f4480 000000c420020000
00007000025bfe60: 000000c420021270 00007fffffe00000
00007000025bfe70: 0000000005835d19 <runtime.systemstack+121>
000000000581a9b0 <runtime.mstart+0>
00007000025bfe80: <0000000000000000 >0100000004500000
runtime.throw(0x5863088, 0x11)
/usr/local/Cellar/go/1.10/libexec/src/runtime/panic.go:619 +0x81
runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0,
0xc4202f4480, 0x0, 0x0, 0x7fffffff, 0x7000025bfca8, 0x0, 0x0, ...)
/usr/local/Cellar/go/1.10/libexec/src/runtime/traceback.go:302
+0x1c48
runtime.scanstack(0xc4202f4480, 0xc420021270)
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgcmark.go:786 +0x151
runtime.scang(0xc4202f4480, 0xc420021270)
/usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:888 +0x1f6
runtime.markroot.func1()
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgcmark.go:264 +0x6d
runtime.markroot(0xc420021270, 0x20)
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgcmark.go:245 +0x340
runtime.gcDrain(0xc420021270, 0x5)
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgcmark.go:934 +0x132
runtime.gcBgMarkWorker.func2()
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgc.go:1842 +0x80
runtime.systemstack(0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:409 +0x79
runtime: unexpected return pc for runtime.mstart called from 0x0
stack: frame={sp:0x7000025bfe80, fp:0x7000025bfe88}
stack=[0x700002540290,0x7000025bfe90)
00007000025bfd80: 0000000000000000 0000700000000002
00007000025bfd90: 0000000000000004 000000c41ffda7ff
00007000025bfda0: 0000000000000003 00000000055423a0
00007000025bfdb0: 000000c42044c020 0000000005834070
<runtime.markroot.func1+0>
00007000025bfdc0: 000000c4202f4480 000000c420021270
00007000025bfdd0: 00007000025bfe28 000000000580c0f2 <runtime.gcDrain+306>
00007000025bfde0: 000000c420021270 0000000000000020
00007000025bfdf0: 0000000000000000 7fffffffffffffff
00007000025bfe00: 0000000000004000 00000000055423a0
00007000025bfe10: 000000c420001e00 000000c4202f4480
00007000025bfe20: 0000000000000000 00007000025bfe68
00007000025bfe30: 0000000005833f00 <runtime.gcBgMarkWorker.func2+128>
000000c420021270
00007000025bfe40: 0000000000000005 00007000025bfe68
00007000025bfe50: 000000c4202f4480 000000c420020000
00007000025bfe60: 000000c420021270 00007fffffe00000
00007000025bfe70: 0000000005835d19 <runtime.systemstack+121>
000000000581a9b0 <runtime.mstart+0>
00007000025bfe80: <0000000000000000 >0100000004500000
runtime.mstart()
/usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:1170
goroutine 131 [GC worker (idle) (scan)]:
runtime.systemstack_switch()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:363
fp=0xc42038cf48 sp=0xc42038cf40 pc=0x5835c90
runtime.gcBgMarkWorker(0xc420020000)
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgc.go:1829 +0x210
fp=0xc42038cfd8 sp=0xc42038cf48 pc=0x5808440
runtime: unexpected return pc for runtime.goexit called from 0xc420020000
stack: frame={sp:0xc42038cfd8, fp:0xc42038cfe0}
stack=[0xc42038c800,0xc42038d000)
000000c42038ced8: 00000000043588b0 0000000000000000
000000c42038cee8: 0000000000000000 0000000000000000
000000c42038cef8: 0000000000000000 0000000000000000
000000c42038cf08: 000000c42038cf38 0000000005801228 <runtime.newobject+56>
000000c42038cf18: 0000000000000010 0000000005818056 <runtime.gopark+294>
000000c42038cf28: 00000000058661a8 000000c4204b4010
000000c42038cf38: 000000c42038cfc8 0000000005808440
<runtime.gcBgMarkWorker+528>
000000c42038cf48: 000000c42038cfb0 000000c4204b4010
000000c42038cf58: 0000000005862da2 0000000000000010
000000c42038cf68: 0000000000000014 0000000000000000
000000c42038cf78: 0000000000000000 0000000000000000
000000c42038cf88: 000000007c6a1d8f 0000000000000000
000000c42038cf98: 000000c4202f4480 000000c420021258
000000c42038cfa8: 000000c4204b4010 0000000005833e80
<runtime.gcBgMarkWorker.func2+0>
000000c42038cfb8: 000000c4202f4480 000000c420020000
000000c42038cfc8: 0000000000000000 0000000005837fc1 <runtime.goexit+1>
000000c42038cfd8: <000000c420020000 >0000000000000000
000000c42038cfe8: 0000000000000000 0000000000000000
000000c42038cff8: 0000000000000000
runtime.goexit()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:2361 +0x1
fp=0xc42038cfe0 sp=0xc42038cfd8 pc=0x5837fc1
created by runtime.gcBgMarkStartWorkers
/usr/local/Cellar/go/1.10/libexec/src/runtime/mgc.go:1723 +0x84
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.