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

dialog.ShowFileOpen rReturns list of errors to terminal when window is to small #1112

Closed
mattgialelis opened this issue Jun 17, 2020 · 6 comments
Labels
bug Something isn't working

Comments

@mattgialelis
Copy link

Describe the bug:

When the window for the new dialog is too small or around 100x100 and you try and open the dialog box the terminal used in the Go Run returns about 10 or so errors.

2020/06/17 15:47:34 Error 501 in GL Renderer
2020/06/17 15:47:34   At: /Users/mgialelis/go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:193

Increasing the window size to 200x200 seems to be enough to keep the errors happening

To Reproduce:

Steps to reproduce the behavior:

  1. Go Run the playground link. https://play.golang.org/p/576cEdR68Tn
  2. Click the button and watch the terminal Go run was called from

Example code:

func main() {
	a := app.New()

	w := a.NewWindow("Hello")
	//w.Resize(fyne.NewSize(300, 300))
	w.SetContent(widget.NewVBox(
		widget.NewLabel("Hello Fyne!"),
		widget.NewButton("Open", func() {
			NewDialog(w)
		}),
	))

	w.ShowAndRun()
}

func NewDialog(window fyne.Window) {
	var (
		selectedfiles fyne.URIReadCloser
		fileerror     error
	)

	dialog.ShowFileOpen(func(file fyne.URIReadCloser, err error) {
		selectedfiles = file
		err = fileerror
	}, window)

	window.Show()
}

Device (please complete the following information):

  • OS: Mac OS Catalina
  • Version: 10.15.4
  • Go version: go1.14.2
  • Fyne version: v1.3.0
@andydotxyz andydotxyz added blocker Items that would block a forthcoming release bug Something isn't working labels Jun 17, 2020
@andydotxyz andydotxyz added this to the 1.3.x milestone Jun 17, 2020
@peterhellberg
Copy link

peterhellberg commented Jun 18, 2020

I noticed a similar error (506 instead of 501) when running the example code at https://developer.fyne.io/tour/introduction/guis.html under Fyne 1.3.0 (using Go 1.14.3 and macOS 10.14.6)

Manually resizing the window results in a segmentation violation.

2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:45 Error 506 in GL Renderer
2020/06/18 15:12:45   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:46 Error 506 in GL Renderer
2020/06/18 15:12:46   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:46 Error 506 in GL Renderer
2020/06/18 15:12:46   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:46 Error 506 in GL Renderer
2020/06/18 15:12:46   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:49 Error 506 in GL Renderer
2020/06/18 15:12:49   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:50 Error 506 in GL Renderer
2020/06/18 15:12:50   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:50 Error 506 in GL Renderer
2020/06/18 15:12:50   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:50 Error 506 in GL Renderer
2020/06/18 15:12:50   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
2020/06/18 15:12:50 Error 506 in GL Renderer
2020/06/18 15:12:50   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:187
2020/06/18 15:12:50 Error 506 in GL Renderer
2020/06/18 15:12:50   At: /Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:247
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x7fff2ad1ed28]

runtime stack:
runtime.throw(0x4472f67, 0x2a)
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/signal_unix.go:679 +0x46a

goroutine 23 [syscall, locked to thread]:
runtime.cgocall(0x43617b0, 0xc000427808, 0x7fff00000000)
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/cgocall.go:133 +0x5b fp=0xc0004277d8 sp=0xc0004277a0 pc=0x400603b
github.com/go-gl/gl/v3.2-core/gl._Cfunc_glowDrawArrays(0x7fff3a533741, 0x5, 0x4)
	_cgo_gotypes.go:6248 +0x45 fp=0xc000427808 sp=0xc0004277d8 pc=0x42e3715
github.com/go-gl/gl/v3.2-core/gl.DrawArrays(...)
	/Users/peter/Go/pkg/mod/github.com/go-gl/gl@v0.0.0-20190320180904-bf2b1f2f34d7/v3.2-core/gl/package.go:9268
fyne.io/fyne/internal/painter/gl.(*glPainter).glDrawTexture(0xc000098000, 0x3f80000000000001)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/gl_core.go:246 +0xec fp=0xc000427830 sp=0xc000427808 pc=0x4306e7c
fyne.io/fyne/internal/painter/gl.(*glPainter).drawTextureWithDetails(0xc000098000, 0x44f17c0, 0xc00023c090, 0xc000427930, 0x8, 0x8, 0x4f, 0x15, 0x19f, 0x13f, ...)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/draw.go:69 +0x14d fp=0xc0004278b0 sp=0xc000427830 pc=0x43024cd
fyne.io/fyne/internal/painter/gl.(*glPainter).drawText(0xc000098000, 0xc00023c090, 0x8, 0x8, 0x19f, 0x13f)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/draw.go:131 +0x227 fp=0xc000427950 sp=0xc0004278b0 pc=0x43030c7
fyne.io/fyne/internal/painter/gl.(*glPainter).drawObject(0xc000098000, 0x44f17c0, 0xc00023c090, 0x8, 0x8, 0x19f, 0x13f)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/draw.go:150 +0x45e fp=0xc0004279b0 sp=0xc000427950 pc=0x430360e
fyne.io/fyne/internal/painter/gl.(*glPainter).Paint(0xc000098000, 0x44f17c0, 0xc00023c090, 0x8, 0x8, 0x19f, 0x13f)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/gl/painter.go:68 +0x8c fp=0xc0004279f8 sp=0xc0004279b0 pc=0x43071fc
fyne.io/fyne/internal/driver/glfw.(*glCanvas).paint.func1(0xc0002220f0, 0x8, 0x8)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:421 +0x162 fp=0xc000427a78 sp=0xc0004279f8 pc=0x43263d2
fyne.io/fyne/internal/driver/glfw.(*glCanvas).walkTree.func1(0x44f17c0, 0xc00023c090, 0x8, 0x8, 0x0, 0x0, 0x7fffffff, 0x7fffffff, 0x19f)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:477 +0x137 fp=0xc000427ac8 sp=0xc000427a78 pc=0x4326587
fyne.io/fyne/internal/driver.walkObjectTree(0x44f17c0, 0xc00023c090, 0x44f18e0, 0xc00021e080, 0x4, 0x4, 0x0, 0x0, 0x7fffffff, 0x7fffffff, ...)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/util.go:74 +0x2d0 fp=0xc000427b88 sp=0xc000427ac8 pc=0x4257e40
fyne.io/fyne/internal/driver.walkObjectTree(0x44f18e0, 0xc00021e080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fffffff, 0x7fffffff, ...)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/util.go:81 +0x1f6 fp=0xc000427c48 sp=0xc000427b88 pc=0x4257d66
fyne.io/fyne/internal/driver.WalkVisibleObjectTree(0x44f18e0, 0xc00021e080, 0xc000427d38, 0xc000427d10, 0xc00003f000)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/util.go:25 +0x82 fp=0xc000427cc8 sp=0xc000427c48 pc=0x4257a92
fyne.io/fyne/internal/driver/glfw.(*glCanvas).walkTree(0xc00021c000, 0xc000220040, 0xc000427df0, 0xc000427de0)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:498 +0x15c fp=0xc000427d80 sp=0xc000427cc8 pc=0x431cbac
fyne.io/fyne/internal/driver/glfw.(*glCanvas).walkTrees(0xc00021c000, 0xc000427df0, 0xc000427de0)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:436 +0x4f fp=0xc000427dc8 sp=0xc000427d80 pc=0x431c98f
fyne.io/fyne/internal/driver/glfw.(*glCanvas).paint(0xc00021c000, 0x19f, 0x13f)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:429 +0xd5 fp=0xc000427e20 sp=0xc000427dc8 pc=0x431c915
fyne.io/fyne/internal/driver/glfw.(*gLDriver).repaintWindow.func1()
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:156 +0x7f fp=0xc000427e60 sp=0xc000427e20 pc=0x4326bef
fyne.io/fyne/internal/driver/glfw.(*window).RunWithContext(0xc00020e000, 0xc000427e88)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/window.go:1010 +0x38 fp=0xc000427e78 sp=0xc000427e60 pc=0x4325648
fyne.io/fyne/internal/driver/glfw.(*gLDriver).repaintWindow(0xc00014e280, 0xc00020e000)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:147 +0x60 fp=0xc000427eb0 sp=0xc000427e78 pc=0x431ed30
fyne.io/fyne/internal/driver/glfw.(*gLDriver).startDrawThread.func1(0xc000110360, 0xc00010e140, 0xc00014e280)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:193 +0x217 fp=0xc000427fc8 sp=0xc000427eb0 pc=0x4326e77
runtime.goexit()
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc000427fd0 sp=0xc000427fc8 pc=0x4064681
created by fyne.io/fyne/internal/driver/glfw.(*gLDriver).startDrawThread
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:169 +0xbd

goroutine 1 [runnable, locked to thread]:
github.com/go-gl/glfw/v3.3/glfw._Cfunc_glfwPollEvents()
	_cgo_gotypes.go:1404 +0x41
github.com/go-gl/glfw/v3.3/glfw.PollEvents()
	/Users/peter/Go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4/window.go:948 +0x22
fyne.io/fyne/internal/driver/glfw.(*gLDriver).tryPollEvents(0xc00014e280)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:207 +0x44
fyne.io/fyne/internal/driver/glfw.(*gLDriver).runGL(0xc00014e280)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/loop.go:101 +0x1e3
fyne.io/fyne/internal/driver/glfw.(*gLDriver).Run(0xc00014e280)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/driver.go:70 +0x37
fyne.io/fyne/internal/driver/glfw.(*window).ShowAndRun(0xc00020e000)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/window.go:387 +0x57
main.main()
	/Users/peter/Go/src/experiments/fyne/fyne-hello/fyne-hello.go:14 +0xdc

