Crash in "Skip forward/back (min)" on very large skips

Issue #607 resolved
prl created an issue

If long-FF/long-REW are used to skip forward or back a number of minutes in timeshift and a skip larger than 1708031858676 is entered, the UI crashes when OK is pressed.

The cause is an exception when the resulting skip * 60 * 90000 is to large to fit an enigma2 pts_t (C++ long long).

Replication steps

Enter the media player (MEDIA from live TV).

Navigate to a recording, press OK to start play.

Then press long-FF to open the "Skip forward (min)" popup, then use the number keys to enter a skip greater than 1708031858676. Then press OK: crash.

Comments (4)

  1. Peter Urbanec

    Seems like limiting the max skip to about 10,000 minutes (just short of a week) would fix the possible crash without introducing an unreasonable limitation.

  2. Peter Urbanec

    The relevant crash information:

    {21009}<308692.206> Traceback (most recent call last):                                                                                                                                                                                                                        
    {21009}<308692.206>   File "/usr/lib/enigma2/python/mytest.py", line 242, in processDelay                                                                                                                                                                                     
    {21009}<308692.207>     callback(*retval)                                                                                                                                                                                                                                     
    {21009}<308692.207>   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2517, in rwdSeekTo                                                                                                                                                                      
    {21009}<308692.216>   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2349, in doSeekRelative                                                                                                                                                                 
    {21009}<308692.217> OverflowError: in method 'iSeekableServicePtr_seekRelative', argument 3 of type 'pts_t'                                                                                                                                                                   
    {21009}<308692.217> [ePyObject] (CallObject(<bound method Session.processDelay of <__main__.Session instance at 0xaf198260>>,()) failed)
    

  3. Log in to comment