[mythtv] Startup crash (Was DVB SI rework - Help needed)

Roger Siddons dizygotheca at ntlworld.com
Sun Jan 29 13:05:57 UTC 2017


On 29/01/17 12:07, Roger James wrote:
>
> Hi Roger
>
> The crash is caused by a QImage::Load calling a pointer
> to a plugin that has already unloaded.

Do you mean Qt loaded it, then unloaded it ?

"Not unloading plugins is Qt's policy, as decided during the 5.0
development process and reaffirmed now in 5.6. This is due to static
data in plugins leaking out and remaining in use past the unloading of
the plugin, causing crashes."
https://codereview.qt-project.org/#/c/172014/

Though what that means in practice is beyond me...

I interpret your trace as Myth is trying to use a plugin that hasn't yet 
been loaded.

> It crashes in the
> logging thread when it access a null pointer in the incoming log
> messages queue.
>

Reminded me of a "static initialisation order fiasco" that exists in
UPnpDeviceDesc::UPnpDeviceDesc() where the constructor tries to log 
before logging is created. I doubt that's your issue but there may be 
others.
I presume you are using the standard build scripts.
What distro and Qt version are you using ?

> I will look at this later today. The weird thing with all these crashes
> is that when the wrapper script restarts the front-end it works perfectly.
>

Could the partly loaded plugins/images/whatever remain in the file 
system memory-cache and so load a lot quicker 2nd time around ?
There's so much going on under-the-hood these days.



More information about the mythtv-dev mailing list