Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £129! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £179! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[Mut@nt HD2400] Crash in 6.8.007 (self built) - when coming out of playback and no tuner free to return to live TV

adennisa15

New member
Joined
Oct 3, 2021
Messages
18
Reaction score
0
Points
1
What type of support thread are you creating?
Possible bug
What OpenViX Image build number are you using?
6.8.007
Have you tried re-flashing WITHOUT settings restore?
NO
Have you tried re-flashing WITH a settings restore?
YES
Relatively new here, so not sure on the forum etiquette of starting a new thread (should it be in the "OpenViX 6.8 Release discussion thread"?), or even if this should be here (Github issue somewhere?) - forgive me if I'm wrong (but please do tell me what's right!)

I've had similar crashes before with 6.7.020 (see "Fairly frequent crash when no free tuner and coming out of watching a recording" thread), so immediately thought it was the same problem, somehow not quite fixed, but the backtrace this time is different from that time (and that fix is definitely in the source used for this build too).

Situation is, Mutant HD2400 with 2xT2 tuners and 1xS2 tuner. Live tv is an S2 service. I watch a recorded movie and whilst that's playing the S2 tuner is tuned to a different service for a timer record. The crash happens when the playback ends, when live tv can't tune S2 back to the service playing before the file play started, because the tuner is now busy recording a different service.

The exception backtrace looks like this...
Rich (BB code):
<135019.364456> 20:42:10.9639 [eDVBResourceManager] allocate channel.. 0802:0002
<135019.365134> 20:42:10.9646 [eDVBResourceManager] available channel.. 083f:0002
<135019.365763> 20:42:10.9652 [eDVBServicePMTHandler] allocate Channel: res -6
<135019.366476> 20:42:10.9659 [eDVBServicePlay] DVB service failed to tune - error 0
<135019.368353> 20:42:10.9678 [eDVBServicePlay] Encrypted channel, creating speculative CSA session
<135019.369973> 20:42:10.9694 [eDVBCSASession] Created for service 1:0:19:1B13:802:2:11A0000:0:0:0:
<135019.372386> 20:42:10.9718 [eDVBCSAEngine] init: csa_load_library failed
<135019.372477> 20:42:10.9719 [eDVBCSASession] Failed to initialize CSA engine
<135019.372539> 20:42:10.9720 [eDVBServicePlay] Failed to initialize CSA session
<135019.372617> 20:42:10.9721 [eDVBCSASession] Destroyed for service 1:0:19:1B13:802:2:11A0000:0:0:0:
<135019.436867> 20:42:11.0363 Traceback (most recent call last):
<135019.490735> 20:42:11.0902   File "/usr/lib/enigma2/python/StartEnigma.py", line 67, in processDelay
    self.current_dialog.doClose()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
<135019.492305> 20:42:11.0917   File "/usr/lib/enigma2/python/Screens/Screen.py", line 108, in doClose
<135019.493218> 20:42:11.0927   File "/usr/lib/enigma2/python/Screens/InfoBar.py", line 344, in __onClose
<135019.494138> 20:42:11.0936   File "/usr/lib/enigma2/python/Components/Sources/CurrentService.py", line 62, in newService
<135019.495299> 20:42:11.0947 AttributeError: 'NoneType' object has no attribute 'setChannelNum'
<135019.498668> 20:42:11.0981 [ePyObject] (CallObject(<bound method Session.processDelay of <__main__.Session object at 0x70168dd8>>,()) failed)

The line of code is...
Python:
61:        if num > 0:
62:            self.serviceref.setChannelNum(num)

... so as a first iteration of a fix/workaround, I've added a null check to at line 61 if num > 0 and self.serviceref is not None: , I'll see if that fixes it, or if it just moves the exception/reboot elsewhere...
 
Probably needs stopping before it gets to this point.
If change doesn,t work need to see complete debug log…… to see what was in line before crash (may not be enough in crash log)
 
Here's the preceding debug.log entries from the time of the file play stop.

