qml-go
qml-go copied to clipboard
qml.Engine Destroy keep ConnectionsAlive
Runing go-qml tests gives this panic report:
----------------------------------------------------------------------
PANIC: qml_test.go:52: S.TearDownTest
There are still objects alive; waiting for them to die: qml.Statistics{EnginesAlive:0, ValuesAlive:0, ConnectionsAlive:2}
There are still objects alive; waiting for them to die: qml.Statistics{EnginesAlive:0, ValuesAlive:0, ConnectionsAlive:2}
There are still objects alive; waiting for them to die: qml.Statistics{EnginesAlive:0, ValuesAlive:0, ConnectionsAlive:2}
... Panic: there are values alive:
qml.Statistics{EnginesAlive:0, ValuesAlive:0, ConnectionsAlive:2}
(PC=0x4B58FC)
/usr/lib/go/src/runtime/panic.go:458
in gopanic
qml_test.go:68
in S.TearDownTest
/usr/lib/go/src/reflect/value.go:302
in Value.Call
/usr/lib/go/src/runtime/asm_amd64.s:2086
in goexit
----------------------------------------------------------------------
PANIC: qml_test.go:265: S.TestComponentCreateWindow
... Panic: Fixture has panicked (see related PANIC)
----------------------------------------------------------------------
This means that some Connection made when LoadString and CreateWindow aren't been aren't been destroyed after the engine is destroyed, Calling Destroy for both window and component inside TestComponentCreateWindow fixes the problem for this particular test but fail for the next one.
Tested on Arch Linux with go 1.6, 1.7 and Qt 5.8 (go 1.8 do not compile but i'm sure is a easy fix) .
I'm trying to make it work, but I'm out of ideas right now.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.