core
core copied to clipboard
Seg violation resizing window while plotting
To reproduce start a sim and click on a plot tab. I had a trial graph visible. Now resize main window.
I was able to get this crash easily on a couple of tries when reproducing.
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x41a8f45]
goroutine 51 [running]: image.(*RGBA).Bounds(0x0, 0xc2ffffff3f, 0xfff50000000b, 0x10, 0x10) /usr/local/go/src/image/image.go:72 +0x5 image/draw.clip(0x555a840, 0x0, 0xc0008a72b8, 0x5556700, 0xc053d3bf40, 0xc0008a72e8, 0x0, 0x0, 0xc0008a7308) /usr/local/go/src/image/draw/draw.go:75 +0x54 image/draw.DrawMask(0x555a840, 0x0, 0x302, 0xda, 0x30f, 0xe7, 0x5556700, 0xc053d3bf40, 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(0xc0538f0000, 0xc02846c000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:362 +0x115 github.com/goki/gi/gi.(*Viewport2D).RenderViewport2D(0xc0538f0000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:542 +0x73 github.com/goki/gi/svg.(*Icon).Render2D(0xc0538f0000) /Users/rohrlich/go/src/github.com/goki/gi/svg/icons.go:128 +0x11b github.com/goki/gi/gi.(*Node2DBase).Render2DChildren(0xc0538e6480) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:908 +0xa2 github.com/goki/gi/gi.(*Icon).Render2D(0xc0538e6480) /Users/rohrlich/go/src/github.com/goki/gi/gi/icon.go:153 +0x61 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc0538e8470) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1448 +0xb9 github.com/goki/gi/gi.(*Layout).Render2D(0xc0538e8470) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:2108 +0xc3 github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc0538e8470) /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:850 github.com/goki/gi/gi.(*ButtonBase).Render2D(0xc0538e8000) /Users/rohrlich/go/src/github.com/goki/gi/gi/buttons.go:696 +0xd0 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc00063ce70) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1448 +0xb9 github.com/goki/gi/gi.(*Layout).Render2D(0xc00063ce70) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:2108 +0xc3 github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc00063ce70) /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:850 github.com/goki/gi/gi.(*TextField).Render2D(0xc00063ca00) /Users/rohrlich/go/src/github.com/goki/gi/gi/textfield.go:1531 +0x125 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc000321700) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1448 +0xb9 github.com/goki/gi/gi.(*Frame).Render2D(0xc000321700) /Users/rohrlich/go/src/github.com/goki/gi/gi/frame.go:167 +0xc4 github.com/goki/gi/gi.(*Layout).Render2DChildren(0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/gi/layout.go:1448 +0xb9 github.com/goki/gi/gi.(*Frame).Render2D(0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/gi/frame.go:167 +0xc4 github.com/goki/gi/giv.(*StructView).Render2D(0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/giv/structview.go:354 +0x5b github.com/goki/gi/gi.(*Node2DBase).Render2DTree(0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/gi/node2d.go:869 +0x78 github.com/goki/gi/gi.(*Viewport2D).ReRender2DNode(0xc02846c000, 0x7f32858, 0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:378 +0xbd github.com/goki/gi/gi.(*Viewport2D).UpdateNode(0xc02846c000, 0x7f32858, 0xc000671500) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:878 +0x1cf github.com/goki/gi/gi.(*Viewport2D).UpdateNodes(0xc02846c000) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:859 +0x1c4 github.com/goki/gi/gi.(*Viewport2D).NodeUpdated(0xc02846c000, 0x7f32858, 0xc000671500, 0x1, 0x4ffd5c0, 0xc0598ce440) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:749 +0x166 github.com/goki/gi/gi.SignalViewport2D(0x55e2ce0, 0xc02846c000, 0x55eff40, 0xc000671500, 0x1, 0x4ffd5c0, 0xc0598ce440) /Users/rohrlich/go/src/github.com/goki/gi/gi/viewport.go:703 +0x1d2 github.com/goki/ki/ki.(*Signal).Emit(0xc000671558, 0x55eff40, 0xc000671500, 0x1, 0x4ffd5c0, 0xc0598ce440) /Users/rohrlich/go/src/github.com/goki/ki/ki/signal.go:173 +0x1a7 github.com/goki/ki/ki.(*Node).UpdateEnd(0xc000671500, 0x528bb01) /Users/rohrlich/go/src/github.com/goki/ki/ki/node.go:1935 +0x20a github.com/goki/gi/giv.(*StructView).UpdateField(0xc000671500, 0x528bbc7, 0x3) /Users/rohrlich/go/src/github.com/goki/gi/giv/structview.go:113 +0xcc main.(*Sim).TrainTrial(0x6a3c4c0) /Users/rohrlich/go/src/github.com/ccnlab/lang-acq/sims/wordseg1/wordseg.go:761 +0x287 main.(*Sim).Train(0x6a3c4c0) /Users/rohrlich/go/src/github.com/ccnlab/lang-acq/sims/wordseg1/wordseg.go:1056 +0x34 created by main.(*Sim).ConfigGui.func4 /Users/rohrlich/go/src/github.com/ccnlab/lang-acq/sims/wordseg1/wordseg.go:1802 +0x71
/Users/rohrlich/go/src/github.com/ccnlab/lang-acq/sims/wordseg1/wordseg1 failed at: Thu May 21 22:48:58 PDT 2020
all fixed now :) everything fully robust to resize.