Bug 1940348

Summary: dbus-launch unintentionally consumes stdin.
Product: Red Hat Enterprise Linux 8 Reporter: mine
Component: dbusAssignee: David King <dking>
Status: CLOSED ERRATA QA Contact: Petr Schindler <pschindl>
Severity: medium Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: bstinson, carl, jwboyer, mark, mboisver, simon.matter, tpelka
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dbus-1.12.8-14.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:31:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description mine 2021-03-18 09:18:44 UTC
Description of problem:

SSH X11 forwarding without launching X Window Server on the client side causes half of the key inputs to disappear. This problem is caused by dbus-launch consuming stdin.
Need to fix /etc/profile.d/ssh-x-forwarding.(c)sh which was added in #1874282.

How reproducible:

Steps to Reproduce:

1. Prepare SSH client environment without X Window Server.
This can be done on Linux without running X Window Server, or on Windows.
2. Log into to a system via SSH with the -Y option.

Actual results:
Half of the key inputs before entering Ctrl + C disappear.

Expected results:
The key inputs does not disappear.


Additional info:

This behavior is described in the man of dbus-launch. If you start dbus-launch with --exit-with-session, it will monitor terminal until HUP is input from stdin if it can't connect to X server. This is the reason for the statement "This option is not recommended". I suggest using --exit-with-x11 instead.

Comment 6 Petr Schindler 2021-05-24 19:11:49 UTC
Sanity only. All tests from our test suit pass.

Comment 7 Simon Matter 2021-05-31 06:41:24 UTC
I think there is more to fix in /etc/profile.d/ssh-x-forwarding.(c)sh.

Running 'ssh -X user@hosta xterm' works as expected and the xterm window shows up. The problem is when you terminate the xterm with 'exit', the ssh call is not terminated and hangs. The reason is that dbus-launch on hosta keeps running and doesn't terminate.

The same also happens with rsync calls which makes them hang. More details can also be found in https://bugzilla.redhat.com/show_bug.cgi?id=1874282

This all works fine in dbus-1.12.8-11 but is broken in dbus-1.12.8-12.

Comment 8 Simon Matter 2021-07-23 11:25:25 UTC
I've just tried with the latest dbus-1.12.8-14 from CentOS 8 Stream and the bug still persists.

I'm wondering what 'All tests from our test suit pass' means when a simple 'ssh -X user@hosta xterm' doesn't work correctly.

Am I missing something?

Comment 10 errata-xmlrpc 2021-11-09 19:31:44 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 (dbus 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-2021:4365