[mythtv-commits] Ticket #12917: mythfrontend.real crashes since Ubuntu 16.10 upgrade

MythTV noreply at mythtv.org
Tue Nov 15 12:11:15 UTC 2016


#12917: mythfrontend.real crashes since Ubuntu 16.10 upgrade
-----------------------------------------+--------------------------
 Reporter:  heynnema@…                   |          Owner:  pbennett
     Type:  Bug Report - General         |         Status:  closed
 Priority:  critical                     |      Milestone:  unknown
Component:  MythTV - General             |        Version:  0.28.0
 Severity:  high                         |     Resolution:  fixed
 Keywords:  mythfrontend stack smashing  |  Ticket locked:  0
-----------------------------------------+--------------------------

Comment (by stuarta):

 Replying to [comment:24 pbennett]:
 > QT 5.6.1 seg fault in ~QNetworkConfiguration during exit from program.
 >
 > According to the QT Documentation QNetworkAccessManager uses by default
 the QNetworkConfiguration returned by
 QNetworkConfigurationManager::defaultConfiguration(). It is not clear
 which QNetworkConfigurationManager object that method is called on as it
 is not a static method. It seems possible that by default the same
 configuration object is used by different QNetworkAccessManager objects.
 When the QNetworkAccessManager in mythuiwebbrowser is deleted, there is a
 segfault in the destructor ~QNetworkConfiguration. I assume this is
 because the QNetworkConfiguration has already been deleted by another
 QNetworkAccessManager. This seems a failure in QT to make sure the
 configuration is no longer in use before deleting it. I changed
 mythuiwebbrowser to make a copy of the QNetworkConfiguration in its
 QNetworkAccessManager, and now the seg fault no longer happens. There are
 3 or 4 other places in MythTV where QNetworkAccessManager is used and if
 my analysis is correct they should also be changed otherwise unpredictable
 things could happen when the QNetworkAccessManager is deleted.
 >
 > QT documentation says you only need one QNetworkAccessManager in an
 application. It does not tell you that if you have more than one it will
 fail.

 Previously when we have had to fix stuff like this, we've wrapped it in
 our own
 class which does the ref counting and cleans up correctly when it's done.

 Regards
 Stuart

--
Ticket URL: <https://code.mythtv.org/trac/ticket/12917#comment:29>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list