[mythtv-commits] Ticket #13190: ExternalRecorder - error reading STDERR

MythTV noreply at mythtv.org
Fri Dec 8 06:25:52 UTC 2017


#13190: ExternalRecorder - error reading STDERR
----------------------------------+------------------------------
 Reporter:  mrawji@…              |          Owner:  jpoet
     Type:  Bug Report - General  |         Status:  assigned
 Priority:  minor                 |      Milestone:  needs_triage
Component:  MythTV - General      |        Version:  Unspecified
 Severity:  medium                |     Resolution:
 Keywords:                        |  Ticket locked:  0
----------------------------------+------------------------------

Comment (by Marc Rawji <mrawji@…>):

 Hi John,

 So I added a loop (1000x) around the "cheap" Externalcommands to see if I
 could force it to reproduce. I didn't get a straight up failure where it
 just stopped working, but was able to reproduce this:
 {{{
 2017-12-07 22:11:12.387166 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.387423 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.387679 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.387937 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.388193 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.388520 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.388748 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.388993 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.395628 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.395665 W
 ExternalRec(/home/mrawji/recorder2/record.sh): External Recorder did not
 respond to 'Version?'
 2017-12-07 22:11:12.430755 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 2017-12-07 22:11:12.433036 W
 ExternalRec(/home/mrawji/recorder2/record.sh): External Recorder did not
 respond to 'Version?'
 2017-12-07 22:11:12.444174 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('Version?')
 = 'OK:1.0'
 }}}

 I can make that happen with and without the [faa7994416] commit.

 I am also sure I didn't get the EAGAIN error reading from the stream... it
 just read 0 bytes.

 I also see this log:
 {{{
 2017-12-07 22:11:12.694597 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('HasTuner?')
 = 'OK:Yes'
 2017-12-07 22:11:12.694793 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('HasTuner?')
 = 'OK:Yes'
 2017-12-07 22:11:12.698246 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('HasTuner?')
 = 'OK:Yes
 OK:Yes
 OK:Yes
 OK:Yes
 OK:Yes'
 2017-12-07 22:11:12.698771 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('HasTuner?')
 = 'OK:Yes'
 2017-12-07 22:11:12.699396 I
 ExternalRec(/home/mrawji/recorder2/record.sh): ProcessCommand('HasTuner?')
 = 'OK:Yes'
 }}}

 but i don't know what to make of it... it shouldn't happen that 4 "lines"
 get read.

 I think i'll try to put your commit back in, and force a "re-read"in case
 0 bytes were returned by the read command, maybe with a usleep in there.

 I am open to suggestions. random retries aren't my favorite way to fix
 problems.

 Marc

--
Ticket URL: <https://code.mythtv.org/trac/ticket/13190#comment:3>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list