goroutine 19 [sleep]:
time.Sleep(0x22ecb25c00)
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/time.go:188 +0xba
fyne.io/fyne/internal/painter.svgCacheJanitor.func1()
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/svg_cache.go:51 +0x116
sync.(*Once).doSlow(0x4a8fd78, 0xc0001322d0)
	/usr/local/Cellar/go/1.14.3/libexec/src/sync/once.go:66 +0xec
sync.(*Once).Do(0x4a8fd78, 0xc0001322d0)
	/usr/local/Cellar/go/1.14.3/libexec/src/sync/once.go:57 +0x45
created by fyne.io/fyne/internal/painter.svgCacheJanitor
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/svg_cache.go:49 +0x9b

goroutine 20 [chan receive]:
fyne.io/fyne/app.newAppWithDriver.func1(0xc0001101e0, 0xc0001363c0)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/app/app.go:113 +0x3d
created by fyne.io/fyne/app.newAppWithDriver
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/app/app.go:111 +0x182

goroutine 21 [syscall]:
syscall.syscall6(0x4342560, 0x7, 0x0, 0x0, 0xc000045688, 0xa, 0x4a8fe80, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/sys_darwin.go:74 +0x2e
golang.org/x/sys/unix.kevent(0x7, 0x0, 0x0, 0xc000045688, 0xa, 0x4a8fe80, 0x0, 0x0, 0x0)
	/Users/peter/Go/pkg/mod/golang.org/x/sys@v0.0.0-20200327173247-9dae0f8f5775/unix/zsyscall_darwin_amd64.go:292 +0xa6
golang.org/x/sys/unix.Kevent(0x7, 0x0, 0x0, 0x0, 0xc000045688, 0xa, 0xa, 0x4a8fe80, 0x0, 0x0, ...)
	/Users/peter/Go/pkg/mod/golang.org/x/sys@v0.0.0-20200327173247-9dae0f8f5775/unix/syscall_bsd.go:413 +0x71
github.com/fsnotify/fsnotify.read(0x7, 0xc000045688, 0xa, 0xa, 0x4a8fe80, 0xc000045688, 0x0, 0xa, 0x0, 0x0)
	/Users/peter/Go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.9/kqueue.go:511 +0x6e
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc000136420)
	/Users/peter/Go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.9/kqueue.go:274 +0x804
created by github.com/fsnotify/fsnotify.NewWatcher
	/Users/peter/Go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.9/kqueue.go:62 +0x18f

goroutine 22 [chan receive]:
fyne.io/fyne/app.watchFile.func1(0xc000136420, 0xc0001300c0, 0x33, 0xc00011b320, 0xc00011b330)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/app/settings_desktop.go:42 +0x58
created by fyne.io/fyne/app.watchFile
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/app/settings_desktop.go:41 +0xe7

goroutine 34 [chan receive]:
fyne.io/fyne/internal/driver/glfw.(*window).runEventQueue(0xc00020e000)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/window.go:1070 +0xb0
created by fyne.io/fyne/internal/driver/glfw.(*gLDriver).createWindow.func1
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/window.go:1095 +0x103

goroutine 35 [chan receive]:
fyne.io/fyne/internal/driver/glfw.(*glCanvas).setupThemeListener.func1(0xc000238000, 0xc00021c000)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:520 +0x47
created by fyne.io/fyne/internal/driver/glfw.(*glCanvas).setupThemeListener
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/driver/glfw/canvas.go:518 +0xa6

goroutine 50 [chan receive]:
fyne.io/fyne/internal/painter.SvgCacheMonitorTheme.func1(0xc000096060)
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/svg_cache.go:103 +0x34
created by fyne.io/fyne/internal/painter.SvgCacheMonitorTheme
	/Users/peter/Go/pkg/mod/fyne.io/fyne@v1.3.0/internal/painter/svg_cache.go:101 +0x9c
exit status 2

@andydotxyz
Copy link
Member

This felt like a blocker, but the fix is a behaviour change in how window minsize is calculated.
As it's got a bigger reach I'm removing blocker. I think that apps continue to work so it's not so bad.

@andydotxyz
Copy link
Member

@peterhellberg the issue you reported is different and much worse - but I cannot reproduce it locally.
Please can you open a new ticket with all your system info and that stack trace? Thanks

@andydotxyz andydotxyz removed the blocker Items that would block a forthcoming release label Jun 26, 2020
@peterhellberg
Copy link

@andydotxyz Ok, I’ve now opened #1140

@andydotxyz
Copy link
Member

I don't know if this should depend on ann App.IsRelease flag, but I am tempted to hide it behind "-tags hints" option like other hint elements as these don't typically represent developer errors.

#1387

andydotxyz added a commit that referenced this issue Oct 14, 2020
@andydotxyz
Copy link
Member

Resolved by pushing this info into hints mode

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

3 participants