#256 [Azure] gssproxy crashed with SEGV
Closed: Fixed 4 years ago by rharwood. Opened 4 years ago by slev.

I'm running FreeIPA tests (base, integration, etc.) on Azure Pipelines in the upstream's manner. This implies the following environment:
VM (virtual machine): Ubuntu 18.04
Docker container image: ALTLinux Sisyphus based (gssproxy is configured with SELinux support).
The test containers are deployed within VM.
Each container contains 1 IPA-enrolled host (master, replica or client).

For running NFS tests I dropped the gssproxy's config into NFS server container:

[service/nfs-server]                                                            
  mechs = krb5                                                                  
  socket = /run/gssproxy.sock                                                   
  cred_store = keytab:/etc/krb5.keytab                                          
  trusted = yes                                                                 
  kernel_nfsd = yes                                                             
  euid = 0

After that gssproxy crashed with:

Apr 06 05:30:05 client1.ipa.test gssproxy[966]: Error when reading config directory: File /etc/gssproxy/gssproxy.conf did not match provided patterns. Skipping.
Apr 06 05:30:05 client1.ipa.test gssproxy[966]: Error when reading config directory: File /etc/gssproxy/gssproxy.conf.sav did not match provided patterns. Skipping.
Apr 06 05:30:05 client1.ipa.test gssproxy[966]: [2020/04/06 05:30:05]: Debug Enabled (level: 2)
Apr 06 05:30:05 client1.ipa.test systemd[1]: Started GSSAPI Proxy Daemon.
Apr 06 05:30:05 client1.ipa.test systemd[1]: Condition check resulted in RPC security service for NFS server being skipped.
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: Setting log level to 2
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: libnfsidmap: res_querydomain() failed for _nfsv4idmapdomain.ipa.test: Unknown host
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: libnfsidmap: using (default) domain: ipa.test
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: libnfsidmap: Realms list: 'IPA.TEST'
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: libnfsidmap: loaded plugin /usr/lib64/libnfsidmap/nsswitch.so for method nsswitch
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: Expiration time is 600 seconds.
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: Opened /proc/net/rpc/nfs4.nametoid/channel
Apr 06 05:30:05 client1.ipa.test rpc.idmapd[970]: Opened /proc/net/rpc/nfs4.idtoname/channel
Apr 06 05:30:05 client1.ipa.test systemd[1]: Started NFSv4 ID-name mapping service.
Apr 06 05:30:05 client1.ipa.test systemd[1]: Started NFS Mount Daemon.
Apr 06 05:30:05 client1.ipa.test systemd[1]: Starting NFS server and services...
Apr 06 05:30:05 client1.ipa.test rpc.mountd[976]: Version 2.4.3 starting
Apr 06 05:30:05 client1.ipa.test systemd[1]: Finished NFS server and services.
Apr 06 05:30:05 client1.ipa.test gssproxy[969]: [2020/04/06 05:30:05]: Client [2020/04/06 05:30:05]: (/usr/sbin/gssproxy) [2020/04/06 05:30:05]:  connected (fd = 12)[2020/04/06 05:30:05]:  (pid = 969) (uid = 0) (gid = 0)
Apr 06 05:30:05 client1.ipa.test systemd[1]: gssproxy.service: Main process exited, code=dumped, status=11/SEGV
Apr 06 05:30:05 client1.ipa.test systemd[1]: gssproxy.service: Failed with result 'core-dump'.

After that I've rebuilt gssproxy with --with-selinux=no:

Apr 07 05:25:00 client1.ipa.test gssproxy[925]: [2020/04/07 05:25:00]: Failed to get peer's SELinux context (95:Operation not supported)
Apr 07 05:25:00 client1.ipa.test gssproxy[925]: [2020/04/07 05:25:00]: Client [2020/04/07 05:25:00]: (/usr/sbin/gssproxy) [2020/04/07 05:25:00]:  connected (fd = 13)[2020/04/07 05:25:00]:  (pid = 925) (uid = 0) (gid = 0)[2020/04/07 05:25:00]:

There is no more the crash.

Unfortunately, I can't either attach a tarball to this project or create a spoiler on pagure.
Excuse me for the plain text.

