Code Monkey home page Code Monkey logo

Comments (6)

dominikh avatar dominikh commented on June 24, 2024

Are you able to share the trace that causes the crash?

from gotraceui.

wdscxsj avatar wdscxsj commented on June 24, 2024

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.

dominikh avatar dominikh commented on June 24, 2024

Fixed, thanks.

from gotraceui.

wdscxsj avatar wdscxsj commented on June 24, 2024

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.

dominikh avatar dominikh commented on June 24, 2024

Fixed in b8d0ba9.

from gotraceui.

wdscxsj avatar wdscxsj commented on June 24, 2024

Yes! I think it's quite stable now. Amazing work!

from gotraceui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.