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 1887266 - RHEL 8.3 messages log contain some "Fatal IO error "
Summary: RHEL 8.3 messages log contain some "Fatal IO error "
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: gtk3
Version: 8.3
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: 8.0
Assignee: David King
QA Contact: Radek Duda
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-12 03:05 UTC by shangsong1
Modified: 2022-05-10 14:52 UTC (History)
13 users (show)

Fixed In Version: gtk3-3.22.30-9.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-05-10 14:26:04 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)
messages and xorg log (364.38 KB, application/zip)
2020-10-12 03:05 UTC, shangsong1
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME/gtk/-/commit/4334f9613b5fad7a7791d73c3c40bc20c42f077e 0 None None None 2021-06-16 06:37:24 UTC
Red Hat Product Errata RHBA-2022:1946 0 None None None 2022-05-10 14:26:09 UTC

Description shangsong1 2020-10-12 03:05:05 UTC
Created attachment 1720815 [details]
messages and xorg log

Description of problem:
Some "Fatal IO error" is included in messages log:
Sep 21 02:20:22 localhost journal[5507]: not GsPlugin error g-io-error-quark:1: Error when getting information for file “/root/.cache/gnome-software/shell-extensions/gnome.json”: No such file or directory
Sep  7 04:35:33 localhost journal[17430]: gnome-shell: Fatal IO error 0 (Success) on X server :0.
Sep  7 04:35:33 localhost journal[17563]: gsd-clipboard: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
Sep  7 04:35:33 localhost journal[17560]: gsd-xsettings: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.


Version-Release number of selected component (if applicable):


How reproducible:

Steps to Reproduce:
1.Fresh install RHEL 8.3 and check whether the messages log contain error information or not.
2.
3.

Actual results:
Some "Fatal IO error" is included in messages log

Expected results:
It is no any error/failure log in the log

Additional info:

Comment 1 Mike Cao 2020-10-15 03:01:19 UTC
Hello Florian

Can you help to check this issue

Thanks in advance,
Mike

Comment 2 Florian Müllner 2020-10-19 14:56:21 UTC
The message comes from GTK/GDK when the connection to the X server is lost. Shutting down the X server when the session ends isn't a responsibility of gnome-shell, so moving to GDM.

Comment 3 Ray Strode [halfline] 2020-10-19 17:24:59 UTC
The message is harmless, but it comes from gtk:

static int•
gdk_x_io_error (Display *display)•
{•
  /* This is basically modelled after the code in XLib. We need•
   * an explicit error handler here, so we can disable our atexit()•
   * which would otherwise cause a nice segfault.•
   * We fprintf(stderr, instead of g_warning() because g_warning()•
   * could possibly be redirected to a dialog•
   */•
  if (errno == EPIPE)•
    {•
      g_message ("The application '%s' lost its connection to the display %s;\n"•
                 "most likely the X server was shut down or you killed/destroyed\n"•
                 "the application.\n",•
                 g_get_prgname (),•
                 display ? DisplayString (display) : gdk_get_display_arg_name ());•
    }•
  else•
    {•
      g_message ("%s: Fatal IO error %d (%s) on X server %s.\n",•
                 g_get_prgname (),•
                 errno, g_strerror (errno),•
                 display ? DisplayString (display) : gdk_get_display_arg_name ());•
    }•
•
  _exit (1);•
}•

There are a number of problems with this handler:

1) It tries to rely on EPIPE to mean "x server was shut down", but EPIPE isn't the only error that a "X server was shut down" event could generate. As we see above, we also get errno = 0, and errno = 11. it's possible this check was correct pre-xcb, not sure.

2) The comment says it uses fprintf, but the code doesn't. This is because of these two commits:

commit 93e203e06769ccae494fc67809b9b4ee855f5b05
Author: Owen W. Taylor <otaylor>
Date:   Tue Sep 21 00:30:46 2010 -0400

    Use g_warning() for X errors and X IO errors
    
    Currently fprintf(stderr, ...) is used for X error and X IO errors
    (unless compiled with debugging, in which case g_error() is used for
    X errors.)
    
    But if an application is redirecting log messages, we really want
    X errors to appear in that same log, so it's better to use a g_logv()
    variant.
    
    Though g_warning() isn't really appropriate for "lost connection to the
    server", G_LOG_LEVEL_INFO isn't part of the "prefixed log levels"
    so will produce output without the application name and PID.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=630216

commit c70ba3a4f0043e11fffe0023685f99ec3990c644
Author: Matthias Clasen <mclasen>
Date:   Wed Nov 30 13:43:17 2016 -0500

    x11: Don't warn if the display is closed
    
    This causes a storm of warnings from all applications in the logs
    whenever the display goes away, and is not useful.

The latter of these commits makes it clear the message isn't supposed to be showing up in the log anymore.
I think Matthias forgot that g_message does show up in logs.

My suggestion is to just make the entire function be:

      g_debug ("%s: Fatal IO error %d (%s) on X server %s.\n",•
               g_get_prgname (),•
               errno, g_strerror (errno),•
               display ? DisplayString (display) : gdk_get_display_arg_name ());
      _exit (1);

g_debug doesn't show up in logs unless the user enables debugging and does get prefixed, so it seems like what we want.

moving to gtk

Comment 4 Mike Cao 2020-10-20 02:21:39 UTC
Hello Ben

Can we request to add this issue to the release note known issues?

Best Regards,
Mike

Comment 5 Mike Cao 2021-02-10 06:45:44 UTC
Hello Ben

Any plan for the bug fixing on this issue on RHEL8.4?

Thanks in advance,
Mike

Comment 7 Tomas Popela 2021-06-16 06:37:25 UTC
Moving to POST as there's patch available.

Comment 8 Mike Cao 2021-10-13 11:08:01 UTC
(In reply to Tomas Popela from comment #7)
> Moving to POST as there's patch available.

Hi, Tomas

I saw the bug in post status for several month, Is there any plan to backport the patch to RHEL?

Comment 9 Tomas Popela 2021-10-13 11:48:54 UTC
(In reply to Mike Cao from comment #8)
> (In reply to Tomas Popela from comment #7)
> > Moving to POST as there's patch available.
> 
> Hi, Tomas
> 
> I saw the bug in post status for several month, Is there any plan to
> backport the patch to RHEL?

We are waiting for more gtk3 related fixes (we have few queued in RHEL 7 where one is waiting on upstream fix) to be brought into RHEL 8. It's possible that this will be fixed in 8.6.0 - will sync with Matthias after he's back from PTO.

Comment 10 David King 2022-01-17 18:34:30 UTC
Backport builds fine locall.y

Comment 11 Radek Duda 2022-02-03 13:58:33 UTC
Reproduced with gtk3-3.22.30-8.el8.x86_64
Cannot reproduce with gtk3-3.22.30-9.el8.x86_64.

Comment 16 errata-xmlrpc 2022-05-10 14:26:04 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 (gtk3 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-2022:1946


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