GNU gdb (GDB) 8.3-alt2 (ALT Sisyphus)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alt-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/gssproxy...
Reading symbols from /usr/lib/debug/usr/sbin/gssproxy.debug...
[New LWP 862]
[New LWP 866]
[New LWP 864]
[New LWP 867]
[New LWP 865]
[New LWP 868]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /usr/lib64/libverto-libev.so.1
Try to install the hash file /usr/lib/debug/.build-id/8e/32d45ad14c5c13c77248a25b2f6bb1c5a93e12.debug
Missing separate debuginfo for /usr/lib64/libev.so.4
Try to install the hash file /usr/lib/debug/.build-id/62/0e5025d713a071036240b924d10c3790ca386a.debug
Core was generated by `/usr/sbin/gssproxy -D'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f034f82337a in context_str_internal (context=0x0) at context.c:123
123     context_private_t *n = context->ptr;
[Current thread is 1 (Thread 0x7f034f519c80 (LWP 862))]

Thread 6 (Thread 0x7f034c3f1700 (LWP 868)):
#0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78
No locals.
#1  0x00007f034f787e50 in ?? () at pthread_create.c:362 from /lib64/libpthread.so.0
        stack_cache = {next = 0x7f034f79b020 <stack_cache>, prev = 0x7f034f79b020 <stack_cache>}
        stack_cache_actsize = 0
        __nptl_threads_events = {event_bits = {0, 0}}
        stack_used = {next = 0x7f034c3f19c0, prev = 0x7f034e3f59c0}
        __nptl_last_event = 0x0
        in_flight_stack = 0
        stack_cache_lock = 0
        stack_cache_maxsize = <optimized out>
        __GI___stack_user = {next = 0x7f034f519f40, prev = 0x7f034f519f40}
        _thread_db_sizeof_td_eventbuf_t = 24
        _thread_db_pthread_list = {128, 1, 704}
        _thread_db_list_t_prev = {64, 1, 8}
        _thread_db_link_map_l_tls_modid = {64, 1, 1104}
        _thread_db_td_eventbuf_t_eventdata = {64, 1, 16}
        _thread_db_list_t_next = {64, 1, 0}
        _thread_db_pthread_start_routine = {64, 1, 1600}
        _thread_db___pthread_keys = {128, 1024, 0}
        _thread_db_rtld_global__dl_tls_dtv_slotinfo_list = {64, 1, 3904}
        _thread_db_pthread_tid = {32, 1, 720}
        _thread_db_pthread_specific = {2048, 1, 1296}
        _thread_db_pthread_key_data_level2_data = {128, 32, 0}
        _thread_db_td_eventbuf_t_eventnum = {32, 1, 8}
        _thread_db_sizeof_pthread = 2304
        _thread_db_sizeof_td_thr_events_t = 8
        _thread_db_sizeof_rtld_global = 3984
        _thread_db_pthread_report_events = {8, 1, 1553}
        _thread_db_pthread_schedpolicy = {32, 1, 1596}
        _thread_db_sizeof_pthread_key_data_level2 = 512
        _thread_db___nptl_initial_report_events = {8, 1, 0}
        __pthread_debug = 0
        _thread_db_td_thr_events_t_event_bits = {32, 2, 0}
        _thread_db_sizeof_list_t = 16
        _thread_db_link_map_l_tls_offset = {64, 1, 1096}
        _thread_db_pthread_eventbuf_eventmask_event_bits = {32, 2, 1616}
        _thread_db_pthread_schedparam_sched_priority = {32, 1, 1592}
        _thread_db_dtv_dtv = {128, 134217727, 0}
        _thread_db_pthread_nextevent = {64, 1, 1640}
        _thread_db__rtld_global = {31872, 1, 0}
        _thread_db_pthread_cancelhandling = {32, 1, 776}
        _thread_db_const_thread_area = 25
        _thread_db_pthread_eventbuf = {192, 1, 1616}
        _thread_db_pthread_eventbuf_eventmask = {64, 1, 1616}
        _thread_db___nptl_nthreads = {32, 1, 0}
        __nptl_nthreads = 6
        _thread_db_dtv_slotinfo_list_slotinfo = {128, 0, 16}
#2  0x00007f034c3f1700 in ?? ()
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 0x7f034dbf4700 (LWP 865)):
#0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78
No locals.
#1  0x00007f034f787e50 in ?? () at pthread_create.c:362 from /lib64/libpthread.so.0
        stack_cache = {next = 0x7f034f79b020 <stack_cache>, prev = 0x7f034f79b020 <stack_cache>}
        stack_cache_actsize = 0
        __nptl_threads_events = {event_bits = {0, 0}}
        stack_used = {next = 0x7f034c3f19c0, prev = 0x7f034e3f59c0}
        __nptl_last_event = 0x0
        in_flight_stack = 0
        stack_cache_lock = 0
        stack_cache_maxsize = <optimized out>
        __GI___stack_user = {next = 0x7f034f519f40, prev = 0x7f034f519f40}
        _thread_db_sizeof_td_eventbuf_t = 24
        _thread_db_pthread_list = {128, 1, 704}
        _thread_db_list_t_prev = {64, 1, 8}
        _thread_db_link_map_l_tls_modid = {64, 1, 1104}
        _thread_db_td_eventbuf_t_eventdata = {64, 1, 16}
        _thread_db_list_t_next = {64, 1, 0}
        _thread_db_pthread_start_routine = {64, 1, 1600}
        _thread_db___pthread_keys = {128, 1024, 0}
        _thread_db_rtld_global__dl_tls_dtv_slotinfo_list = {64, 1, 3904}
        _thread_db_pthread_tid = {32, 1, 720}
        _thread_db_pthread_specific = {2048, 1, 1296}
        _thread_db_pthread_key_data_level2_data = {128, 32, 0}
        _thread_db_td_eventbuf_t_eventnum = {32, 1, 8}
        _thread_db_sizeof_pthread = 2304
        _thread_db_sizeof_td_thr_events_t = 8
        _thread_db_sizeof_rtld_global = 3984
        _thread_db_pthread_report_events = {8, 1, 1553}
        _thread_db_pthread_schedpolicy = {32, 1, 1596}
        _thread_db_sizeof_pthread_key_data_level2 = 512
        _thread_db___nptl_initial_report_events = {8, 1, 0}
        __pthread_debug = 0
        _thread_db_td_thr_events_t_event_bits = {32, 2, 0}
        _thread_db_sizeof_list_t = 16
        _thread_db_link_map_l_tls_offset = {64, 1, 1096}
        _thread_db_pthread_eventbuf_eventmask_event_bits = {32, 2, 1616}
        _thread_db_pthread_schedparam_sched_priority = {32, 1, 1592}
        _thread_db_dtv_dtv = {128, 134217727, 0}
        _thread_db_pthread_nextevent = {64, 1, 1640}
        _thread_db__rtld_global = {31872, 1, 0}
        _thread_db_pthread_cancelhandling = {32, 1, 776}
        _thread_db_const_thread_area = 25
        _thread_db_pthread_eventbuf = {192, 1, 1616}
        _thread_db_pthread_eventbuf_eventmask = {64, 1, 1616}
        _thread_db___nptl_nthreads = {32, 1, 0}
        __nptl_nthreads = 6
        _thread_db_dtv_slotinfo_list_slotinfo = {128, 0, 16}
#2  0x00007f034dbf4700 in ?? ()
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 0x7f034cbf2700 (LWP 867)):
#0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78
No locals.
#1  0x00007f034f787e50 in ?? () at pthread_create.c:362 from /lib64/libpthread.so.0
        stack_cache = {next = 0x7f034f79b020 <stack_cache>, prev = 0x7f034f79b020 <stack_cache>}
        stack_cache_actsize = 0
        __nptl_threads_events = {event_bits = {0, 0}}
        stack_used = {next = 0x7f034c3f19c0, prev = 0x7f034e3f59c0}
        __nptl_last_event = 0x0
        in_flight_stack = 0
        stack_cache_lock = 0
        stack_cache_maxsize = <optimized out>
        __GI___stack_user = {next = 0x7f034f519f40, prev = 0x7f034f519f40}
        _thread_db_sizeof_td_eventbuf_t = 24
        _thread_db_pthread_list = {128, 1, 704}
        _thread_db_list_t_prev = {64, 1, 8}
        _thread_db_link_map_l_tls_modid = {64, 1, 1104}
        _thread_db_td_eventbuf_t_eventdata = {64, 1, 16}
        _thread_db_list_t_next = {64, 1, 0}
        _thread_db_pthread_start_routine = {64, 1, 1600}
        _thread_db___pthread_keys = {128, 1024, 0}
        _thread_db_rtld_global__dl_tls_dtv_slotinfo_list = {64, 1, 3904}
        _thread_db_pthread_tid = {32, 1, 720}
        _thread_db_pthread_specific = {2048, 1, 1296}
        _thread_db_pthread_key_data_level2_data = {128, 32, 0}
        _thread_db_td_eventbuf_t_eventnum = {32, 1, 8}
        _thread_db_sizeof_pthread = 2304
        _thread_db_sizeof_td_thr_events_t = 8
        _thread_db_sizeof_rtld_global = 3984
        _thread_db_pthread_report_events = {8, 1, 1553}
        _thread_db_pthread_schedpolicy = {32, 1, 1596}
        _thread_db_sizeof_pthread_key_data_level2 = 512
        _thread_db___nptl_initial_report_events = {8, 1, 0}
        __pthread_debug = 0
        _thread_db_td_thr_events_t_event_bits = {32, 2, 0}
        _thread_db_sizeof_list_t = 16
        _thread_db_link_map_l_tls_offset = {64, 1, 1096}
        _thread_db_pthread_eventbuf_eventmask_event_bits = {32, 2, 1616}
        _thread_db_pthread_schedparam_sched_priority = {32, 1, 1592}
        _thread_db_dtv_dtv = {128, 134217727, 0}
        _thread_db_pthread_nextevent = {64, 1, 1640}
        _thread_db__rtld_global = {31872, 1, 0}
        _thread_db_pthread_cancelhandling = {32, 1, 776}
        _thread_db_const_thread_area = 25
        _thread_db_pthread_eventbuf = {192, 1, 1616}
        _thread_db_pthread_eventbuf_eventmask = {64, 1, 1616}
        _thread_db___nptl_nthreads = {32, 1, 0}
        __nptl_nthreads = 6
        _thread_db_dtv_slotinfo_list_slotinfo = {128, 0, 16}
#2  0x00007f034cbf2700 in ?? ()
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7f034e3f5700 (LWP 864)):
#0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78
No locals.
#1  0x00007f034f787e50 in ?? () at pthread_create.c:362 from /lib64/libpthread.so.0
        stack_cache = {next = 0x7f034f79b020 <stack_cache>, prev = 0x7f034f79b020 <stack_cache>}
        stack_cache_actsize = 0
        __nptl_threads_events = {event_bits = {0, 0}}
        stack_used = {next = 0x7f034c3f19c0, prev = 0x7f034e3f59c0}
        __nptl_last_event = 0x0
        in_flight_stack = 0
        stack_cache_lock = 0
        stack_cache_maxsize = <optimized out>
        __GI___stack_user = {next = 0x7f034f519f40, prev = 0x7f034f519f40}
        _thread_db_sizeof_td_eventbuf_t = 24
        _thread_db_pthread_list = {128, 1, 704}
        _thread_db_list_t_prev = {64, 1, 8}
        _thread_db_link_map_l_tls_modid = {64, 1, 1104}
        _thread_db_td_eventbuf_t_eventdata = {64, 1, 16}
        _thread_db_list_t_next = {64, 1, 0}
        _thread_db_pthread_start_routine = {64, 1, 1600}
        _thread_db___pthread_keys = {128, 1024, 0}
        _thread_db_rtld_global__dl_tls_dtv_slotinfo_list = {64, 1, 3904}
        _thread_db_pthread_tid = {32, 1, 720}
        _thread_db_pthread_specific = {2048, 1, 1296}
        _thread_db_pthread_key_data_level2_data = {128, 32, 0}
        _thread_db_td_eventbuf_t_eventnum = {32, 1, 8}
        _thread_db_sizeof_pthread = 2304
        _thread_db_sizeof_td_thr_events_t = 8
        _thread_db_sizeof_rtld_global = 3984
        _thread_db_pthread_report_events = {8, 1, 1553}
        _thread_db_pthread_schedpolicy = {32, 1, 1596}
        _thread_db_sizeof_pthread_key_data_level2 = 512
        _thread_db___nptl_initial_report_events = {8, 1, 0}
        __pthread_debug = 0
        _thread_db_td_thr_events_t_event_bits = {32, 2, 0}
        _thread_db_sizeof_list_t = 16
        _thread_db_link_map_l_tls_offset = {64, 1, 1096}
        _thread_db_pthread_eventbuf_eventmask_event_bits = {32, 2, 1616}
        _thread_db_pthread_schedparam_sched_priority = {32, 1, 1592}
        _thread_db_dtv_dtv = {128, 134217727, 0}
        _thread_db_pthread_nextevent = {64, 1, 1640}
        _thread_db__rtld_global = {31872, 1, 0}
        _thread_db_pthread_cancelhandling = {32, 1, 776}
        _thread_db_const_thread_area = 25
        _thread_db_pthread_eventbuf = {192, 1, 1616}
        _thread_db_pthread_eventbuf_eventmask = {64, 1, 1616}
        _thread_db___nptl_nthreads = {32, 1, 0}
        __nptl_nthreads = 6
        _thread_db_dtv_slotinfo_list_slotinfo = {128, 0, 16}
#2  0x00007f034e3f5700 in ?? ()
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7f034d3f3700 (LWP 866)):
#0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78
No locals.
#1  0x00007f034f787e50 in ?? () at pthread_create.c:362 from /lib64/libpthread.so.0
        stack_cache = {next = 0x7f034f79b020 <stack_cache>, prev = 0x7f034f79b020 <stack_cache>}
        stack_cache_actsize = 0
        __nptl_threads_events = {event_bits = {0, 0}}
        stack_used = {next = 0x7f034c3f19c0, prev = 0x7f034e3f59c0}
        __nptl_last_event = 0x0
        in_flight_stack = 0
        stack_cache_lock = 0
        stack_cache_maxsize = <optimized out>
        __GI___stack_user = {next = 0x7f034f519f40, prev = 0x7f034f519f40}
        _thread_db_sizeof_td_eventbuf_t = 24
        _thread_db_pthread_list = {128, 1, 704}
        _thread_db_list_t_prev = {64, 1, 8}
        _thread_db_link_map_l_tls_modid = {64, 1, 1104}
        _thread_db_td_eventbuf_t_eventdata = {64, 1, 16}
        _thread_db_list_t_next = {64, 1, 0}
        _thread_db_pthread_start_routine = {64, 1, 1600}
        _thread_db___pthread_keys = {128, 1024, 0}
        _thread_db_rtld_global__dl_tls_dtv_slotinfo_list = {64, 1, 3904}
        _thread_db_pthread_tid = {32, 1, 720}
        _thread_db_pthread_specific = {2048, 1, 1296}
        _thread_db_pthread_key_data_level2_data = {128, 32, 0}
        _thread_db_td_eventbuf_t_eventnum = {32, 1, 8}
        _thread_db_sizeof_pthread = 2304
        _thread_db_sizeof_td_thr_events_t = 8
        _thread_db_sizeof_rtld_global = 3984
        _thread_db_pthread_report_events = {8, 1, 1553}
        _thread_db_pthread_schedpolicy = {32, 1, 1596}
        _thread_db_sizeof_pthread_key_data_level2 = 512
        _thread_db___nptl_initial_report_events = {8, 1, 0}
        __pthread_debug = 0
        _thread_db_td_thr_events_t_event_bits = {32, 2, 0}
        _thread_db_sizeof_list_t = 16
        _thread_db_link_map_l_tls_offset = {64, 1, 1096}
        _thread_db_pthread_eventbuf_eventmask_event_bits = {32, 2, 1616}
        _thread_db_pthread_schedparam_sched_priority = {32, 1, 1592}
        _thread_db_dtv_dtv = {128, 134217727, 0}
        _thread_db_pthread_nextevent = {64, 1, 1640}
        _thread_db__rtld_global = {31872, 1, 0}
        _thread_db_pthread_cancelhandling = {32, 1, 776}
        _thread_db_const_thread_area = 25
        _thread_db_pthread_eventbuf = {192, 1, 1616}
        _thread_db_pthread_eventbuf_eventmask = {64, 1, 1616}
        _thread_db___nptl_nthreads = {32, 1, 0}
        __nptl_nthreads = 6
        _thread_db_dtv_slotinfo_list_slotinfo = {128, 0, 16}
#2  0x00007f034d3f3700 in ?? ()
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7f034f519c80 (LWP 862)):
#0  0x00007f034f82337a in context_str_internal (context=0x0) at context.c:123
        n = <optimized out>
        i = <optimized out>
        total = <optimized out>
#1  0x0000000000409b08 in accept_sock_conn (vctx=0xb24770, ev=<optimized out>) at src/gp_socket.c:639
        conn = 0xb21b30
        listen_fd = <optimized out>
        fd = 12
        ret = <optimized out>
#2  0x00007f034f868108 in verto_fire (ev=0xb2d9e0) at verto.c:1006
        priv = <optimized out>
        __PRETTY_FUNCTION__ = "verto_fire"
#3  0x00007f034ee07fa3 in ev_invoke_pending () from /usr/lib64/libev.so.4
No symbol table info available.
#4  0x00007f034ee0b0d3 in ev_run () from /usr/lib64/libev.so.4
No symbol table info available.
#5  0x0000000000406420 in main (argc=<optimized out>, argv=<optimized out>) at src/gssproxy.c:288
        opt = <optimized out>
        pc = 0xb1c920
        opt_interactive = 0
        opt_version = 0
        opt_debug = 0
        opt_debug_level = 0
        vctx = 0xb24770
        ev = <optimized out>
        wait_fd = 5
        ret = 0
        long_options = {{longName = 0x0, shortName = 0 '\000', argInfo = 4, arg = 0x41eac0 <poptHelpOptions>, val = 0, descrip = 0x4190f8 "Help options:", argDescrip = 0x0}, {longName = 0x419106 "daemon", shortName = 68 'D', argInfo = 0, arg = 0x41eba8 <opt_daemon>, val = 0, descrip = 0x41910d "Become a daemon (default)", argDescrip = 0x0}, {longName = 0x419127 "interactive", shortName = 105 'i', argInfo = 0, arg = 0x7ffe9be52a4c, val = 0, descrip = 0x418f98 "Run interactive (not a daemon)", argDescrip = 0x0}, {longName = 0x419133 "config", shortName = 99 'c', argInfo = 1, arg = 0x41ebc0 <opt_config_file>, val = 0, descrip = 0x418fb8 "Specify a non-default config file", argDescrip = 0x0}, {longName = 0x41913a "configdir", shortName = 67 'C', argInfo = 1, arg = 0x41ebb8 <opt_config_dir>, val = 0, descrip = 0x418fe0 "Specify a non-default config directory", argDescrip = 0x0}, {longName = 0x417113 "socket", shortName = 115 's', argInfo = 1, arg = 0x41ebb0 <opt_config_socket>, val = 0, descrip = 0x419008 "Specify a custom default socket", argDescrip = 0x0}, {longName = 0x4171c2 "debug", shortName = 100 'd', argInfo = 0, arg = 0x7ffe9be52a54, val = 0, descrip = 0x419144 "Enable debugging", argDescrip = 0x0}, {longName = 0x419155 "debug-level", shortName = 0 '\000', argInfo = 2, arg = 0x7ffe9be52a58, val = 0, descrip = 0x419161 "Set debugging level", argDescrip = 0x0}, {longName = 0x419175 "version", shortName = 0 '\000', argInfo = 0, arg = 0x7ffe9be52a50, val = 0, descrip = 0x41917d "Print version number and exit", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\000', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}

Sure, this could be a libselinux problem, but since I have gssproxy crashed I file the issue here.


Thank you for the report.
Although it is arguable that libselinux should check context and not crash, that is not what libselinux does, so we need to handle it.

We do conditionally set conn->selinux_ctx, so we definitely need to check before using it at this point.
I'll prepare a PR.

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #257 Merged 4 years ago