fyne icon indicating copy to clipboard operation
fyne copied to clipboard

Deadlock when creating widget too fast?

Open foxwhite25 opened this issue 2 years ago • 5 comments

Checklist

  • [X] I have searched the issue tracker for open issues that relate to the same problem, before opening a new one.
  • [X] This issue only relates to a single bug. I will open new issues for any other problems.

Describe the bug

This is a really random bug, I have no idea what casued it.

If I just write a normal function, most of the time the program will deadlock, but some of the time it is fine.

func BindIntWithColumns(label string, k *int) *fyne.Container {
	data := binding.BindInt(k)
	Bindings = append(Bindings, data)
	e := widget.NewEntryWithData(binding.IntToString(data))
	newGridWithColumns := container.NewGridWithColumns(
		2, widget.NewLabel(label), e,
	)
	return newGridWithColumns
}

But if I add some print between them, the chance where it deadlock decreases to almost none. I assume this is caused by the time took in print.

func BindIntWithColumns(label string, k *int) *fyne.Container {
	println("create" + label)
	data := binding.BindInt(k)
	Bindings = append(Bindings, data)
	println("Bind " + label)
	e := widget.NewEntryWithData(binding.IntToString(data))
	println("entry " + label)
	l := widget.NewLabel(label)
	println("label " + label)
	newGridWithColumns := container.NewGridWithColumns(
		2, l, e,
	)
	println("return " + label)
	return newGridWithColumns
}

How to reproduce

  1. Run the example Code
  2. Click on Regen a few times if it does not freeze on startup

Screenshots

No response

Example code

package main

import (
	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/data/binding"
	"fyne.io/fyne/v2/theme"
	"fyne.io/fyne/v2/widget"
	"strconv"
)

var w fyne.Window

func main() {
	a := app.NewWithID("io.fyne.demo")
	a.SetIcon(theme.FyneLogo())
	w = a.NewWindow("Fyne Demo")
	Regen(w)
	w.Resize(fyne.NewSize(1080, 720))
	w.ShowAndRun()
}

func Regen(w fyne.Window) {
	tabs := container.NewDocTabs()
	for _, datum := range generateData(1000) {
		tabs.Append(newItemTab(&datum))
	}
	w.SetContent(tabs)
}

func generateData(n int) (result []int) {
	for i := 0; i < n; i++ {
		result = append(result, i)
	}
	return
}

func newItemTab(i *int) *container.TabItem {
	c := container.NewVBox(
		BindIntWithEntry(i),
		widget.NewButton("Regen", func() {
			Regen(w)
		}),
	)
	return container.NewTabItemWithIcon(strconv.Itoa(*i), theme.MenuIcon(), c)
}

func BindIntWithLabel(k *int) *widget.Label {
	b := binding.BindInt(k)
	return widget.NewLabelWithData(binding.IntToString(b))
}

func BindIntWithEntry(k *int) *widget.Entry {
	b := binding.BindInt(k)
	return widget.NewEntryWithData(binding.IntToString(b))
}

Fyne version

2.2.3

Go compiler version

1.18.3

Operating system

Windows

Operating system version

Windows 10

Additional Information

pprof Stack Trace

goroutine profile: total 16
2 @ 0x7ff709d744ea 0x7ff709dd6ae9 0x7ff709dd6770 0x7ff709ded70a 0x7ff709dea345 0x7ff70a1fea7a 0x7ff709dd9fe1
#	0x7ff709dd6ae8	syscall.SyscallN+0x108					C:/Program Files/Go/src/runtime/syscall_windows.go:538
#	0x7ff709dd676f	syscall.Syscall6+0x4f					C:/Program Files/Go/src/runtime/syscall_windows.go:482
#	0x7ff709ded709	syscall.getQueuedCompletionStatus+0x89			C:/Program Files/Go/src/syscall/zsyscall_windows.go:836
#	0x7ff709dea344	syscall.GetQueuedCompletionStatus+0x44			C:/Program Files/Go/src/syscall/syscall_windows.go:1269
#	0x7ff70a1fea79	github.com/fsnotify/fsnotify.(*Watcher).readEvents+0x79	C:/Users/DELL/go/pkg/mod/github.com/fsnotify/[email protected]/windows.go:398

