qml-go icon indicating copy to clipboard operation
qml-go copied to clipboard

qml.Engine Destroy keep ConnectionsAlive

Open lassade opened this issue 8 years ago • 0 comments

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.

lassade avatar Feb 20 '17 21:02 lassade