Not unloading plugin is really a bad idea.
That will make any memory leak detector report tons of leaks even run a
simplest qt widgets program. Find and fix 'real' memory leak will be much
harder than before.
On Thursday, October 13, 2016, Thiago Macieira <thiago.macie...@intel.com>
> Em quarta-feira, 12 de outubro de 2016, às 22:28:33 CEST, André Pönitz
> > On Wed, Oct 12, 2016 at 09:59:06PM +0200, Thiago Macieira wrote:
> > > Hello
> > >
> > > We've got a number of issues that got fixed in 5.7 by the change that
> > > QFactoryLoader stop unloading plugins (notably,
> > Not unloading plugins is not a fix.
> No, it's a workaround. But I'm at a loss to fix the current issue.
> The issue at hand is that the plugin was unloaded between a slot being
> in a queued connection and the object that would receive the event getting
> deleted. When deleting the object, the events queued to it are deleted.
> metacall events are deleted, the parameters stored in it are destroyed. In
> order for QMetaType to destroy such a type, it needs to call the destroying
> functions registered with it.
> Since we do allow breaking of ODR because of hidden visibility / DLLs, the
> functions in question may have belonged to the plugin that was unloaded,
> if the type wasn't exclusive to that plugin.
> Thiago Macieira - thiago.macieira (AT) intel.com
> Software Architect - Intel Open Source Technology Center
> Development mailing list
Development mailing list