[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