diamondburned / cchat-gtk

Gtk frontend for cchat.
GNU General Public License v3.0
37 stars 1 forks source link

Crashes when opening server folder #17

Open mossymossmoss opened 3 years ago

mossymossmoss commented 3 years ago

When opening a server folder, i get the following error:

panic: Server is hollow, but a normal method was called. [recovered]
    panic: closure error: unexpected panic caught: Server is hollow, but a normal method was called.

Closure added at:
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/button.NewToggleButton at github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/button/button.go:98
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).Init at github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:125
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*Children).LoadAll at github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/children.go:268

goroutine 1 [running]:
github.com/gotk3/gotk3/internal/closure.FuncStack.Panicf(0x55ae21dbff60, 0xc0008b52c0, 0x13, 0xc000039158, 0x3, 0x3, 0x55ae218f556d, 0x1b, 0xc0004ff1d8, 0x1, ...)
    github.com/gotk3/gotk3@v0.5.3-0.20210326060404-6328e5470ece/internal/closure/funcstack.go:75 +0xb1f
github.com/gotk3/gotk3/internal/closure.FuncStack.TryRepanic(0x55ae21dbff60, 0xc0008b52c0, 0x13, 0xc000039158, 0x3, 0x3)
    github.com/gotk3/gotk3@v0.5.3-0.20210326060404-6328e5470ece/internal/closure/funcstack.go:93 +0xfb
panic(0x55ae21dc96a0, 0x55ae21fcf1d8)
    runtime/panic.go:965 +0x1b9
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.AssertUnhollow(...)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:25
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).UseEmptyIcon(0xc000e8cff0)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:339 +0x6c
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*Children).ForceIcons(0xc000f72fc0)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/children.go:281 +0x55
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).Init.func3()
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:162 +0xe2
github.com/diamondburned/cchat-gtk/internal/ui/rich.(*LabelState).OnUpdate(0xc000e8cf28, 0xc000ebaa10, 0x55ae218e0924)
    github.com/diamondburned/cchat-gtk/internal/ui/rich/rich.go:181 +0x10c
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).Init(0xc000e8cf00)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:160 +0x365
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*Children).LoadAll(0xc000f72fc0)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/children.go:268 +0xc5
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).SetRevealChild.func1(0x0, 0x0)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:473 +0x47
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).load(0xc0003125a0, 0xc000eba760)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:265 +0xe7
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server.(*ServerRow).SetRevealChild(0xc0003125a0, 0xc000000001)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/server.go:468 +0x134
github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/button.NewToggleButton.func2(0xc000e3d398)
    github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/button/button.go:98 +0x4c
reflect.Value.call(0x55ae21dbff60, 0xc0008b52c0, 0x13, 0x55ae218a37a5, 0x4, 0xc000e3d380, 0x1, 0x1, 0x16, 0x7ffc7321ea80, ...)
    reflect/value.go:476 +0x8e7
reflect.Value.Call(0x55ae21dbff60, 0xc0008b52c0, 0x13, 0xc000e3d380, 0x1, 0x1, 0xc000e3d398, 0x16, 0x1)
    reflect/value.go:337 +0xb9
github.com/gotk3/gotk3/glib.goMarshal(0x55ae24ab0da0, 0x0, 0x55ae00000001, 0x7ffc7321ea80, 0x7ffc7321ea00, 0x0)
    github.com/gotk3/gotk3@v0.5.3-0.20210326060404-6328e5470ece/glib/glib.go:269 +0xb71
github.com/gotk3/gotk3/glib._Cfunc_g_application_run(0x55ae248020f0, 0x55ae00000001, 0x55ae24863070, 0x0)
    _cgo_gotypes.go:1567 +0x4a
github.com/gotk3/gotk3/glib.(*Application).Run.func4(0xc00011c2a0, 0xc0001182c0, 0x1, 0x1, 0x55ae24863070, 0x54)
    github.com/gotk3/gotk3@v0.5.3-0.20210326060404-6328e5470ece/glib/application.go:185 +0x96
github.com/gotk3/gotk3/glib.(*Application).Run(0xc00011c2a0, 0xc0001182c0, 0x1, 0x1, 0x0)
    github.com/gotk3/gotk3@v0.5.3-0.20210326060404-6328e5470ece/glib/application.go:185 +0x18d
github.com/diamondburned/cchat-gtk/internal/gts.Main(0x55ae21fce008)
    github.com/diamondburned/cchat-gtk/internal/gts/gts.go:151 +0xcc
main.main()
    github.com/diamondburned/cchat-gtk/main.go:26 +0x2f
mossymossmoss commented 3 years ago

It doesn't however, crash when opening a folder with a single server in it

Techwizz-somboo commented 3 years ago

I can reproduce this problem. I will look into it, thanks!

diamondburned commented 3 years ago

I can actually reproduce this issue as well. I'm not sure why it's doing this all of a sudden, though.