Comments (6)
Are you able to share the trace that causes the crash?
from gotraceui.
Sure, please download it from here. The source code is from ardanlabs/gotraining. The crash basically happens when the cursor is moved around over the UI.
from gotraceui.
Fixed, thanks.
from gotraceui.
Thank you for the fix! But with the same input, clicking on goroutines may still cause panics:
panic: runtime error: invalid memory address or nil pointer dereference
panic: stack push and pop must not cross macro boundary
panic: stack push and pop must not cross macro boundary
panic: stack push and pop must not cross macro boundary
panic: stack push and pop must not cross macro boundary
[signal 0xc0000005 code=0x0 addr=0x8 pc=0xb8fea0]
goroutine 50 [running]:
gioui.org/internal/ops.PopOp(...)
[email protected]/internal/ops/ops.go:275
gioui.org/op/clip.Stack.Pop(...)
[email protected]/op/clip/clip.go:105
panic({0xbf5040?, 0xd81670?})
runtime/panic.go:770 +0x132
gioui.org/internal/ops.PopOp(...)
[email protected]/internal/ops/ops.go:275
gioui.org/op.TransformStack.Pop(...)
[email protected]/op/op.go:239
panic({0xbf5040?, 0xd81670?})
runtime/panic.go:770 +0x132
gioui.org/internal/ops.PopOp(...)
[email protected]/internal/ops/ops.go:275
gioui.org/op/clip.Stack.Pop(...)
[email protected]/op/clip/clip.go:105
panic({0xbf5040?, 0xd81670?})
runtime/panic.go:770 +0x132
gioui.org/internal/ops.PopOp(...)
[email protected]/internal/ops/ops.go:275
gioui.org/op/clip.Stack.Pop(...)
[email protected]/op/clip/clip.go:105
panic({0xc168c0?, 0x12012a0?})
runtime/panic.go:770 +0x132
main.(*Trace).AdjustedTime(0x0?, 0x0?)
honnef.co/go/[email protected]/cmd/gotraceui/trace.go:26
main.(*GoroutineList).Layout.func1.(*CellFormatter).Timestamp.2.1({{{0x0, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/util.go:69 +0x55
honnef.co/go/gotraceui/layout.Overlay({{{0x0, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:237 +0xd5
main.(*Link).Layout(0xc0050d9570, {{{0x0, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/cmd/gotraceui/link.go:33 +0x108
main.(*GoroutineList).Layout.func1.(*CellFormatter).Timestamp.2({{{0x0, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/util.go:67 +0x165
honnef.co/go/gotraceui/layout.RightAligned({{{0xd5, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:202 +0x136
main.(*CellFormatter).Timestamp(...)
honnef.co/go/[email protected]/cmd/gotraceui/util.go:64
main.(*GoroutineList).Layout.func1(0xc0006a0000, {{{0xd5, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/cmd/gotraceui/goroutine.go:739 +0x865
honnef.co/go/gotraceui/theme.TableSimpleRowStyle.Layout.func1.1.1.1({{{0xd5, 0x0}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:699 +0x56
gioui.org/layout.Inset.Layout({0x0?, 0x0?, 0xd70438?, 0xc0?}, {{{0xd5, 0x29}, {0xd5, 0xf4234}}, {0x40000000, 0x40000000}, ...}, ...)
[email protected]/layout/layout.go:169 +0x396
honnef.co/go/gotraceui/theme.TableSimpleRowStyle.Layout.func1.1.1(0xc0006a0000, {{{0xe1, 0x29}, {0xe1, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:697 +0x289
honnef.co/go/gotraceui/theme.TableRowStyle.Layout({0xc002a60aa0?, 0xdc?}, 0xc0006a0000, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:328 +0xa46
honnef.co/go/gotraceui/theme.TableSimpleRowStyle.Layout.func1.1(0xc0000f0000?, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:693 +0x8d
honnef.co/go/gotraceui/theme.Background.Layout({{0x33?, 0x0?, 0x0?, 0x0?}}, 0xc0006a0000, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/util.go:65 +0x13e
honnef.co/go/gotraceui/theme.TableSimpleRowStyle.Layout.func1({{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:692 +0xb4
honnef.co/go/gotraceui/layout.Overlay({{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:237 +0xd5
honnef.co/go/gotraceui/theme.TableSimpleRowStyle.Layout({0xc0051cf110?}, 0xc0006a0000, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:690 +0x348
honnef.co/go/gotraceui/theme.SimpleTable.func1(0x8eddd8?, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:775 +0x4d
honnef.co/go/gotraceui/theme.FairlySimpleTable.func1.1.2.1({{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:799 +0x45
honnef.co/go/gotraceui/layout.(*List).Layout(0xc0047f5398, {{{0x2d8, 0x0}, {0xf4240, 0xf4240}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/list.go:127 +0x1d8
honnef.co/go/gotraceui/theme.(*RememberingList).Layout(0xc0047f5370, {{{0x2d8, 0x0}, {0xf4240, 0x3b7}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:516 +0x105
honnef.co/go/gotraceui/theme.FairlySimpleTable.func1.1.2({{{0x2d8, 0x0}, {0xf4240, 0x3b7}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:798 +0x89
honnef.co/go/gotraceui/layout.Rigids({{{0x2d8, 0x0}, {0xf4240, 0x3ea}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:164 +0x436
honnef.co/go/gotraceui/theme.FairlySimpleTable.func1.1(0x8eddd8?, {{{0x2d8, 0x0}, {0xf4240, 0x3ea}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:792 +0x10d
honnef.co/go/gotraceui/theme.YScrollableListStyle.Layout.func1.1({{{0x2d8, 0x0}, {0xf4240, 0x3ea}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:547 +0x7b
honnef.co/go/gotraceui/layout.(*List).Layout(0xc0047f5680, {{{0x0, 0x0}, {0xf4240, 0x3ea}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/list.go:127 +0x1d8
honnef.co/go/gotraceui/theme.YScrollableListStyle.Layout.func1({{{0x2f4, 0x0}, {0x2f4, 0x3ea}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:544 +0x348
honnef.co/go/gotraceui/layout.Rigids({{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:164 +0x436
honnef.co/go/gotraceui/theme.YScrollableListStyle.Layout({0xc000d72128?}, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:530 +0x32d
honnef.co/go/gotraceui/theme.FairlySimpleTable.func1(0x10?, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/theme/table.go:791 +0xa6
honnef.co/go/gotraceui/theme.(*Table).Layout(0xc002a60aa0, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:113 +0x142
honnef.co/go/gotraceui/theme.FairlySimpleTable(0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:790 +0x168
honnef.co/go/gotraceui/theme.SimpleTable(0xc0047f5a08?, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/table.go:768 +0x85
main.(*GoroutineList).Layout(0xc0047f5328, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/goroutine.go:778 +0x20e
main.(*FunctionInfo).Layout.func7.1.2({{{0x2f4, 0x0}, {0x2f4, 0x406}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/function.go:211 +0x128
honnef.co/go/gotraceui/layout.Rigids({{{0x2f4, 0x42d}, {0x2f4, 0x42d}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:164 +0x436
main.(*FunctionInfo).Layout.func7.1(0x21000000206?, {{{0x2f4, 0x42d}, {0x2f4, 0x42d}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/function.go:194 +0x22d
honnef.co/go/gotraceui/theme.TabbedStyle.Layout.func1.4({{{0x2f4, 0x0}, {0x2f4, 0x42d}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/theme.go:971 +0x39
honnef.co/go/gotraceui/layout.Rigids({{{0x2f4, 0x0}, {0x2f4, 0x46a}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:164 +0x436
honnef.co/go/gotraceui/theme.TabbedStyle.Layout.func1(0x0?, {{{0x2f4, 0x0}, {0x2f4, 0x46a}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/theme/theme.go:933 +0x16d
honnef.co/go/gotraceui/theme.Background.Layout({{0x47f5020?, 0xc0?, 0x0?, 0x0?}}, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x46a}}, {0x40000000, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/util.go:65 +0x13e
honnef.co/go/gotraceui/theme.TabbedStyle.Layout({0xc0047f5020?, {0xc000665860?, 0xc000d73048?, 0x8d669a?}}, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x46a}}, {0x40000000, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/theme.go:932 +0x2d5
main.(*FunctionInfo).Layout.func7({{{0x2f4, 0x0}, {0x2f4, 0x46a}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/function.go:190 +0xb2
honnef.co/go/gotraceui/layout.Rigids({{{0x2f4, 0x0}, {0x2f4, 0x548}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:164 +0x436
main.(*FunctionInfo).Layout(0xc0047f5008, 0xc0006a0000, {{{0x2f4, 0x0}, {0x2f4, 0x548}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/function.go:171 +0x8ad
main.(*MainWindow).renderMainScene.func2(0xc0006a0000?, {{{0x2fe, 0x0}, {0x2fe, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/main.go:1034 +0x5b
honnef.co/go/gotraceui/theme.ResizeStyle.Layout.Dumb.func4({{{0x2fe, 0x0}, {0x2fe, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/window.go:165 +0x39
gioui.org/layout.Flex.Layout({0x28?, 0x8b?, 0x13?, 0xc0?}, {{{0x0, 0x0}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, ...}, ...)
[email protected]/layout/flex.go:134 +0x5f5
gioui.org/x/component.(*Resize).Layout(0xc000138b20, {{{0x0, 0x0}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...}, ...)
gioui.org/[email protected]/component/resizer.go:41 +0x418
honnef.co/go/gotraceui/theme.ResizeStyle.Layout({0xc000138b20?, {0x88900?, 0xc0?, 0xd73e78?, 0xc0?}}, 0xc0006a0000, {{{0x0, 0x0}, {0xa00, 0x552}}, ...}, ...)
honnef.co/go/[email protected]/theme/theme.go:753 +0x333
main.(*MainWindow).renderMainScene(0xc000138008, 0xc0006a0000, {{{0x0, 0x0}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, ...}, ...)
honnef.co/go/[email protected]/cmd/gotraceui/main.go:1040 +0x82f
main.(*MainWindow).Run.func2(0xc0006a0000, {{{0x0, 0x0}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, ...}, ...})
honnef.co/go/[email protected]/cmd/gotraceui/main.go:858 +0x5ec
honnef.co/go/gotraceui/theme.(*Window).Layout.Dumb.func2({{{0xa00, 0x552}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, {0xd84100, 0xc0001486d0}, {0xc178894be954a618, 0x2ae5f6a45, ...}, ...})
honnef.co/go/[email protected]/theme/window.go:165 +0x39
honnef.co/go/gotraceui/layout.PixelInset.Layout({0x573?, 0x4000000040000000?, 0xd84100?, 0xc0001486d0?}, {{{0xa00, 0x552}, {0xa00, 0x552}}, {0x40000000, 0x40000000}, ...}, ...)
honnef.co/go/[email protected]/layout/layout.go:103 +0x316
honnef.co/go/gotraceui/theme.(*Window).Layout(0xc0006a0000, 0xc0000f0000, {{0xc178894be954a618, 0x2ae5f6a45, 0x1241f40}, {0x40000000, 0x40000000}, {0xa00, 0x573}, {0x0, ...}, ...}, ...)
honnef.co/go/[email protected]/theme/window.go:288 +0x7d6
main.(*MainWindow).Run(0xc000138008)
honnef.co/go/[email protected]/cmd/gotraceui/main.go:819 +0x488
main.main.func2()
honnef.co/go/[email protected]/cmd/gotraceui/main.go:1415 +0x1c
created by main.main in goroutine 1
honnef.co/go/[email protected]/cmd/gotraceui/main.go:1414 +0x59d
from gotraceui.
Fixed in b8d0ba9.
from gotraceui.
Yes! I think it's quite stable now. Amazing work!
from gotraceui.
Related Issues (20)
- SIGTRAP: trace trap (signal arrived during cgo execution) panic
- Web version HOT 2
- Support the Chromium Event JSON format
- Add support for markers HOT 1
- Changing event filters in span info panel doesn't maintain sorted column
- Make goroutine states and span labels match runtime nomenclature more closely
- Make sure we use "before/after trace start/end" everywhere we display timestamps
- Support exporting metrics (such as heap size and GC goal) to files
- Display flame graph for memory allocations
- UI doesn't come up HOT 4
- Unable to open trace file: time stamps out of order HOT 4
- Allow measuring time
- Display CPU samples on a mini track when stack tracks are turned off
- Display source location for bad trace region
- Does not work with go 1.22 HOT 3
- darwin: `ld: warning: ignoring duplicate libraries: '-lobjc'`
- Macos: Stuck after clicking "Open trace" HOT 2
- [Wayland/Sway] Hang/Crash when clicking "select user region" where there are many regions HOT 2
- Support for v1.22 trace file HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gotraceui.