Code:
<135018.897709> 20:42:10.4972 [MultiPixmap] setPixmapNum(2) failed! defined pixmaps: []
<135018.957216> 20:42:10.5567 [Navigation] playing ref 1:0:19:1B13:802:2:11A0000:0:0:0:
<135019.015667> 20:42:10.6151 [eServiceMP3] stop /media/hdd/movie/[redacted].mp4
<135019.019926> 20:42:10.6194 [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS
<135019.225701> 20:42:10.8251 [EventInfo] gotEvent, type: 'now', what: 'evEnd', is timed repeat: False
<135019.232170> 20:42:10.8316 [EventInfo] gotEvent, type: 'next', what: 'evEnd', is timed repeat: False
<135019.288079> 20:42:10.8875 [eServiceMP3] destruct!
<135019.304421> 20:42:10.9039 [servicedvb][eDVBServicePlay] now running: m_is_streamx set by m_is_stream 0
<135019.305235> 20:42:10.9047 [servicedvb][eDVBServicePlay] now running: m_is_pvr set to; 0
<135019.307081> 20:42:10.9065 [servicedvb][eDVBServicePlay][start] m_is_stream set to: 0
<135019.307735> 20:42:10.9072 [servicedvb][eDVBServicePlay][start] m_is_pvr set to; 0
<135019.345885> 20:42:10.9453 [EventInfo] gotEvent, type: 'now', what: 'evStart', is timed repeat: False
<135019.352736> 20:42:10.9522 [EventInfo] gotEvent, type: 'next', what: 'evStart', is timed repeat: False
<135019.363608> 20:42:10.9630 [Notifications] RemovePopup, id = ZapError
<135019.364456> 20:42:10.9639 [eDVBResourceManager] allocate channel.. 0802:0002
<135019.365134> 20:42:10.9646 [eDVBResourceManager] available channel.. 083f:0002

I have the debug log going back to the timer init and start (20:26:40) and the file play start (19:57:01) and a voluminous AutoTimer run in there too (20:16:09 - 20:18:16), but I'd probably like to redact the personal info before posting that extract ;) , if it's actually needed at all.

Will see if it crashes again with that modification in place. Another crash may produce a more palatable debug log ;)
 
It would be helpful to have the complete log.
 
By "the complete log", I assume you mean the crash log (rather than the debug log)?

Zipped crash log attached. Sensitive information has been redacted first.

I can supply further info from the debug log if required, however the quantity of sensitive information in there is astronomical! Please be quite specific about what is required, rather than just a vague "complete log" - that's not going to fly.

Thanks again.
 

Attachments

Ok. You want help... but supplying the debug log is too difficult for you.
 
@adennasis15 - by sensitive you mean userid/passwords? Then do what most people do just use an editor and do a text replace - other people manage this without too many issues.
 
No, I mean filenames, channel names, timer names, programme names etc etc.

I'm not comfortable sharing all of that private/personal information in public (or even privately) to be judged by all and sundry. Cleaning all of it out of debug.log is not just a trivial search and replace.

Like I said, if specific debug is needed (such as startup, or specific events/times leading up to the crash), then I will gladly provide it, just not a general "complete debug log" request.

I hope you've grasped the privacy implications here?
 
No, but the same cause.
Just wondering whether a lack of a tuner could be handled a bit more generically.
Lack of a tuner means nothing is playing and service ref is None. Converters should be able to handle that.
 
@twol and @Huevos - here's the redacted relevant debug.log segment, it covers the timeline from when it was brought out of standby until the crash...

Code:
19:56:14 leave standby => [Navigation] playing ref 1:0:19:1B13:802:2:11A0000:0:0:0:
19:56:39 showMovies
19:57:01 [Navigation] playing ref 4097:0:0:0:0:0:0:0:0:0:/media/hdd/movie/[redacted play file].mp4
20:16:09 [AutoTimer] Auto Poll Started
20:18:16 [Task] job Components.Task.Job name=AutoTimer #tasks=92 completed with [] in None
20:26:40 [Navigation] recording service: 1:0:19:5217:83F:2:11A0000:0:0:0:
20:27:00 [RecordTimer] activating state 2 (Running)
20:42:10 [Navigation] playing ref 1:0:19:1B13:802:2:11A0000:0:0:0:
20:42:10 [eServiceMP3] stop /media/hdd/movie/[redacted play file].mp4
20:42:10 [eDVBServicePMTHandler] allocate Channel: res -6
20:42:11 AttributeError: 'NoneType' object has no attribute 'setChannelNum'

It contains 1285 lines and 477 redactions. Like I said, a privacy nightmare.

Just wondering whether a lack of a tuner could be handled a bit more generically.
Lack of a tuner means nothing is playing and service ref is None.
When a tuner is needed for a recording, but it's currently being watched live, a popup appears along the lines of "a timer is about to start, the watched service will be switched to the recording service" and it retunes with the recording service being shown live.

Tbh, being presented with a blank screen when coming out of file play and the tuner has been commandeered for a recording is a rubbish user experience.

Surely it would be far better to show the recording service, rather than failing to tune back to the service before playback started? Displaying a similar popup could explain what's happened... (but isn't really necessary?)

Showing something on screen, instead of nothing, would be an easy way to avoid all these "null pointer" restarts that keep cropping up!
 
... so as a first iteration of a fix/workaround, I've added a null check to at line 61 if num > 0 and self.serviceref is not None: , I'll see if that fixes it, or if it just moves the exception/reboot elsewhere...
Oh, and btw, I'm fairly sure I had this situation again this evening, at least once, maybe twice. Both times it didn't crash - with this workaround in place...
 
@twol and @Huevos - here's the redacted relevant debug.log segment, it covers the timeline from when it was brought out of standby until the crash...
Damn... after all that, I forgot to attach the file before posting! Here it is..
 

Attachments

GitHub issue raised:
That was already fixed.
 

OpenViX Feeds Status

Back
Top