Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table widget crash when scrolling rapidly #1887

Closed
wenhsinhsieh opened this issue Feb 1, 2021 · 3 comments
Closed

Table widget crash when scrolling rapidly #1887

wenhsinhsieh opened this issue Feb 1, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@wenhsinhsieh
Copy link

wenhsinhsieh commented Feb 1, 2021

Describe the bug:

The table widget goes panic when scrolling up and down rapidly

To Reproduce:

Steps to reproduce the behaviour:

  1. Run fyne_demo
  2. switch to Collections-> Table
  3. maximize window
  4. mouse hold on vertical scroll bar can scroll up and down rapidly
  5. eventually the program goes panic

Note: It seems doesn't happen (or maybe hard to reproduce) if the window is not maximize. It also doesn't happen if scrolling slowly.

Screenshots:

圖片

Device (please complete the following information):

  • OS: Windows
  • Version: 10
  • Go version: 1.14.6
  • Fyne version: 2.0
@wenhsinhsieh wenhsinhsieh added the bug Something isn't working label Feb 1, 2021
@wenhsinhsieh
Copy link
Author

Additional info: Linux also happens too.

Device (please complete the following information):

  • OS: Ubuntu
  • Version: 18.04
  • Go version: 1.14.7
  • Fyne version: 2.0

Callstack:

panic: runtime error: index out of range [31] with length 31

goroutine 15 [running, locked to thread]:
fyne.io/fyne/v2/widget.(*tableRenderer).moveIndicators(0xc0003096c0)
	/home/user/go/src/fyne.io/fyne/v2/widget/table.go:350 +0xc65
fyne.io/fyne/v2/widget.(*tableRenderer).Layout(0xc0003096c0, 0x4443400044b7b333)
	/home/user/go/src/fyne.io/fyne/v2/widget/table.go:240 +0x2f
fyne.io/fyne/v2/internal/driver/glfw.updateLayout(0xb5eb20, 0xc000a3a780)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:638 +0x122
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).ensureMinSize.func1(0xc000c18f80)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:349 +0x18d
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTree.func2(0xb5d860, 0xc000a29b60, 0xb5ea60, 0xc000028ab0)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:531 +0xd8
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5d860, 0xc000a29b60, 0x4443400043bfb300, 0xb5ea60, 0xc000028ab0, 0x4443400043bfb333, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:197 +0x338
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5ea60, 0xc000028ab0, 0x42f0000043bdb300, 0xb5eb20, 0xc000a3a780, 0x42f0000043bdb333, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:190 +0x41d
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5eb20, 0xc000a3a780, 0x42f0000043bdb300, 0xb5d5c0, 0xc0000b0780, 0x42f0000043bdb333, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:190 +0x41d
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5d5c0, 0xc0000b0780, 0x4204000043bdb300, 0xb5d5c0, 0xc000178100, 0x4204000043bdb333, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:190 +0x41d
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5d5c0, 0xc000178100, 0x4204000040800000, 0xb5daa0, 0xc000218ee0, 0x4204000040800000, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:190 +0x41d
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xb5daa0, 0xc000218ee0, 0x10daab00, 0x0, 0x0, 0x0, 0x0, 0x4f0000004f000000, 0xc001317cd8, 0xc001317cb0, ...)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:190 +0x41d
fyne.io/fyne/v2/internal/driver.WalkVisibleObjectTree(0xb5daa0, 0xc000218ee0, 0xc001317cd8, 0xc001317cb0, 0xc001317cc8)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/util.go:134 +0x94
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTree(0xc000034200, 0xc000478160, 0x0, 0xc001317db0)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:537 +0x15c
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTrees(0xc000034200, 0x0, 0xc001317db0)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:544 +0x4f
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).ensureMinSize(0xc000034200, 0xc001317e20)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/canvas.go:354 +0x98
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow.func1()
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/loop.go:156 +0x40
fyne.io/fyne/v2/internal/driver/glfw.(*window).RunWithContext(0xc000196540, 0xc001317e58)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/window.go:1181 +0x38
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow(0xc0000bc730, 0xc000196540)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/loop.go:155 +0x60
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread.func1(0xc0000bc730, 0xc00002c840, 0xc0000bc820)
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/loop.go:211 +0x22c
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread
	/home/user/go/src/fyne.io/fyne/v2/internal/driver/glfw/loop.go:182 +0xbd

@andydotxyz
Copy link
Member

This should now be fixed on the develop branch. If you are able to test that would be excellent.

@andydotxyz
Copy link
Member

This was resolved in v2.0.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants