Bug 1451255

Summary: segfault when trying to start with no files in /etc/gssproxy directory
Product: Red Hat Enterprise Linux 7 Reporter: michal novacek <mnovacek>
Component: gssproxyAssignee: Robbie Harwood <rharwood>
Status: CLOSED ERRATA QA Contact: ipa-qe <ipa-qe>
Severity: low Docs Contact:
Priority: low    
Version: 7.4CC: fs-qe, ksiddiqu, mkosek, myusuf, pasik, rharwood, yoyang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://pagure.io/gssproxy/pull-request/185
Whiteboard:
Fixed In Version: gssproxy-0.7.0-6.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 11:09:51 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:

Description michal novacek 2017-05-16 08:43:52 UTC
Description of problem:
Removing configuration files in /etc/gssproxy/ directory causes 'systemctl start gssproxy' to segfault.

Version-Release number of selected component (if applicable):
gssproxy-0.7.0-3.el7.x86_64
kernel-3.10.0-666.el7.x86_64

How reproducible: always

Steps to Reproduce:
1. remove files in /etc/gssproxy/
2. systemctl start gssproxy

Actual results: segfault, gssproxy not started

Expected results: gssproxy started


Additional info:
May 16 04:40:44 pool-10-34-69-57 kernel: gssproxy[11833]: segfault at 10102be ip 00007fa39315a4dc sp 00007ffe310936b8 error 4 in libc-2.17.so[7fa3930da000+1b8000]

Comment 2 Robbie Harwood 2017-05-16 18:19:02 UTC
We're not going to start without a config file, especially when the distribution ships one by default.  We shouldn't segfault, though.

Comment 3 Robbie Harwood 2017-05-16 22:45:24 UTC
Fix applied to fedora in gssproxy >= 0.7.0-6.

Comment 5 Mohammad Rizwan 2018-01-10 09:24:37 UTC
version:
gssproxy-0.7.0-17.el7.x86_64
kernel-3.10.0-828.el7.x86_64

Steps:

