RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1751783 - Output missing from commands with Flooded output
Summary: Output missing from commands with Flooded output
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: cockpit
Version: 8.1
Hardware: All
OS: All
unspecified
medium
Target Milestone: rc
: 8.3
Assignee: Martin Pitt
QA Contact: Jan Ščotka
URL:
Whiteboard:
Depends On:
Blocks: 1694846 1793594
TreeView+ depends on / blocked
 
Reported: 2019-09-12 15:00 UTC by jstephen
Modified: 2023-12-15 16:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-04 01:53:29 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:4511 0 None None None 2020-11-04 01:53:46 UTC

Description jstephen 2019-09-12 15:00:59 UTC
Description of problem:
cockpit-session-recording uses the journal.journalctl method to retrieve a list of journal entries, process them, then present a list of Recordings in the UI. Intermittently(about 50% of the time), only a subset of the total entries are returned to the .stream(data) handler. When this happens the .done() handler never is called. 

The code we use:

https://github.com/Scribery/cockpit-session-recording/blob/master/src/recordings.jsx#L323

More details provided at the upstream issue: https://github.com/cockpit-project/cockpit/issues/12580

This leads to cockpit-session-recording not playing back all of the recorded output. For example, a recording containing the command 'cat /usr/share/dict/linux.words', the journalctl method may only retrieve all words up to 'm', or 'n', or 'r'

I believe this is also evident in the cockpit Terminal page, running a command such as:

   # find /

This is related to BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1694846

Version-Release number of selected component (if applicable):
Cockpit version: 199, 193
OS: Fedora 29, Fedora 30, RHEL8

How reproducible:
Often

Steps to Reproduce:
- dnf install tlog

- tlog-rec -w journal cat /usr/share/dict/linux.words

- In cockpit module code:

 let cmd = ["journalctl", "-q", "--lines=all", "_COMM=tlog-rec", "--output=json"];
 cockpit.spawn(cmd)
         .stream((data) => {
             console.log(data);   /* If data contains Zyzzogeton, all entries were returned */
             if (data.includes("Zyzzogeton")) {
                 console.log('Found string');
             }
         })
         .done(() => {
             console.log('Done!');
         });

- Can also be reproduced by installing cockpit-session-recording, and attempting to playback a recording with flooded output(cat /usr/share/dict/linux.words)

Actual Output:
Intermittently, not all of the output will be provided in .stream(data) and the .done() handler is never called

Comment 1 jstephen 2019-09-12 15:43:13 UTC
Hi Martin,

Sorry if it was not clear, but this is intentionally assigned to the 'cockpit' component(created by me) as we are having problems with the cockpit journalctl API.

Small correction from my previous comment, the line of code where we are having issues is here: https://github.com/Scribery/cockpit-session-recording/blob/master/src/recordings.jsx#L788

Comment 4 jstephen 2020-02-13 15:19:51 UTC
Hi Martin, I just wanted to follow-up on this to make sure it is not lost or forgotten. Let me know if you need any further information from me.

Comment 5 Martin Pitt 2020-02-14 11:23:24 UTC
@jstephen: Ack, it's not lost, just that this is a rather tricky issue and we haven't gotten around to this yet; sorry!

Comment 8 Martin Pitt 2020-05-11 14:02:17 UTC
I have been debugging this for a while now, and will continue to work on it. It will still take some time though. I keep updating the upstream issue with some details.

Comment 10 Martin Pitt 2020-05-12 16:07:33 UTC
I have a fix now: https://github.com/cockpit-project/cockpit/pull/14079 . It will still take a bit of cranking to land, but it's safe for 8.3.

Comment 17 errata-xmlrpc 2020-11-04 01:53:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (cockpit bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4511


Note You need to log in before you can comment on or make changes to this bug.