Can not exit timeshift when HDD fills up.

Issue #340 new
Peter Urbanec created an issue

When the HDD fills up, it is not possible to stop timeshift using the STOP button. Changing channels seems to work.

It looks like the issue is caused by the HDD space check in eDVBServicePlay::timeshift(), which, when it fails, will prevent Components.Timeshift.getTimeshift() from getting a reference to the timeshift control.

Good timeshift transition:

[eDVBServicePlay] pts of eit change: 152dbfc21, fixup_pts: 11b0c8c0, first_pts: 1412b3361
[eDVBServicePlay] [Timeshift] stopTimeshift
[eFilePushThreadRecorder] stopping thread.
[eDVBRecordFileThread] waiting for aio to complete
[eDVBRecordFileThread] buffer usage histogram (20 buffers of 188 kB)
      0:    415
      1:  15032
[eFilePushThreadRecorder] THREAD STOP
thread joined 0
[eDVBServicePlay] remove timeshift files
old thread joined 0
setIoPrio best-effort level 7 ok
[eBackgroundFileEraser] deleting '/media/hdd/timeshift/timeshift.frCFpd.del'
[eBackgroundFileEraser] deleting '/media/hdd/timeshift/timeshift.frCFpd.sc.del'
[eDVBServicePlay] Start timeshift!
[eDVBServicePlay] recording to /media/hdd/timeshift/timeshift.A6jRmG
setIoPrio realtime level 7 ok
[eFilePushThreadRecorder] THREAD START
[EITSave] query epg event id 1d92, 1:0:1:523:502:1013:EEEE0000:0:0:0:
[EITSave] found event.. store to disc

And this is what happens when the HDD is full:

[eDVBServicePlay] pts of eit change: 15c838631, fixup_pts: 9a54980, first_pts: 152de3cb1
[eDVBServicePlay] [Timeshift] stopTimeshift
[eFilePushThreadRecorder] stopping thread.
[eDVBRecordFileThread] waiting for aio to complete
[eDVBRecordFileThread] Waiting for I/O to complete
[eDVBRecordFileThread] buffer usage histogram (20 buffers of 188 kB)
      0:    158
      1:   7774
[eFilePushThreadRecorder] THREAD STOP
thread joined 0
[eDVBServicePlay] remove timeshift files
old thread joined 0
[eDVBServicePlay] not enough diskspace for timeshift! (less than 300MB)
setIoPrio best-effort level 7 ok
[eBackgroundFileEraser] deleting '/media/hdd/timeshift/timeshift.A6jRmG.del'
[eDVBServicePlay] not enough diskspace for timeshift! (less than 300MB)
[eBackgroundFileEraser] deleting '/media/hdd/timeshift/timeshift.A6jRmG.sc.del'
[eDVBServicePlay] not enough diskspace for timeshift! (less than 300MB)
[eDVBServicePlay] not enough diskspace for timeshift! (less than 300MB)
[SCREENNAME]  ['MessageBox_summary', 'SimpleSummary']
[SCREENNAME]  ['MessageBox']
Timeout!
[SCREENNAME]  InfoBarSummary

Reproduction steps

Use a HDD with a limited amount of space available. (maybe only a few GB) Pause a live (preferably high definition) service for a longer period if time until the HDD fills up. You may need to watch enigma2 stderr to determine when the HDD has filled up. It is now not possible to resume playback or to stop timeshift.

Comments (0)

  1. Log in to comment