1. mv /etc/gssproxy/* /tmp/gssproxy/
2. systemctl start gssproxy
3. systemctl status gssproxy

Additinal steps:

4. systemctl stop gssproxy
5. systemctl start gssproxy
6. systemctl status gssproxy
7. mv /tmp/gssproxy/* /etc/gssproxy/
8. systemctl start gssproxy
9. systemctl status gssproxy

Step 5 failed to start the gssproxy. When restored the config file to /etc/gssproxy/, it started successfully.

Actual result:

[root@qe-blade-01 ~]# systemctl status gssproxy
● gssproxy.service - GSSAPI Proxy Daemon
   Loaded: loaded (/usr/lib/systemd/system/gssproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-10 04:08:24 EST; 6s ago
  Process: 13511 ExecStart=/usr/sbin/gssproxy -D (code=exited, status=0/SUCCESS)
 Main PID: 13512 (gssproxy)
   CGroup: /system.slice/gssproxy.service
           └─13512 /usr/sbin/gssproxy -D

Jan 10 04:08:24 master.testrelm.test systemd[1]: Starting GSSAPI Proxy Daemon...
Jan 10 04:08:24 master.testrelm.test systemd[1]: Started GSSAPI Proxy Daemon.
[root@qe-blade-01 ~]# 
[root@qe-blade-01 ~]# 
[root@qe-blade-01 ~]# mv /etc/gssproxy/* /tmp/gssproxy/
[root@qe-blade-01 ~]# ll /etc/gssproxy/
total 0
[root@qe-blade-01 ~]# systemctl start gssproxy
[root@qe-blade-01 ~]# systemctl status gssproxy
● gssproxy.service - GSSAPI Proxy Daemon
   Loaded: loaded (/usr/lib/systemd/system/gssproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-10 04:08:24 EST; 3min 7s ago
  Process: 13511 ExecStart=/usr/sbin/gssproxy -D (code=exited, status=0/SUCCESS)
 Main PID: 13512 (gssproxy)
   CGroup: /system.slice/gssproxy.service
           └─13512 /usr/sbin/gssproxy -D

Jan 10 04:08:24 master.testrelm.test systemd[1]: Starting GSSAPI Proxy Daemon...
Jan 10 04:08:24 master.testrelm.test systemd[1]: Started GSSAPI Proxy Daemon.
[root@qe-blade-01 ~]# 
[root@qe-blade-01 ~]# systemctl stop gssproxy
[root@qe-blade-01 ~]# 
[root@qe-blade-01 ~]# systemctl status gssproxy
● gssproxy.service - GSSAPI Proxy Daemon
   Loaded: loaded (/usr/lib/systemd/system/gssproxy.service; disabled; vendor preset: disabled)
   Active: inactive (dead) since Wed 2018-01-10 04:11:51 EST; 6s ago
  Process: 13511 ExecStart=/usr/sbin/gssproxy -D (code=exited, status=0/SUCCESS)
 Main PID: 13512 (code=exited, status=0/SUCCESS)

Jan 10 04:08:24 master.testrelm.test systemd[1]: Starting GSSAPI Proxy Daemon...
Jan 10 04:08:24 master.testrelm.test systemd[1]: Started GSSAPI Proxy Daemon.
Jan 10 04:11:51 master.testrelm.test systemd[1]: Stopping GSSAPI Proxy Daemon...
Jan 10 04:11:51 master.testrelm.test systemd[1]: Stopped GSSAPI Proxy Daemon.
[root@qe-blade-01 ~]# systemctl start gssproxy
Job for gssproxy.service failed because the control process exited with error code. See "systemctl status gssproxy.service" and "journalctl -xe" for details.

[root@qe-blade-01 ~]# tail -10f /var/log/messages 
Jan 10 04:08:24 localhost systemd: Starting GSSAPI Proxy Daemon...
Jan 10 04:08:24 localhost systemd: Started GSSAPI Proxy Daemon.
Jan 10 04:11:51 localhost systemd: Stopping GSSAPI Proxy Daemon...
Jan 10 04:11:51 localhost systemd: Stopped GSSAPI Proxy Daemon.
Jan 10 04:12:06 localhost systemd: Starting GSSAPI Proxy Daemon...
Jan 10 04:12:06 localhost gssproxy: Failed to open config file: 2 (No such file or directory)
Jan 10 04:12:06 localhost systemd: gssproxy.service: control process exited, code=exited status=1
Jan 10 04:12:06 localhost systemd: Failed to start GSSAPI Proxy Daemon.
Jan 10 04:12:06 localhost systemd: Unit gssproxy.service entered failed state.
Jan 10 04:12:06 localhost systemd: gssproxy.service failed.

[root@qe-blade-01 ~]# mv /tmp/gssproxy/* /etc/gssproxy/
[root@qe-blade-01 ~]# systemctl start gssproxy
[root@qe-blade-01 ~]# systemctl status gssproxy
● gssproxy.service - GSSAPI Proxy Daemon
   Loaded: loaded (/usr/lib/systemd/system/gssproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-10 04:08:24 EST; 6s ago
  Process: 13511 ExecStart=/usr/sbin/gssproxy -D (code=exited, status=0/SUCCESS)
 Main PID: 13512 (gssproxy)
   CGroup: /system.slice/gssproxy.service
           └─13512 /usr/sbin/gssproxy -D

Jan 10 04:08:24 master.testrelm.test systemd[1]: Starting GSSAPI Proxy Daemon...
Jan 10 04:08:24 master.testrelm.test systemd[1]: Started GSSAPI Proxy Daemon.

Comment 7 Robbie Harwood 2018-01-10 16:23:12 UTC
(Housekeeping: marking QE notes as private.)

That works, thanks!

Comment 8 Mohammad Rizwan 2018-01-11 07:00:25 UTC
Based on comment#5 and comment#7, making this bug as verified.

Comment 11 errata-xmlrpc 2018-04-10 11:09:51 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, 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-2018:0709