2 @ 0x7ff709dac2b6 0x7ff709d7770c 0x7ff709d77178 0x7ff70a20292c 0x7ff709dd9fe1
#	0x7ff70a20292b	fyne.io/fyne/v2/app.watchFile.func1+0x6b	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/app/settings_desktop.go:43

2 @ 0x7ff709dac2b6 0x7ff709da2857 0x7ff709dd3ca9 0x7ff709e32372 0x7ff709e32d45 0x7ff709e33bbf 0x7ff709ef93c9 0x7ff709f04c25 0x7ff709fb62cd 0x7ff709e5d243 0x7ff709e5de0f 0x7ff709e5e067 0x7ff709f51739 0x7ff709fb24b9 0x7ff709fb24ba 0x7ff709fb786a 0x7ff709fbbb8b 0x7ff709dd9fe1
#	0x7ff709dd3ca8	internal/poll.runtime_pollWait+0x88		C:/Program Files/Go/src/runtime/netpoll.go:302
#	0x7ff709e32371	internal/poll.(*pollDesc).wait+0x31		C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:83
#	0x7ff709e32d44	internal/poll.execIO+0xe4			C:/Program Files/Go/src/internal/poll/fd_windows.go:175
#	0x7ff709e33bbe	internal/poll.(*FD).Read+0x25e			C:/Program Files/Go/src/internal/poll/fd_windows.go:441
#	0x7ff709ef93c8	net.(*netFD).Read+0x28				C:/Program Files/Go/src/net/fd_posix.go:55
#	0x7ff709f04c24	net.(*conn).Read+0x44				C:/Program Files/Go/src/net/net.go:183
#	0x7ff709fb62cc	net/http.(*connReader).Read+0x16c		C:/Program Files/Go/src/net/http/server.go:780
#	0x7ff709e5d242	bufio.(*Reader).fill+0x102			C:/Program Files/Go/src/bufio/bufio.go:106
#	0x7ff709e5de0e	bufio.(*Reader).ReadSlice+0x2e			C:/Program Files/Go/src/bufio/bufio.go:371
#	0x7ff709e5e066	bufio.(*Reader).ReadLine+0x26			C:/Program Files/Go/src/bufio/bufio.go:400
#	0x7ff709f51738	net/textproto.(*Reader).readLineSlice+0x98	C:/Program Files/Go/src/net/textproto/reader.go:57
#	0x7ff709fb24b8	net/textproto.(*Reader).ReadLine+0x78		C:/Program Files/Go/src/net/textproto/reader.go:38
#	0x7ff709fb24b9	net/http.readRequest+0x79			C:/Program Files/Go/src/net/http/request.go:1029
#	0x7ff709fb7869	net/http.(*conn).readRequest+0x249		C:/Program Files/Go/src/net/http/server.go:988
#	0x7ff709fbbb8a	net/http.(*conn).serve+0x32a			C:/Program Files/Go/src/net/http/server.go:1891

1 @ 0x7ff709dac2b6 0x7ff709d7770c 0x7ff709d77138 0x7ff70a234f25 0x7ff709dd9fe1
#	0x7ff70a234f24	fyne.io/fyne/v2/test.NewApp.func1+0x44	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/test/testapp.go:117

1 @ 0x7ff709dac2b6 0x7ff709da2857 0x7ff709dd3ca9 0x7ff709e32372 0x7ff709e32d45 0x7ff709e33bbf 0x7ff709ef93c9 0x7ff709f04c25 0x7ff709fb5dff 0x7ff709dd9fe1
#	0x7ff709dd3ca8	internal/poll.runtime_pollWait+0x88		C:/Program Files/Go/src/runtime/netpoll.go:302
#	0x7ff709e32371	internal/poll.(*pollDesc).wait+0x31		C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:83
#	0x7ff709e32d44	internal/poll.execIO+0xe4			C:/Program Files/Go/src/internal/poll/fd_windows.go:175
#	0x7ff709e33bbe	internal/poll.(*FD).Read+0x25e			C:/Program Files/Go/src/internal/poll/fd_windows.go:441
#	0x7ff709ef93c8	net.(*netFD).Read+0x28				C:/Program Files/Go/src/net/fd_posix.go:55
#	0x7ff709f04c24	net.(*conn).Read+0x44				C:/Program Files/Go/src/net/net.go:183
#	0x7ff709fb5dfe	net/http.(*connReader).backgroundRead+0x3e	C:/Program Files/Go/src/net/http/server.go:672

1 @ 0x7ff709dac2b6 0x7ff709da2857 0x7ff709dd3ca9 0x7ff709e32372 0x7ff709e32d45 0x7ff709e354ed 0x7ff709e35856 0x7ff709efa3a5 0x7ff709f09668 0x7ff709f0885d 0x7ff709fc0325 0x7ff709fbff5d 0x7ff70a23e665 0x7ff70a23e635 0x7ff709dd9fe1
#	0x7ff709dd3ca8	internal/poll.runtime_pollWait+0x88	C:/Program Files/Go/src/runtime/netpoll.go:302
#	0x7ff709e32371	internal/poll.(*pollDesc).wait+0x31	C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:83
#	0x7ff709e32d44	internal/poll.execIO+0xe4		C:/Program Files/Go/src/internal/poll/fd_windows.go:175
#	0x7ff709e354ec	internal/poll.(*FD).acceptOne+0x6c	C:/Program Files/Go/src/internal/poll/fd_windows.go:942
#	0x7ff709e35855	internal/poll.(*FD).Accept+0x1d5	C:/Program Files/Go/src/internal/poll/fd_windows.go:976
#	0x7ff709efa3a4	net.(*netFD).accept+0x64		C:/Program Files/Go/src/net/fd_windows.go:139
#	0x7ff709f09667	net.(*TCPListener).accept+0x27		C:/Program Files/Go/src/net/tcpsock_posix.go:139
#	0x7ff709f0885c	net.(*TCPListener).Accept+0x3c		C:/Program Files/Go/src/net/tcpsock.go:288
#	0x7ff709fc0324	net/http.(*Server).Serve+0x384		C:/Program Files/Go/src/net/http/server.go:3039
#	0x7ff709fbff5c	net/http.(*Server).ListenAndServe+0x7c	C:/Program Files/Go/src/net/http/server.go:2968
#	0x7ff70a23e664	net/http.ListenAndServe+0x44		C:/Program Files/Go/src/net/http/server.go:3222
#	0x7ff70a23e634	main.main.func1+0x14			C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/main.go:18

1 @ 0x7ff709dac2b6 0x7ff709dbba12 0x7ff70a079d9a 0x7ff709dd9fe1
#	0x7ff70a079d99	fyne.io/fyne/v2/internal/async.(*UnboundedFuncChan).processing+0xd9	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/async/chan_func.go:45

1 @ 0x7ff709dac2b6 0x7ff709dbba12 0x7ff70a079f8a 0x7ff709dd9fe1
#	0x7ff70a079f89	fyne.io/fyne/v2/internal/async.(*UnboundedFuncChan).processing+0x2c9	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/async/chan_func.go:59

1 @ 0x7ff709dac2b6 0x7ff709dbba12 0x7ff70a1f04bf 0x7ff70a1eee33 0x7ff70a1f3fcc 0x7ff70a23e8b3 0x7ff709dabf1e 0x7ff709dd9fe1
#	0x7ff70a1f04be	fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).runGL+0x19e	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:121
#	0x7ff70a1eee32	fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).Run+0x32	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/glfw/driver.go:164
#	0x7ff70a1f3fcb	fyne.io/fyne/v2/internal/driver/glfw.(*window).ShowAndRun+0x2b	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:230
#	0x7ff70a23e8b2	main.main+0x1f2							C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/main.go:34
#	0x7ff709dabf1d	runtime.main+0x1fd						C:/Program Files/Go/src/runtime/proc.go:250

1 @ 0x7ff709dac2b6 0x7ff709dbba12 0x7ff70a1f0efd 0x7ff709dd9fe1
#	0x7ff70a1f0efc	fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread.func1+0xfc	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:230

1 @ 0x7ff709dac2b6 0x7ff709dbcb2c 0x7ff709dbcb06 0x7ff709dd52c5 0x7ff709de4a31 0x7ff70a1815d6 0x7ff70a172bd1 0x7ff70a18b07e 0x7ff70a076388 0x7ff70a0765af 0x7ff70a074f4e 0x7ff70a077212 0x7ff70a07720d 0x7ff70a173dfd 0x7ff70a17403b 0x7ff70a1732b2 0x7ff70a1723a2 0x7ff70a18b6ae 0x7ff70a18b751 0x7ff70a1711d3 0x7ff70a16d3a5 0x7ff70a170f05 0x7ff70a1673bb 0x7ff70a07a69a 0x7ff70a07bdc2 0x7ff709dd9fe1
#	0x7ff709dd52c4	sync.runtime_SemacquireMutex+0x24						C:/Program Files/Go/src/runtime/sema.go:71
#	0x7ff709de4a30	sync.(*RWMutex).Lock+0x70							C:/Program Files/Go/src/sync/rwmutex.go:144
#	0x7ff70a1815d5	fyne.io/fyne/v2/widget.(*RichText).Resize+0xd5					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/richtext.go:106
#	0x7ff70a172bd0	fyne.io/fyne/v2/widget.(*entryContentRenderer).Layout+0x30			C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1485
#	0x7ff70a18b07d	fyne.io/fyne/v2/widget.(*BaseWidget).Resize+0x13d				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/widget.go:61
#	0x7ff70a076387	fyne.io/fyne/v2/internal/widget.(*scrollContainerRenderer).Layout+0xa7		C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/widget/scroller.go:276
#	0x7ff70a0765ae	fyne.io/fyne/v2/internal/widget.(*scrollContainerRenderer).Refresh+0x18e	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/widget/scroller.go:297
#	0x7ff70a074f4d	fyne.io/fyne/v2/internal/widget.(*Base).Refresh+0x2d				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/widget/base.go:136
#	0x7ff70a077211	fyne.io/fyne/v2/internal/widget.(*Scroll).refreshWithoutOffsetUpdate+0x31	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/widget/scroller.go:457
#	0x7ff70a07720c	fyne.io/fyne/v2/internal/widget.(*Scroll).Refresh+0x2c				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/widget/scroller.go:443
#	0x7ff70a173dfc	fyne.io/fyne/v2/widget.(*entryContentRenderer).ensureCursorVisible+0x29c	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1659
#	0x7ff70a17403a	fyne.io/fyne/v2/widget.(*entryContentRenderer).moveCursor+0x21a			C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1682
#	0x7ff70a1732b1	fyne.io/fyne/v2/widget.(*entryContentRenderer).Refresh+0x1f1			C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1533
#	0x7ff70a1723a1	fyne.io/fyne/v2/widget.(*entryRenderer).Refresh+0x481				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1407
#	0x7ff70a18b6ad	fyne.io/fyne/v2/widget.(*BaseWidget).Refresh+0x2d				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/widget.go:138
#	0x7ff70a18b750	fyne.io/fyne/v2/widget.(*BaseWidget).setFieldsAndRefresh+0x70			C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/widget.go:152
#	0x7ff70a1711d2	fyne.io/fyne/v2/widget.(*Entry).updateText+0x72					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1172
#	0x7ff70a16d3a4	fyne.io/fyne/v2/widget.(*Entry).SetText+0x24					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:468
#	0x7ff70a170f04	fyne.io/fyne/v2/widget.(*Entry).updateFromData+0xc4				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1135
#	0x7ff70a1673ba	fyne.io/fyne/v2/widget.(*basicBinder).Bind.func1+0x7a				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/bind_helper.go:24
#	0x7ff70a07a699	fyne.io/fyne/v2/data/binding.(*listener).DataChanged+0x19			C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/data/binding/binding.go:56
#	0x7ff70a07bdc1	fyne.io/fyne/v2/data/binding.queueItem.func1.1+0x41				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/data/binding/queue.go:19

1 @ 0x7ff709dac2b6 0x7ff709dbcb2c 0x7ff709dbcb06 0x7ff709dd52c5 0x7ff70a18337e 0x7ff70a183353 0x7ff70a182b65 0x7ff70a173ecf 0x7ff70a1732b2 0x7ff70a1723a2 0x7ff70a172673 0x7ff70a171925 0x7ff70a18b07e 0x7ff70a070415 0x7ff709fe2425 0x7ff709fe2403 0x7ff70a23fa45 0x7ff70a23fa23 0x7ff70a23f994 0x7ff70a23e3ba 0x7ff70a23d9be 0x7ff70a23cd9e 0x7ff70a19bd7d 0x7ff70a167d93 0x7ff70a1f6e46 0x7ff70a1c8e1e 0x7ff709dd9fe1
#	0x7ff709dd52c4	sync.runtime_SemacquireMutex+0x24								C:/Program Files/Go/src/runtime/sema.go:71
#	0x7ff70a18337d	sync.(*RWMutex).RLock+0x5d									C:/Program Files/Go/src/sync/rwmutex.go:63
#	0x7ff70a183352	fyne.io/fyne/v2/widget.(*RichText).rowBoundary+0x32						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/richtext.go:306
#	0x7ff70a182b64	fyne.io/fyne/v2/widget.(*RichText).lineSizeToColumn+0x44					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/richtext.go:240
#	0x7ff70a173ece	fyne.io/fyne/v2/widget.(*entryContentRenderer).moveCursor+0xae					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1669
#	0x7ff70a1732b1	fyne.io/fyne/v2/widget.(*entryContentRenderer).Refresh+0x1f1					C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1533
#	0x7ff70a1723a1	fyne.io/fyne/v2/widget.(*entryRenderer).Refresh+0x481						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1407
#	0x7ff70a172672	fyne.io/fyne/v2/widget.(*entryRenderer).ensureValidationSetup+0x172				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1419
#	0x7ff70a171924	fyne.io/fyne/v2/widget.(*entryRenderer).Layout+0x1c4						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/entry.go:1285
#	0x7ff70a18b07d	fyne.io/fyne/v2/widget.(*BaseWidget).Resize+0x13d						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/widget.go:61
#	0x7ff70a070414	fyne.io/fyne/v2/layout.(*gridLayout).Layout+0x2b4						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/layout/gridlayout.go:102
#	0x7ff709fe2424	fyne.io/fyne/v2.(*Container).layout+0x104							C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/container.go:186
#	0x7ff709fe2402	fyne.io/fyne/v2.NewContainerWithLayout+0xe2							C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/container.go:48
#	0x7ff70a23fa44	fyne.io/fyne/v2/container.New+0x2a4								C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/container/container.go:12
#	0x7ff70a23fa22	fyne.io/fyne/v2/container.NewGridWithColumns+0x282						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/container/layouts.go:51
#	0x7ff70a23f993	main.BindIntWithColumns+0x1f3									C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/ui.go:66
#	0x7ff70a23e3b9	main.newItemTab+0x59										C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/inventory.go:91
#	0x7ff70a23d9bd	main.inventoryScreen+0xfd									C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/inventory.go:18
#	0x7ff70a23cd9d	main.LoadDialog.func1+0x39d									C:/Users/DELL/GolandProjects/PotionCraftSaveEditor/files.go:48
#	0x7ff70a19bd7c	fyne.io/fyne/v2/dialog.(*fileDialog).makeUI.func2+0x2bc						C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/dialog/file.go:153
#	0x7ff70a167d92	fyne.io/fyne/v2/widget.(*Button).Tapped+0x52							C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/widget/button.go:194
#	0x7ff70a1f6e45	fyne.io/fyne/v2/internal/driver/glfw.(*window).mouseClickedHandleTapDoubleTap.func1+0x25	C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:634
#	0x7ff70a1c8e1d	fyne.io/fyne/v2/internal/driver/common.(*Window).RunEventQueue+0x3d				C:/Users/DELL/go/pkg/mod/fyne.io/fyne/[email protected]/internal/driver/common/window.go:35

