Safe mode

From SpinetiX Support Wiki

Jump to: navigation, search
Safe mode is a reduced-functionality operating mode of the player that is meant to prevent a reboot loop in case of content-related problems. It is automatically triggered when the player is forced to reboot three to five times in a short period of time.


The player has a software watchdog that constantly monitors its internal processes – if something doesn't work properly (for instance, the rendering engine didn't produce any frame within 60 seconds), the watchdog forces a restart of the player. This unwanted restart increases the internal boot counter.

Safe mode is automatically triggered when the boot counter reaches:

Player model Safe mode after Threshold interval Notes
HMP400, HMP400W, HMP350, HMP300, DiVA, legacy players 3 forced reboots 30 minutes The boot counter is reset after a manual player restart, a power cycle, or automatically after 30 minutes.
iBX410, iBX440, third-party players 5 forced reboots 5 minutes The boot counter is reset after a manual player restart, or automatically after 5 minutes. It is, however, not reset on power cycle!
Screen capture while the player is in Safe mode

At this point, the rendering of the user content is temporarily replaced with a "Safe Mode" text box and a small blinking square, on a black background, slowly changing to white (to avoid screen burn-in).

  • The player web interface is accessible as usual.
  • If the player is forced to reboot again, then retrieving content from external servers is also disabled, to avoid a faulty content being retrieved this way.
  • An additional player reboot will trigger the Recovery mode, which is another special operating mode of the player.

After one hour, the player automatically boots back into normal operating mode in order to check whether the content can be displayed; if the content-related problem persists, the player will most-probably end up in Safe mode again.

Note Notes:
  • If some content is published onto the player, the content is instantly displayed on the screen, however the "Safe Mode" text box is not removed – a manual restart of the player is required for it to enter into the normal operating mode.
  • Safe mode should not be confused with Recovery mode, as indicated by the player's LEDs and the content displayed on the screen (even thought, in both cases, the user content is not displayed). The major difference is that the player is entering into Safe mode due to content problems, while for Recovery mode, the cause is a corrupted file-system or a hardware fault.

Why the player enters into Safe mode

The player is entering into Safe mode due to content rendering problems, such as:

  • Media content out of the player specifications or requiring too much memory.
  • Data source too large to be parsed - for instance, a calendar containing a lot of expired events (in which case, the solution is to remove those old events).
  • Scheduled content that is not protected with spx:start-at-random-time attribute.
  • Synchronized content having items for which the duration cannot be computed.
  • JavaScript infinite loops.

What to do when the player is in Safe mode

This is what you should do when the player is in Safe mode:

  1. Has any content been added recently onto the player?
  2. Is the player configured to retrieve content from an external server using Scheduled Download or Pull Mode?
    • If so, then disable that to avoid a faulty content being retrieved again.
  3. Check whether one or more videos outside the player specs might be used.
  4. Check whether your Elementi project is not too charged up and/or try to optimize it.
    • If multiple images are used, but displayed as thumbnails instead, then you should reduce the size of those images before using them.
    • If multiple videos are used in the same time, make sure that they are not all at maximum resolution – normally, only one would be used as full-screen, so the others should be re-encoded at a lower resolution according to the area they occupy on the screen.
    • Some layer effects or playlist transitions need more resources than others – try using none, less, or fade to white / black ones instead.
    • Each layer box decoration increase the complexity level of the content and that should be avoided, especially on video layers.
  5. Are you using data-driven widgets within your content?
    • If so, check whether the data source is not too large to be parsed – for instance, a calendar might contain a lot of expired events and thus grow in size, so you need to remove those old events.
  6. Check the player.log for any indications regarding the content at fault – for instance, whether the player reboots after the same amount of time or always after rendering a certain resource (like a video outside the player specs) etc.

If none of the above helped, then contact a partner near you or SpinetiX Support – make sure to generate a standard report from your player and include a copy of your content.

See also

This page was last modified on 27 November 2023, at 21:47.