core icon indicating copy to clipboard operation
core copied to clipboard

Crash calling when resizing main window

Open rohrlich opened this issue 5 years ago • 6 comments

Have not seen this in a while but pretty easily reproduced.

[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x431c665]

goroutine 22 [running]: image.(*RGBA).Bounds(0x0, 0xc0fe65dd10, 0x10, 0x10, 0x5095d80) /usr/local/go/src/image/image.go:72 +0x5 image/draw.clip(0x55124e0, 0x0, 0xc0b1889358, 0x550e520, 0xc0b574ff00, 0xc0b1889388, 0x0, 0x0, 0xc0b18893a8) /usr/local/go/src/image/draw/draw.go:75 +0x54 image/draw.DrawMask(0x55124e0, 0x0, 0x1d7, 0x527, 0x1f1, 0x541, 0x550e520, 0xc0b574ff00, 0x0, 0x0, ...) /usr/local/go/src/image/draw/draw.go:107 +0xab image/draw.Draw(...) /usr/local/go/src/image/draw/draw.go:101 github.com/goki/gi/gi.(*Viewport2D).DrawIntoParent(0xc057ab1000, 0xc057f4e000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:362 +0x11a github.com/goki/gi/gi.(*Viewport2D).RenderViewport2D(0xc057ab1000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:542 +0x72 github.com/goki/gi/svg.(*Icon).Render2D(0xc057ab1000) /Users/rohrlich/go/src/github.com/goki/gi/svg/icons.go:128 +0x11b github.com/goki/gi/gi.(*Node2DBase).Render2DChildren(0xc057ab6000) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:908 +0xa2 github.com/goki/gi/gi.(*Icon).Render2D(0xc057ab6000) /Users/rohrlich/go/src/github.com/goki/gi/gi/icon.go:153 +0x61 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc058842a70) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1447 +0xb9 github.com/goki/gi/gi.(*Layout).Render2D(0xc058842a70) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:2107 +0xc3 github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc058842a70) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:869 +0x78 github.com/goki/gi/gi.(*PartsWidgetBase).Render2DParts(...) /Users/rohrlich/go/src/github.com/goki/gi/gi/widget.go:853 github.com/goki/gi/gi.(*ButtonBase).Render2D(0xc058842600) /Users/rohrlich/go/src/github.com/goki/gi/gi/buttons.go:696 +0xd0 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc05876d970) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1447 +0xb9 github.com/goki/gi/gi.(*Layout).Render2D(0xc05876d970) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:2107 +0xc3 github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc05876d970) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:869 +0x78 github.com/goki/gi/gi.(*PartsWidgetBase).Render2DParts(...) /Users/rohrlich/go/src/github.com/goki/gi/gi/widget.go:853 github.com/goki/gi/gi.(*TextField).Render2D(0xc05876d500) /Users/rohrlich/go/src/github.com/goki/gi/gi/textfield.go:1531 +0xfa github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc058723970) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1447 +0xb9 github.com/goki/gi/gi.(*Layout).Render2D(0xc058723970) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:2107 +0xc3 github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc058723970) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:869 +0x78 github.com/goki/gi/gi.(*Viewport2D).ReRender2DNode(0xc057f4e000, 0x55a2960, 0xc058723970) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:378 +0xbd github.com/goki/gi/gi.(*Viewport2D).UpdateNode(0xc057f4e000, 0x55a2960, 0xc058723970) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:878 +0x1cf github.com/goki/gi/gi.(*Viewport2D).UpdateNodes(0xc057f4e000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:859 +0x1d7 github.com/goki/gi/gi.(*Viewport2D).NodeUpdated(0xc057f4e000, 0x7e8c5d8, 0xc057eece00, 0x1, 0x4fc5cc0, 0xc0c64a5c60) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:749 +0x166 github.com/goki/gi/gi.SignalViewport2D(0x5576c80, 0xc057f4e000, 0x5583ee0, 0xc057eece00, 0x1, 0x4fc5cc0, 0xc0c64a5c60) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:703 +0x1d2 github.com/goki/ki/ki.(*Signal).Emit(0xc057eece58, 0x5583ee0, 0xc057eece00, 0x1, 0x4fc5cc0, 0xc0c64a5c60) /Users/rohrlich/go/src/github.com/goki/ki/ki/signal.go:173 +0x1a7 github.com/goki/ki/ki.(*Node).UpdateEnd(0xc057eece00, 0x5246701) /Users/rohrlich/go/src/github.com/goki/ki/ki/node.go:1935 +0x20a github.com/goki/gi/giv.(*StructView).UpdateField(0xc057eece00, 0x524672c, 0x3) /Users/rohrlich/go/src/github.com/goki/gi/giv/structview.go:113 +0xcc main.(*Sim).TrialFieldUpdates(0x69ef280) /Users/rohrlich/go/src/github.com/ccnlab/lang-acq/sims/wordseg/wordseg.go:1166 +0x9c main.(*Sim).TrainTrial(0x69ef280)

rohrlich avatar Aug 18 '20 14:08 rohrlich

Happens pretty consistently in lots of apps, for example, resizing window of "marbles" example or "views" example

rohrlich avatar Mar 23 '22 14:03 rohrlich

i cant replicate on my mac..

rcoreilly avatar Mar 23 '22 19:03 rcoreilly

are u resizing while it is running? that also gives path errs on marbles

rcoreilly avatar Mar 23 '22 19:03 rcoreilly

actually i did just get on views! will debug

rcoreilly avatar Mar 23 '22 19:03 rcoreilly

I tried on my laptop with marbles and it didn't crash in 10 tries. Then I plugged in my 5G UltraFine display and it crashed on first try. The app was on the external display when it happened.

rohrlich avatar Mar 23 '22 20:03 rohrlich

But it doesn't always happen first try. And yes marbles was running.

rohrlich avatar Mar 23 '22 20:03 rohrlich

just tried marbles resizing the whole time and it didn't crash. note that with new vulkan version the resize is always updating so likely better here.

rcoreilly avatar Mar 26 '23 19:03 rcoreilly