From ccd67a7611776c46d4b53229c49ce363b4dfba5f Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 22 Nov 2018 08:18:55 +0100 Subject: pkg/report: detect Go service panics for fuchsia --- pkg/report/testdata/fuchsia/report/27 | 23 +++++++++++++++++++++++ pkg/report/testdata/fuchsia/report/28 | 31 +++++++++++++++++++++++++++++++ pkg/report/testdata/fuchsia/report/29 | 19 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 pkg/report/testdata/fuchsia/report/27 create mode 100644 pkg/report/testdata/fuchsia/report/28 create mode 100644 pkg/report/testdata/fuchsia/report/29 (limited to 'pkg/report/testdata') diff --git a/pkg/report/testdata/fuchsia/report/27 b/pkg/report/testdata/fuchsia/report/27 new file mode 100644 index 000000000..1bcf15977 --- /dev/null +++ b/pkg/report/testdata/fuchsia/report/27 @@ -0,0 +1,23 @@ +TITLE: panic: not implemented + +[00058.247] 05208.08054> panic: not implemented +[00058.247] 05208.08054> +[00058.247] 05208.08054> goroutine 36 [running]: +[00058.247] 05208.08054> main.(*stackImpl).DelInterfaceAddress(0x1238ec144030, 0x46, 0x76262c7500000001, 0x0, 0x0, 0x40, 0x77c86c695a80, 0x1238ec056100) +[00058.247] 05208.08054> netstack/src/netstack/fuchsia_net_stack.go:314 +0x3b +[00058.247] 05208.08054> fidl/fuchsia/net/stack.(*StackStub).Dispatch(0x1238ec008490, 0x105, 0x1238ec1ba010, 0x1c, 0xfff0, 0x1238ec034200, 0x0, 0x40, 0x2c, 0x0, ...) +[00058.247] 05208.08054> netstack/src/fidl/fuchsia/net/stack/impl.go:1053 +0xab6 +[00058.247] 05208.08054> syscall/zx/fidl.(*Binding).dispatch(0x1238ec030100, 0x77c86c694200, 0x0, 0x0) +[00058.247] 05208.08054> syscall/zx/fidl/bindings.go:152 +0x3e5 +[00058.247] 05208.08054> syscall/zx/fidl.(*Binding).Init.func1(0x1238ec052000, 0x123800000000, 0x1238ec068270, 0x0) +[00058.247] 05208.08054> syscall/zx/fidl/bindings.go:94 +0x100 +[00058.247] 05208.08054> syscall/zx/dispatch.(*Dispatcher).dispatch(0x1238ec052000, 0x10, 0x1238ec3656a0, 0x1238ec068270) +[00058.247] 05208.08054> syscall/zx/dispatch/dispatcher.go:171 +0xa5 +[00058.247] 05208.08054> syscall/zx/dispatch.(*Dispatcher).Serve(0x1238ec052000) +[00058.247] 05208.08054> syscall/zx/dispatch/dispatcher.go:222 +0x10e +[00058.247] 05208.08054> syscall/zx/fidl.Serve() +[00058.247] 05208.08054> syscall/zx/fidl/bindings.go:30 +0x2f +[00058.247] 05208.08054> created by app/context.(*Context).Serve +[00058.247] 05208.08054> netstack/src/app/context/context.go:108 +0x49 +[00058.278] 07899.07911> [ERROR:garnet/bin/mdns/service/mdns_interface_transceiver.cc(179)] Failed to recvfrom, errno 5 +[00058.280] 06892.06916> [ERROR:garnet/bin/sshd-host/sshd-host.cc(92)] The netstack died. Terminating. diff --git a/pkg/report/testdata/fuchsia/report/28 b/pkg/report/testdata/fuchsia/report/28 new file mode 100644 index 000000000..a244f829d --- /dev/null +++ b/pkg/report/testdata/fuchsia/report/28 @@ -0,0 +1,31 @@ +TITLE: panic: payload too small + +[00121.386] 05209.05460> panic: payload too small +[00121.386] 05209.05460> +[00121.387] 05209.05460> goroutine 8 [running]: +[00121.387] 05209.05460> syscall/zx/fidl.(*decoder).readUint(0x4eb3f40305c0, 0x8, 0x52b2b5a4c850) +[00121.389] 05209.05460> syscall/zx/fidl/encoding.go:685 +0x71 +[00121.391] 05209.05460> syscall/zx/fidl.(*decoder).unmarshalString(0x4eb3f40305c0, 0xa9b7b304720, 0xa9b7b298320, 0xa9b7b298320, 0x4eb3f4239000, 0x198, 0x0, 0x0, 0x0, 0x0, ...) +[00121.393] 05209.05460> syscall/zx/fidl/encoding.go:965 +0x5e +[00121.395] 05209.05460> syscall/zx/fidl.(*decoder).unmarshal(0x4eb3f40305c0, 0xa9b7b304720, 0xa9b7b298320, 0xa9b7b298320, 0x4eb3f4239000, 0x198, 0x0, 0x0, 0x0, 0x0, ...) +[00121.395] 05209.05460> syscall/zx/fidl/encoding.go:1037 +0x572 +[00121.399] 05209.05460> syscall/zx/fidl.(*decoder).unmarshalStructFields(0x4eb3f40305c0, 0xa9b7b304720, 0xa9b7b2cfd80, 0xa9b7b2cfd80, 0x4eb3f4239000, 0x199, 0x8, 0x18) +[00121.401] 05209.05460> syscall/zx/fidl/encoding.go:796 +0x1f3 +[00121.403] 05209.05460> syscall/zx/fidl.Unmarshal(0x4eb3f4456010, 0x0, 0xfff0, 0x4eb3f4000600, 0x0, 0x40, 0xa9b7b2ff800, 0x4eb3f4239000, 0xa9b7b0b40fb, 0x4eb3f4238fe0) +[00121.406] 05209.05460> syscall/zx/fidl/encoding.go:1091 +0x370 +[00121.409] 05209.05460> fidl/fuchsia/net/stack.(*StackStub).Dispatch(0x4eb3f415a540, 0x1, 0x4eb3f4456010, 0x0, 0xfff0, 0x4eb3f4000600, 0x0, 0x40, 0x10, 0x0, ...) +[00121.411] 05209.05460> netstack/src/fidl/fuchsia/net/stack/impl.go:984 +0x28f +[00121.411] 05209.05460> syscall/zx/fidl.(*Binding).dispatch(0x4eb3f40e62c0, 0xa9b7b2fe200, 0x0, 0x0) +[00121.411] 05209.05460> syscall/zx/fidl/bindings.go:152 +0x3e5 +[00121.411] 05209.05460> syscall/zx/fidl.(*Binding).Init.func1(0x4eb3f4030040, 0x4eb300000000, 0x4eb3f4284060, 0x0) +[00121.411] 05209.05460> syscall/zx/fidl/bindings.go:94 +0x100 +[00121.421] 05209.05460> syscall/zx/dispatch.(*Dispatcher).dispatch(0x4eb3f4030040, 0x18, 0x4eb3f4356520, 0x4eb3f4284060) +[00121.423] 05209.05460> syscall/zx/dispatch/dispatcher.go:171 +0xa5 +[00121.425] 05209.05460> syscall/zx/dispatch.(*Dispatcher).Serve(0x4eb3f4030040) +[00121.425] 05209.05460> syscall/zx/dispatch/dispatcher.go:222 +0x10e +[00121.425] 05209.05460> syscall/zx/fidl.Serve() +[00121.428] 05209.05460> syscall/zx/fidl/bindings.go:30 +0x2f +[00121.430] 05209.05460> created by main.main +[00121.431] 05209.05460> netstack/src/netstack/main.go:157 +0x907 +[00121.440] 07754.07766> [ERROR:garnet/bin/mdns/service/mdns_interface_transceiver.cc(179)] Failed to recvfrom, errno 5 +[00121.443] 07391.07405> [ERROR:garnet/bin/sshd-host/sshd-host.cc(92)] The netstack died. Terminating. diff --git a/pkg/report/testdata/fuchsia/report/29 b/pkg/report/testdata/fuchsia/report/29 new file mode 100644 index 000000000..a8dbb4e92 --- /dev/null +++ b/pkg/report/testdata/fuchsia/report/29 @@ -0,0 +1,19 @@ +TITLE: panic: runtime error: slice bounds out of range + +[00086.522] 04724.07088> panic: runtime error: slice bounds out of range +[00086.522] 04724.07088> +[00086.522] 04724.07088> goroutine 21 [running]: +[00086.522] 04724.07088> syscall/zx/fidl.(*Binding).dispatch(0x1000e0176280, 0x543ec9bc0200, 0x0, 0x0) +[00086.522] 04724.07088> syscall/zx/fidl/bindings.go:152 +0x6c2 +[00086.522] 04724.07088> syscall/zx/fidl.(*Binding).Init.func1(0x1000e004c000, 0x100000000000, 0x1000e00e80f0, 0x0) +[00086.522] 04724.07088> syscall/zx/fidl/bindings.go:94 +0x100 +[00086.522] 04724.07088> syscall/zx/dispatch.(*Dispatcher).dispatch(0x1000e004c000, 0x13, 0x1000e0200340, 0x1000e00e80f0) +[00086.522] 04724.07088> syscall/zx/dispatch/dispatcher.go:171 +0xa5 +[00086.522] 04724.07088> syscall/zx/dispatch.(*Dispatcher).Serve(0x1000e004c000) +[00086.522] 04724.07088> syscall/zx/dispatch/dispatcher.go:222 +0x10e +[00086.522] 04724.07088> syscall/zx/fidl.Serve() +[00086.522] 04724.07088> syscall/zx/fidl/bindings.go:30 +0x2f +[00086.522] 04724.07088> created by app/context.(*Context).Serve +[00086.522] 04724.07088> netstack/src/app/context/context.go:108 +0x49 +[00086.550] 07279.07291> [ERROR:garnet/bin/mdns/service/mdns_interface_transceiver.cc(179)] Failed to recvfrom, errno 5 +[00086.557] 07885.07911> [ERROR:garnet/bin/sshd-host/sshd-host.cc(92)] The netstack died. Terminating. -- cgit mrf-deployment