1 @ 0x7ff709dd38a5 0x7ff70a220235 0x7ff70a22004d 0x7ff70a21cfcb 0x7ff70a22bc05 0x7ff70a22c7be 0x7ff709fbd10f 0x7ff709fbeaa9 0x7ff709fbfdbb 0x7ff709fbbe37 0x7ff709dd9fe1
#	0x7ff709dd38a4	runtime/pprof.runtime_goroutineProfileWithLabels+0x24	C:/Program Files/Go/src/runtime/mprof.go:753
#	0x7ff70a220234	runtime/pprof.writeRuntimeProfile+0xb4			C:/Program Files/Go/src/runtime/pprof/pprof.go:725
#	0x7ff70a22004c	runtime/pprof.writeGoroutine+0x4c			C:/Program Files/Go/src/runtime/pprof/pprof.go:685
#	0x7ff70a21cfca	runtime/pprof.(*Profile).WriteTo+0x14a			C:/Program Files/Go/src/runtime/pprof/pprof.go:332
#	0x7ff70a22bc04	net/http/pprof.handler.ServeHTTP+0x4a4			C:/Program Files/Go/src/net/http/pprof/pprof.go:253
#	0x7ff70a22c7bd	net/http/pprof.Index+0x13d				C:/Program Files/Go/src/net/http/pprof/pprof.go:371
#	0x7ff709fbd10e	net/http.HandlerFunc.ServeHTTP+0x2e			C:/Program Files/Go/src/net/http/server.go:2084
#	0x7ff709fbeaa8	net/http.(*ServeMux).ServeHTTP+0x148			C:/Program Files/Go/src/net/http/server.go:2462
#	0x7ff709fbfdba	net/http.serverHandler.ServeHTTP+0x43a			C:/Program Files/Go/src/net/http/server.go:2916
#	0x7ff709fbbe36	net/http.(*conn).serve+0x5d6				C:/Program Files/Go/src/net/http/server.go:1966

foxwhite25 avatar Aug 12 '22 13:08 foxwhite25

Can you please provide a complete code example of how to replicate the problem?

This may relate to binding rather than widget creation, but we cannot tell until running the code reproduces the issue. Possible duplicate of #3154

andydotxyz avatar Aug 12 '22 13:08 andydotxyz

Can you please provide a complete code example of how to replicate the problem?

This may relate to binding rather than widget creation, but we cannot tell until running the code reproduces the issue. Possible duplicate of #3154

Ok, I extracted the code out, just click the refresh button a few times.

foxwhite25 avatar Aug 12 '22 13:08 foxwhite25

Update after some testing, if It is bound to a label the window will not freeze, but if it is bound to an entry it will. Reproduce this by changing BindIntWithEntry to BindIntWithLabel in example code.

foxwhite25 avatar Aug 12 '22 14:08 foxwhite25

I have the same issue. Still exists in 2.3.1.

aynakeya avatar Feb 19 '23 09:02 aynakeya

Update after some testing, if It is bound to a label the window will not freeze, but if it is bound to an entry it will. Reproduce this by changing BindIntWithEntry to BindIntWithLabel in example code.

Thanks, maybe this hints at something about two-way bind setup being the cause, as Labels are read-only...

andydotxyz avatar Feb 27 '23 21:02 andydotxyz