Hello Guest, if you are reading this it means you have not registered yet. Please take a second, Click here to register, and in a few simple steps you will be able to enjoy our community and use our OpenViX support section.
Page 1 of 3 123 LastLast
Results 1 to 15 of 33

Thread: GB Quad+ Timeshift crash

  1. #1

    Title
    Senior Member
    Join Date
    Jan 2014
    Posts
    173
    Thanks
    89
    Thanked 23 Times in 17 Posts

    GB Quad+ Timeshift crash

    I'm looking for some help modifying the Python source.

    I'm using a GB Quad+ and I want try to fix this crash (well not really 'fix' ... more of a workaround):
    http://www.world-of-satellite.com/sh...eshift-crashes

    The workaround is to use the 'Jump' feature to jump to the end of the timeshift buffer. I can not reproduce the crash when I just to the end of the Timeshift, rather than pressing Stop on the remote.

    So in summary: when in Timeshift mode, when I press 'Stop' on the remote, I want to 'jump' to the end of the buffer.

    I'm looking at this source:
    https://github.com/OpenViX/enigma2/b...s/Timeshift.py
    I've copied it to /usr/lib/python/Components and verified it gets compiled to a pyo on each restart.
    I have modified Timeshift.py by adding this code to the __init__ method
    Code:
    	def __init__(self):
    		file = open("/tmp/enigma2.log", "r+")
    		file.write('hello world')
    		file.close()
    I've verified the file is created and contains 'hello world' so I know my updates to the file are being picked up.
    However, I'm not seeing the methods called as expected.
    I've added logging to this method also:
    Code:
    def startTimeshift(self):
    However, I'm not seeing this code being hit as I expected when I press Pause to start Timeshift.
    Same it true for stopTimeshift()

    What am I doing wrong? What methods are called when stopping Timeshift on a GB Quad+? Will it be possible to achieve what I want?
    Thanks

  2. #2

    Title
    Senior Member
    Join Date
    Jan 2014
    Posts
    173
    Thanks
    89
    Thanked 23 Times in 17 Posts
    Ok - to update on the above. I got it working. and I got a workaround for the crash:
    Code:
    	def stopTimeshiftcheckTimeshiftRunningCallback(self, answer):
    		# print 'stopTimeshiftcheckTimeshiftRunningCallback'
    		# print ' answer', answer
    		if answer and int(config.timeshift.startdelay.value) and self.switchToLive and self.isSeekable():
    			# print 'TEST4'
    			self.ptsStop = False
    			self.pts_nextplaying = 0
    			self.pts_switchtolive = True
    			self.setSeekState(self.SEEK_STATE_PLAY)
    			#self.ptsSetNextPlaybackFile("")
    			self.doSeek(3600 * 24 * 90000)
    			self.__seekableStatusChanged()
    			return 0
    Commenting out this line has fixed the crash and doesn't seem to affect the functionality
    'self.ptsSetNextPlaybackFile("")'

    Is this the correct thing to do?

  3. #3
    twol's Avatar
    Title
    Moderator
    Join Date
    Apr 2012
    Posts
    8,618
    Thanks
    1,009
    Thanked 2,964 Times in 2,305 Posts
    Ask Birdman for comments
    Gigablue Quad 4K & UE 4K
    .........FBC Tuners:
    ------------------> GT-Sat unicable LNB to 1.5M dish(28.2E)
    ------------------> Gigablue unicable LNB to 80 cm dish(19.2E)
    .......................
    Vu+ Uno4KSE, Dreambox dm900
    AX HD61, Edision Osmio 4K+, Zgemma H9Combo, Octagon SF8008 , gbtrio4k, h9se using unicable ports
    Zgemma H9 C/S into Giga4K

  4. #4
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,858
    Thanks
    239
    Thanked 1,673 Times in 1,318 Posts
    Quote Originally Posted by twol View Post
    Ask Birdman for comments
    Well, the change you made prevents a directory pathname, rather than a file pathname, being set for the timeshift buffer.
    This situation also occurs at line 253 and 1197 in the same file.
    So it might be better to fix all of them....

    They are all associated with setting self.pts_switchtolive to True, so I reckon changing the ptsSetNextPlaybackFile() code to be:
    Code:
            def ptsSetNextPlaybackFile(self, nexttsfile):
                    # print '!!!!! ptsSetNextPlaybackFile'
                    ts = self.getTimeshift()
                    if ts is None:
                            return
    # Prepend timeshift dir, unless we are setting nothing ("")
                    if nexttsfile != "":
                            nexttsfile = "%s%s" % (config.usage.timeshift_path.value, nexttsfile)
                    # print ("!!! SET NextPlaybackFile nexttsfile)
                    ts.setNextPlaybackFile(nexttsfile)
    will be better, as this will handle all of them by not prepending the timeshift directory name when it is actually trying to not set any file. This code ends up setting m_timeshift_file_next in lib/service/service/dvb.cpp and there are various checks for this being an empty string, all associated with it switching to live TV.

    Here's a version of Timeshift.py with this fix applied.

    Timeshift.zip
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  5. The Following User Says Thank You to birdman For This Useful Post:

    divil_a_bit (04-01-17)

  6. #5
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,858
    Thanks
    239
    Thanked 1,673 Times in 1,318 Posts
    Quote Originally Posted by birdman View Post
    Here's a version of Timeshift.py with this fix applied.
    Note that this is different to what you did, but I suspect it fits in with what is intended elsewhere in the code.
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  7. The Following User Says Thank You to birdman For This Useful Post:

    divil_a_bit (04-01-17)

  8. #6

    Title
    Senior Member
    Join Date
    Jan 2014
    Posts
    173
    Thanks
    89
    Thanked 23 Times in 17 Posts
    Nice one birdman - that fixed the problem.
    I had noticed the other 2 code paths with the empty string but I couldn't figure out how to hit them so I didn't bother making a riskier fix I didn't understand.
    But just to be clear - I reverted my change and went with your change instead and it has fixed the problem.

    Now that that crash is fixed I have zero issues with the GB Quad+.

    birdman - can you get this fix committed to openvix repository so others can benefit from the change?

  9. The Following 2 Users Say Thank You to divil_a_bit For This Useful Post:

    birdman (04-01-17),Joe_90 (06-01-17)

  10. #7
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,858
    Thanks
    239
    Thanked 1,673 Times in 1,318 Posts
    Quote Originally Posted by divil_a_bit View Post
    But just to be clear - I reverted my change and went with your change instead and it has fixed the problem.
    Good. It's possible that this will fix some other issues (that's just an hypothesis).

    birdman - can you get this fix committed to openvix repository so others can benefit from the change?
    Yes. I'll get onto it shortly.

    EDIT:
    Code:
    https://github.com/OpenViX/enigma2/pull/81
    Last edited by birdman; 04-01-17 at 23:52.
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  11. The Following User Says Thank You to birdman For This Useful Post:

    divil_a_bit (05-01-17)

  12. #8

    Title
    Senior Member
    Join Date
    Jan 2014
    Posts
    173
    Thanks
    89
    Thanked 23 Times in 17 Posts
    Great. Thanks

  13. #9
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,858
    Thanks
    239
    Thanked 1,673 Times in 1,318 Posts
    It will be in 4.2.025, but not 4.2.024 (which should be along in a few days).
    So keep a copy of that fixed file to for 4.2.024.
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  14. The Following 3 Users Say Thank You to birdman For This Useful Post:

    divil_a_bit (05-01-17),Hannaman (05-01-17),Joe_90 (06-01-17)

  15. #10

    Title
    Senior Member
    Join Date
    Jan 2014
    Posts
    173
    Thanks
    89
    Thanked 23 Times in 17 Posts
    This really is super news for GB Quad+ users - thank you birdman.

  16. #11

    Title
    Senior Member
    Join Date
    Feb 2013
    Posts
    210
    Thanks
    42
    Thanked 22 Times in 20 Posts
    Waiting for this patiently thanks birdman.

  17. #12
    Joe_90's Avatar
    Title
    Moderator
    Join Date
    Mar 2014
    Location
    Wicklow, Ireland
    Posts
    4,244
    Thanks
    1,315
    Thanked 1,148 Times in 908 Posts
    @birdman - tested your Timeshift.py extensively on my GB Quad+ (now in Permanent TimeShift mode)and have not experienced the crash when pressing STOP key. Seems pretty bulletproof at this point, thanks!
    GB Quad Plus, Mut@nt HD51, AX HD61, 80cm dish and Supreme Dark motor. Sony TA-AN1000, Sony UBP-X800M2 Bluray, Odroid N2+ (CoreElec), Monitor Audio Bronze 5.1 speakers

  18. #13
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,858
    Thanks
    239
    Thanked 1,673 Times in 1,318 Posts
    Quote Originally Posted by fat-tony View Post
    Seems pretty bulletproof at this point, thanks!
    You really need to thank divil_a_bit for tracking down the cause. I just made a few changes based on his discovery.
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  19. #14
    Joe_90's Avatar
    Title
    Moderator
    Join Date
    Mar 2014
    Location
    Wicklow, Ireland
    Posts
    4,244
    Thanks
    1,315
    Thanked 1,148 Times in 908 Posts
    Have done!
    GB Quad Plus, Mut@nt HD51, AX HD61, 80cm dish and Supreme Dark motor. Sony TA-AN1000, Sony UBP-X800M2 Bluray, Odroid N2+ (CoreElec), Monitor Audio Bronze 5.1 speakers

  20. #15

    Title
    Junior Member
    Join Date
    Nov 2011
    Posts
    22
    Thanks
    6
    Thanked 2 Times in 2 Posts
    I have a GB quad HD plus, currently running Teamblue 6.3.0 (2019-02-28), OE-Alliance 4.3 and have had this really bloody annoying jumping and sticking problem. It's so bad that we have had to go to BBC iPlayer and ITV hub as we simply can't watch the recordings without hitting the "1" button to keep jumping back. It was utterly flawless before whatever the problem that causes this was added / removed from the source code. I have suffered this for a year or so. I am almost at the point of putting my DM8000 back as the main box, so I hope this fix works

    I tried everything including reformatting the HDD, boot loaders, images etc. Nothing fixes it. I could see that for some reason the images were putting the timeshift.xxx into the USB where the picons are stored and I guessed it was this or something to do with this.

    I've put the code in now and will see how it works on my box.

    Thanks to you guys who can do code - I wish I could! - and you really are binary wizards

    I'll report back after a few days and let you know if it works for me

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.