Accessing IceTV directly after IceTV installation can cause a crash

Issue #457 resolved
prl created an issue

There have been a number of user reports of crashes in the IceTV plugin if some functions in it are accessed after it has been installed, but before the UI has been restarted.

This typically seems to happen when a user does a USB firmware update, downloads and installs IceTV and then tries to use the IceTV setup wizard or to log in to the IceTV server before restarting the GUI. But even Show log will cause a crash under these conditions.

The crashes occur when attributes of Plugins.SystemPlugins.IceTV.plugin.fetcher are accessed when it is None.

The IceTV popup should perhaps only allow a GUI restart if Plugins.SystemPlugins.IceTV.plugin.fetcher is None. I have an implementation of that fix.

Replication steps

In PLUGIN, RED Remove plugins and remove the IceTV plugin if it is installed.

Restart the GUI, and don't press the MENU button when it restarts.

In PLUGIN, GREEN Download plugins and install the IceTV plugin (don't enter the Plugin Browser screen using MENU>Plugins).

Without restarting the GUI or rebooting, go to MENU>Plugin>IceTV and select Show log, and press OK. Crash.

Comments (3)

  1. prl reporter
    • edited description

    Simplified replication steps, and made them more accurate. Not using MENU between restarting the GUI and installing IceTV is critical in allowing the MENU>Plugins>IceTV entry to be exposed to use and so allow the bug to be triggered.

  2. Peter Urbanec

    Fix bug #457: Accessing IceTV directly after IceTV installation can cause a crash

    Ensure that global variable fetcher is created before the IceTV popup menu is displayed. An IceTV fetch is not initiated.

    Add needsRestart=True to the PluginDescriptor for the WHERE_SESSIONSTART PluginDescriptor to encourage the user to restart the GUI after installing the IceTV plugin. This will also run the IceTV config wizard if the user has not already set up IceTV.

    → <<cset 6b3c91ca9987>>

  3. Log in to comment