linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PROBLEM: with daemon.c after y2038 on 32-bits Kernel
@ 2022-05-17  7:51 Arnaud Panaïotis
  2022-05-30  7:03 ` Arnaud Panaïotis
  0 siblings, 1 reply; 8+ messages in thread
From: Arnaud Panaïotis @ 2022-05-17  7:51 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1732 bytes --]

Hello,

I'm working for a client to generate embedded 32-bits Linux Kernel working after y2038 issue.

I generated a 5.15 Kernel thought Buildroot with Coreutils 9.0, GCC 11.2.0, Binutils 2.37, Glibc 2.34-9 and CFLAGS  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -D_TIME_BITS=64.
 
I encounter an issue while working with OpenSSH (I initially contacted them before).
 
After 2038, /usr/sbin/sshd does not create an error but it child does generate this one:
daemon() failed: Value too large for defined data type
 
This happend here in sshd.c: 

2019         /*
2020          * If not in debugging mode, not started from inetd and not already
2021          * daemonized (eg re-exec via SIGHUP), disconnect from the controlling
2022          * terminal, and fork.  The original process exits.
2023          */
2024         already_daemon = daemonized();
2025         if (!(debug_flag || inetd_flag || no_daemon_flag || already_daemon)) {
2026
2027                 if (daemon(0, 0) == -1)
2028                         fatal("daemon() failed: %.200s", strerror(errno));

To reproduce: 

# date -s "2040-05-12"
# hwclock --systohc
# reboot
# /usr/sbin/sshd

Note this error occurs only after the reboot, and setting a date before 2038 also require a reboot to remove the error.
 
strace and gdb trace linked.
 
Let me know if you need additional information.
 
Best regards,
 
PS: I had a similar issue with binutils cp
Discussion : debbugs.gnu.org/cgi/bugreport.cgi?bug=55023
Fix : sourceware.org/bugzilla/show_bug.cgi?id=29097
 
--
Arnaud PANAÏOTIS | Lead Developer Freelance
+33 6 34 82 12 62 | arnaud.panaiotis@gmx.fr

18 place Jean Moulin - 38000 Grenoble
APsudo - www.panaiotis.fr

[-- Attachment #2: sshd_gdb.txt --]
[-- Type: text/plain, Size: 12953 bytes --]

Breakpoint 1 at 0x6170
Starting program: /usr/sbin/sshd

Breakpoint 1, __libc_fork () at fork.c:48
__run_fork_handlers (who=atfork_run_prepare, do_locking=false)
    at register-atfork.c:112
fork_handler_list_size (list=0xb7cbdee0 <fork_handlers>)
    at ../malloc/dynarray-skeleton.c:243
__run_fork_handlers (who=<optimized out>, do_locking=false)
    at register-atfork.c:117
__libc_fork () at fork.c:59
__GI__Fork () at ../sysdeps/unix/sysv/linux/arch-fork.h:43
0xb7b7c431 in arch_fork (ctid=<optimized out>)
    at ../sysdeps/unix/sysv/linux/arch-fork.h:43
0xb7b7c43f in arch_fork (ctid=<optimized out>)
    at ../sysdeps/unix/sysv/linux/arch-fork.h:43
0xb7b7c442 in arch_fork (ctid=<optimized out>)
    at ../sysdeps/unix/sysv/linux/arch-fork.h:43
0xb7b7c44b in arch_fork (ctid=<optimized out>)
    at ../sysdeps/unix/sysv/linux/arch-fork.h:43
0xb7b7c453 in arch_fork (ctid=<optimized out>)
    at ../sysdeps/unix/sysv/linux/arch-fork.h:43
[Attaching after process 7146 fork to child process 7166]
[New inferior 2 (process 7166)]
[Detaching after fork from parent process 7146]
[Inferior 1 (process 7146) detached]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[Switching to Thread 0xb7a9cd40 (LWP 7166)]
__GI__Fork () at ../sysdeps/nptl/_Fork.c:29
__GI__Fork () at ../sysdeps/nptl/_Fork.c:31
__GI__Fork () at ../sysdeps/nptl/_Fork.c:50
__libc_fork () at fork.c:75
fork_system_setup () at ../sysdeps/nptl/fork.h:34
__libc_fork () at fork.c:80
reclaim_stacks () at ../sysdeps/nptl/fork.h:58
list_del (elem=0xb7a9cda0) at ../include/list.h:56
0xb7b7c175 in list_del (elem=0xb7a9cda0) at ../include/list.h:56
reclaim_stacks () at ../sysdeps/nptl/fork.h:143
__libc_fork () at fork.c:102
reclaim_stacks () at ../sysdeps/nptl/fork.h:147
list_add (head=<optimized out>, newp=0xb7a9cda0) at ../include/list.h:44
__libc_fork () at fork.c:105
__run_fork_handlers (who=atfork_run_child, do_locking=false)
    at register-atfork.c:112
fork_handler_list_size (list=0xb7cbdee0 <fork_handlers>)
    at ../malloc/dynarray-skeleton.c:243
__run_fork_handlers (who=atfork_run_child, do_locking=false)
    at register-atfork.c:127
daemon (nochdir=0, noclose=0) at daemon.c:57
setsid () at ../sysdeps/unix/syscall-template.S:120
daemon (nochdir=0, noclose=0) at daemon.c:60
chdir () at ../sysdeps/unix/syscall-template.S:120
daemon (nochdir=0, noclose=0) at daemon.c:63
__GI___open_nocancel (file=0xb7c4ba54 "/dev/null", oflag=2)
    at ../sysdeps/unix/sysv/linux/open_nocancel.c:34
__GI___fstat64 (fd=3, buf=0xbffff4a0)
    at ../sysdeps/unix/sysv/linux/fstat64.c:43
__x86.get_pc_thunk.dx () at ../sysdeps/i386/fpu/s_frexpl.S:61
__GI___fstat64 (fd=3, buf=0xbffff4a0)
    at ../sysdeps/unix/sysv/linux/fstat64.c:50
__GI___fstat64_time64 (buf=0xbffff414, fd=3)
    at ../sysdeps/unix/sysv/linux/fstat64.c:35
__GI___fstatat64_time64 (fd=3, file=0xb7c4bf09 "", buf=0xbffff414, flag=4096)
    at ../sysdeps/unix/sysv/linux/fstatat64.c:153
0xb7ba4cd1 in fstatat64_time64_statx (flag=<optimized out>,
    buf=<optimized out>, file=<optimized out>, fd=<optimized out>)
    at ../sysdeps/unix/sysv/linux/fstatat64.c:50
0xb7ba4ce3 in fstatat64_time64_statx (flag=<optimized out>,
    buf=<optimized out>, file=<optimized out>, fd=<optimized out>)
    at ../sysdeps/unix/sysv/linux/fstatat64.c:50
0xb7ba4cef in fstatat64_time64_statx (flag=<optimized out>,
    buf=<optimized out>, file=0xb7c4bf09 "", fd=3)
    at ../sysdeps/unix/sysv/linux/fstatat64.c:50
fstatat64_time64_statx (flag=4096, buf=0xbffff414, file=0xb7c4bf09 "", fd=3)
    at ../sysdeps/unix/sysv/linux/fstatat64.c:50
__gnu_dev_makedev (__minor=5, __major=0) at ../include/sys/sysmacros.h:49
0xb7ba4d48 in __gnu_dev_makedev (__minor=5, __major=0)
    at ../include/sys/sysmacros.h:49
0xb7ba4d5a in __gnu_dev_makedev (__minor=5, __major=0)
    at ../include/sys/sysmacros.h:49
0xb7ba4d7e in __gnu_dev_makedev (__minor=5, __major=0)
    at ../include/sys/sysmacros.h:49
0xb7ba4da5 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4dd5 in __gnu_dev_makedev (__minor=3, __major=1)
    at ../include/sys/sysmacros.h:49
0xb7ba4ded in __gnu_dev_makedev (__minor=3, __major=1)
    at ../include/sys/sysmacros.h:49
0xb7ba4dfb in __gnu_dev_makedev (__minor=3, __major=1)
    at ../include/sys/sysmacros.h:49
0xb7ba4e14 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e22 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e41 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e4d in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e5b in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e63 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e7b in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4e95 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4eaa in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
0xb7ba4ec3 in __gnu_dev_makedev (__minor=<optimized out>,
    __major=<optimized out>) at ../include/sys/sysmacros.h:49
__cp_stat64_t64_stat64 (st64_t64=0xbffff414, st64=0xbffff4a0)
    at ../sysdeps/unix/sysv/linux/stat_t64_cp.c:29
__x86.get_pc_thunk.cx () at ../sysdeps/i386/i686/multiarch/strcpy-sse2.S:314
__cp_stat64_t64_stat64 (st64_t64=0xbffff414, st64=0xbffff4a0)
    at ../include/time.h:350
0xb7bb0a8d in in_time_t_range (t=<optimized out>) at ../include/time.h:350
0xb7bb0a91 in in_time_t_range (t=<optimized out>) at ../include/time.h:350
daemon (nochdir=0, noclose=0) at daemon.c:88
__close_nocancel_nostatus (fd=3) at ../sysdeps/unix/sysv/linux/not-cancel.h:60
__GI___close_nocancel (fd=3) at ../sysdeps/unix/sysv/linux/close_nocancel.c:26
__x86.get_pc_thunk.dx () at ../sysdeps/i386/fpu/s_frexpl.S:61
daemon (nochdir=0, noclose=0) at daemon.c:89
main (ac=<optimized out>, av=<optimized out>) at sshd.c:2028
__GI___errno_location () at errno-loc.c:26
strerror (errnum=75) at strerror.c:24
__GI___strerror_l (errnum=75, loc=0xb7cbabe0 <_nl_global_locale>)
    at strerror_l.c:39
__x86.get_pc_thunk.bx () at ../sysdeps/i386/i686/multiarch/memset-sse2.S:108
__GI___strerror_l (errnum=75, loc=0xb7cbabe0 <_nl_global_locale>)
    at strerror_l.c:40
__get_errlist (errnum=75) at errlist.c:37
__x86.get_pc_thunk.cx () at ../sysdeps/i386/i686/multiarch/strcpy-sse2.S:314
__get_errlist (errnum=75) at errlist.c:38
__GI___strerror_l (errnum=75, loc=0xb7cbabe0 <_nl_global_locale>)
    at strerror_l.c:52
translate (loc=0xb7cbabe0 <_nl_global_locale>,
    str=0xb7c509bc "Value too large for defined data type") at strerror_l.c:28
__GI___uselocale (newloc=0xb7cbabe0 <_nl_global_locale>) at uselocale.c:31
__x86.get_pc_thunk.dx () at ../sysdeps/i386/fpu/s_frexpl.S:61
__GI___uselocale (newloc=0xb7cbabe0 <_nl_global_locale>) at uselocale.c:33
translate (loc=0xb7cbabe0 <_nl_global_locale>,
    str=0xb7c509bc "Value too large for defined data type") at strerror_l.c:29
__GI___dcgettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid=0xb7c509bc "Value too large for defined data type", category=5)
    at dcgettext.c:47
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:494
___pthread_rwlock_rdlock (rwlock=0xb7cbafa0 <__libc_setlocale_lock>)
    at pthread_rwlock_rdlock.c:27
__pthread_rwlock_rdlock_full64 (abstime=0x0, clockid=0,
    rwlock=0xb7cbafa0 <__libc_setlocale_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:298
0xb7b2e0a6 in futex_wake (private=<optimized out>,
    processes_to_wake=<optimized out>, futex_word=<optimized out>)
    at ../sysdeps/nptl/futex-internal.h:213
___pthread_rwlock_rdlock (rwlock=<optimized out>) at pthread_rwlock_rdlock.c:29
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:528
___pthread_rwlock_rdlock (rwlock=0xb7cbb0e0 <_nl_state_lock>)
    at pthread_rwlock_rdlock.c:27
__pthread_rwlock_rdlock_full64 (abstime=0x0, clockid=0,
    rwlock=0xb7cbb0e0 <_nl_state_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:298
0xb7b2e0a6 in futex_wake (private=<optimized out>,
    processes_to_wake=<optimized out>, futex_word=<optimized out>)
    at ../sysdeps/nptl/futex-internal.h:213
___pthread_rwlock_rdlock (rwlock=<optimized out>) at pthread_rwlock_rdlock.c:29
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:533
__current_locale_name (category=5) at localename.c:25
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:560
___pthread_rwlock_rdlock (rwlock=0xb7cbb120 <tree_lock>)
    at pthread_rwlock_rdlock.c:27
__pthread_rwlock_rdlock_full64 (abstime=0x0, clockid=0,
    rwlock=0xb7cbb120 <tree_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:298
0xb7b2e0a6 in futex_wake (private=<optimized out>,
    processes_to_wake=<optimized out>, futex_word=<optimized out>)
    at ../sysdeps/nptl/futex-internal.h:213
___pthread_rwlock_rdlock (rwlock=<optimized out>) at pthread_rwlock_rdlock.c:29
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:569
__GI___tfind (key=0xbffff440, vrootp=0xb7cbb11c <root>,
    compar=0xb7ad69c0 <transcmp>) at tsearch.c:373
__GI___tfind (compar=<optimized out>, vrootp=<optimized out>,
    key=<optimized out>) at tsearch.c:383
___pthread_rwlock_unlock (rwlock=0xb7cbb120 <tree_lock>)
    at pthread_rwlock_unlock.c:39
__pthread_rwlock_rdunlock (rwlock=0xb7cbb120 <tree_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:227
__pthread_rwlock_get_private (rwlock=0xb7cbb120 <tree_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:221
__pthread_rwlock_rdunlock (rwlock=0xb7cbb120 <tree_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:232
___pthread_rwlock_unlock (rwlock=0xb7cbb120 <tree_lock>)
    at pthread_rwlock_unlock.c:43
__pthread_rwlock_rdunlock (rwlock=0xb7cbb120 <tree_lock>)
    at /home/arnaud/VLB-SNTTRT/devenv/branches/kernel510/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/nptl/pthread_rwlock_common.c:242
___pthread_rwlock_unlock (rwlock=<optimized out>) at pthread_rwlock_unlock.c:44
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:573
_nl_category_names_get (index=5) at ../include/../locale/localeinfo.h:206
0xb7ad74bf in _nl_category_names_get (index=5)
    at ../include/../locale/localeinfo.h:206
__dcigettext (domainname=0xb7c502ac <_libc_intl_domainname> "libc",
    msgid1=0xb7c509bc "Value too large for defined data type", msgid2=0x0,
    plural=0, n=0, category=5) at dcigettext.c:647
guess_category_value (
    categoryname=0xb7c31493 <_nl_category_names+51> "LC_MESSAGES", category=5)
    at dcigettext.c:1539
__current_locale_name (category=5) at localename.c:25
guess_category_value (
    categoryname=0xb7c31493 <_nl_category_names+51> "LC_MESSAGES", category=5)
    at dcigettext.c:1568
0xb7ad7724 in guess_category_value (
    categoryname=0xb7c31493 <_nl_category_names+51> "LC_MESSAGES", category=5)
    at dcigettext.c:1568

[-- Attachment #3: sshd_strace.log --]
[-- Type: application/octet-stream, Size: 35596 bytes --]

execve("/usr/sbin/sshd", ["/usr/sbin/sshd", "-E", "/var/log/sshd"], 0xbf857c30 /* 15 vars */) = 0
brk(NULL)                               = 0x508000
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f8b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/tls/i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/tls/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/tls/i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/tls/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/tls/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/tls/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/tls/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/tls", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/opt/apps/current/usr/lib", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=1024, ...}) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/tls/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/tls/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/tls/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/tls", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/sse2/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/lib/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f858) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libpam.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340$\0\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\30\0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\v\0\0\0\2\0\1\300"..., 40, 48216) = 40
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=203948, ...}) = 0
mmap2(NULL, 53260, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f7d000
mmap2(0xb7f7f000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xb7f7f000
mmap2(0xb7f86000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0xb7f86000
mmap2(0xb7f89000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0xb7f89000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/i686/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/tls/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/i686/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/tls/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/tls/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/tls", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/i686/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/i686", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/sse2/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/lib/sse2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xbfc0f828) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libcrypto.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\20\5\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\30\0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\37\0\0\0\2\0\1\300"..., 40, 2196364) = 40
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=7359380, ...}) = 0
mmap2(NULL, 2321216, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d46000
mmap2(0xb7d96000, 1318912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x50000) = 0xb7d96000
mmap2(0xb7ed8000, 552960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x192000) = 0xb7ed8000
mmap2(0xb7f5f000, 106496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x218000) = 0xb7f5f000
mmap2(0xb7f79000, 15168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f79000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\"\0\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\30\0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\t\0\0\0\2\0\1\300"..., 40, 76856) = 40
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=229684, ...}) = 0
mmap2(NULL, 81932, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d31000
mmap2(0xb7d33000, 45056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xb7d33000
mmap2(0xb7d3e000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0xb7d3e000
mmap2(0xb7d44000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0xb7d44000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libssl.so.1.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300+\1\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\30\0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\t\0\0\0\2\0\1\300"..., 40, 433760) = 40
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=1937564, ...}) = 0
mmap2(NULL, 470392, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7cbe000
mmap2(0xb7ccf000, 266240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xb7ccf000
mmap2(0xb7d10000, 98304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x52000) = 0xb7d10000
mmap2(0xb7d28000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0xb7d28000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libcrypt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\21\0\0004\0\0\0"..., 512) = 512
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=115968, ...}) = 0
mmap2(NULL, 205088, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7c8b000
mmap2(0xb7c8c000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb7c8c000
mmap2(0xb7c92000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0xb7c92000
mmap2(0xb7c95000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0xb7c95000
mmap2(0xb7c97000, 155936, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7c97000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\25\2\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\5\0\0\0\n\0\0\0\0\0\0\0"..., 84, 468) = 84
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=12543460, ...}) = 0
mmap2(NULL, 2217788, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7a6d000
mmap2(0xb7a8d000, 1482752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0xb7a8d000
mmap2(0xb7bf7000, 552960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0xb7bf7000
mmap2(0xb7c7e000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x210000) = 0xb7c7e000
mmap2(0xb7c81000, 38716, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7c81000
close(3)                                = 0
openat(AT_FDCWD, "tls/i686/sse2/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/i686/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/sse2/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/sse2/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "i686/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "sse2/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/apps/current/usr/lib/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220 \0\0004\0\0\0"..., 512) = 512
pread64(3, "\4\0\0\0\30\0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\v\0\0\0\2\0\1\300"..., 40, 20608) = 40
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=84752, ...}) = 0
mmap2(NULL, 32832, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7a64000
mmap2(0xb7a66000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xb7a66000
mmap2(0xb7a68000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb7a68000
mmap2(0xb7a6a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0xb7a6a000
mmap2(0xb7a6c000, 64, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7a6c000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7a62000
set_thread_area({entry_number=-1, base_addr=0xb7a62d40, limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=1, seg_not_present=0, useable=1}) = 0 (entry_number=6)
set_tid_address(0xb7a62da8)             = 3973
set_robust_list(0xb7a62db0, 12)         = 0
mprotect(0xb7c7e000, 8192, PROT_READ)   = 0
mprotect(0xb7a6a000, 4096, PROT_READ)   = 0
mprotect(0xb7c95000, 4096, PROT_READ)   = 0
mprotect(0xb7f5f000, 102400, PROT_READ) = 0
mprotect(0xb7d28000, 24576, PROT_READ)  = 0
mprotect(0xb7d44000, 4096, PROT_READ)   = 0
mprotect(0xb7f89000, 4096, PROT_READ)   = 0
mprotect(0x502000, 8192, PROT_READ)     = 0
mprotect(0xb7fc3000, 8192, PROT_READ)   = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
getrandom("\x17\xf9\xc5\x12", 4, GRND_NONBLOCK) = 4
brk(NULL)                               = 0x508000
brk(0x529000)                           = 0x529000
brk(0x52a000)                           = 0x52a000
geteuid32()                             = 0
setgroups32(0, NULL)                    = 0
openat(AT_FDCWD, "/dev/null", O_RDWR|O_LARGEFILE) = 3
close(3)                                = 0
futex(0xb7f7b5f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b5e4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b5dc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b684, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b5c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b5c0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb7f7b6c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getpid()                                = 3973
getrandom("\xf4\x90\x40\xdc\xbe\x54\x05\xf6\x7f\xc6\x5c\xc5\x02\xc6\xa3\xc2\x65\x1a\xa1\xe6\xc4\xe7\x17\x69\x42\xb2\x6d\xa4\x3b\xdf\x87\xe0", 32, 0) = 32
getpid()                                = 3973
futex(0xb7f7b6a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
close_range(3, 4294967295, 0)           = 0
openat(AT_FDCWD, "/var/log/sshd", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0600) = 3
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/sshd_config", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=3572, ...}) = 0
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=3572, ...}) = 0
read(4, "#\t$OpenBSD: sshd_config,v 1.99 2"..., 4096) = 3572
read(4, "", 4096)                       = 0
close(4)                                = 0
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getuid32()                              = 0
getpid()                                = 3973
getpid()                                = 3973
getuid32()                              = 0
getuid32()                              = 0
getuid32()                              = 0
openat(AT_FDCWD, "/etc/gai.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
futex(0xb7c84288, FUTEX_WAKE_PRIVATE, 2147483647) = 0
socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 4
bind(4, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(4, {sa_family=AF_NETLINK, nl_pid=3973, nl_groups=00000000}, [12]) = 0
sendto(4, [{nlmsg_len=20, nlmsg_type=RTM_GETADDR, nlmsg_flags=NLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq=0, nlmsg_pid=0}, {ifa_family=AF_UNSPEC, ...}], 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20
recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[[{nlmsg_len=76, nlmsg_type=RTM_NEWADDR, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=3973}, {ifa_family=AF_INET, ifa_prefixlen=8, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, [[{nla_len=8, nla_type=IFA_ADDRESS}, inet_addr("127.0.0.1")], [{nla_len=8, nla_type=IFA_LOCAL}, inet_addr("127.0.0.1")], [{nla_len=7, nla_type=IFA_LABEL}, "lo"], [{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT], [{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=2169, tstamp=2169}]]], [{nlmsg_len=88, nlmsg_type=RTM_NEWADDR, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=3973}, {ifa_family=AF_INET, ifa_prefixlen=24, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_UNIVERSE, ifa_index=if_nametoindex("eth0")}, [[{nla_len=8, nla_type=IFA_ADDRESS}, inet_addr("198.131.36.200")], [{nla_len=8, nla_type=IFA_LOCAL}, inet_addr("198.131.36.200")], [{nla_len=8, nla_type=IFA_BROADCAST}, inet_addr("198.131.36.255")], [{nla_len=9, nla_type=IFA_LABEL}, "eth0"], [{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT], [{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=2172, tstamp=2172}]]]], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 164
recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{nlmsg_len=72, nlmsg_type=RTM_NEWADDR, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=3973}, {ifa_family=AF_INET6, ifa_prefixlen=128, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, [[{nla_len=20, nla_type=IFA_ADDRESS}, inet_pton(AF_INET6, "::1")], [{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=2169, tstamp=2169}], [{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT]]], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 72
recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{nlmsg_len=20, nlmsg_type=NLMSG_DONE, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=3973}, 0], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20
close(4)                                = 0
socket(AF_INET6, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET6, sin6_port=htons(22), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::", &sin6_addr), sin6_scope_id=0}, 28) = 0
getsockname(4, {sa_family=AF_INET6, sin6_port=htons(54684), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
connect(4, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(22), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getsockname(4, {sa_family=AF_INET6, sin6_port=htons(33779), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
close(4)                                = 0
getpid()                                = 3973
getuid32()                              = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
statx(AT_FDCWD, "/etc/nsswitch.conf", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=230, ...}) = 0
statx(AT_FDCWD, "/", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=STATX_ATTR_MOUNT_ROOT, stx_mode=S_IFDIR|0755, stx_size=4096, ...}) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=230, ...}) = 0
read(4, "# /etc/nsswitch.conf\n\npasswd:   "..., 4096) = 230
read(4, "", 4096)                       = 0
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=230, ...}) = 0
close(4)                                = 0
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=630, ...}) = 0
_llseek(4, 0, [0], SEEK_SET)            = 0
read(4, "root:x:0:0:root:/root:/bin/sh\nda"..., 4096) = 630
close(4)                                = 0
openat(AT_FDCWD, "/etc/ssh/ssh_host_rsa_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=2602, ...}) = 0
getuid32()                              = 0
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=2602, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 2602
read(4, "", 1494)                       = 0
read(4, "", 4096)                       = 0
futex(0xb7f7b4e4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
close(4)                                = 0
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/ssh_host_rsa_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=2602, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 2602
close(4)                                = 0
openat(AT_FDCWD, "/etc/ssh/ssh_host_rsa_key.pub", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=566, ...}) = 0
read(4, "ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB"..., 4096) = 566
close(4)                                = 0
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/ssh_host_ecdsa_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=505, ...}) = 0
getuid32()                              = 0
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=505, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 505
read(4, "", 3591)                       = 0
read(4, "", 4096)                       = 0
close(4)                                = 0
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/ssh_host_ecdsa_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=505, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 505
close(4)                                = 0
openat(AT_FDCWD, "/etc/ssh/ssh_host_ecdsa_key.pub", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=174, ...}) = 0
read(4, "ecdsa-sha2-nistp256 AAAAE2VjZHNh"..., 4096) = 174
close(4)                                = 0
getpid()                                = 3973
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/ssh_host_ed25519_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=399, ...}) = 0
getuid32()                              = 0
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=399, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 399
read(4, "", 3697)                       = 0
read(4, "", 4096)                       = 0
close(4)                                = 0
getpid()                                = 3973
openat(AT_FDCWD, "/etc/ssh/ssh_host_ed25519_key", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=399, ...}) = 0
read(4, "-----BEGIN OPENSSH PRIVATE KEY--"..., 4096) = 399
close(4)                                = 0
openat(AT_FDCWD, "/etc/ssh/ssh_host_ed25519_key.pub", O_RDONLY|O_LARGEFILE) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=94, ...}) = 0
read(4, "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5"..., 4096) = 94
close(4)                                = 0
getpid()                                = 3973
getpid()                                = 3973
statx(AT_FDCWD, "/var/empty", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=4096, ...}) = 0
setgroups32(0, NULL)                    = 0
getpid()                                = 3973
getpid()                                = 3973
getpid()                                = 3973
umask(077)                              = 022
umask(022)                              = 077
openat(AT_FDCWD, "/dev/tty", O_RDONLY|O_NOCTTY|O_LARGEFILE) = 4
close(4)                                = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7a62da8) = 3974
exit_group(0)                           = ?
+++ exited with 0 +++
daemon() failed: Value too large for defined data type

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: PROBLEM: with daemon.c after y2038 on 32-bits Kernel
@ 2022-05-31  8:24 Arnd Bergmann
  2022-05-31  8:33 ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2022-05-31  8:24 UTC (permalink / raw)
  To: Arnaud Panaïotis; +Cc: linux-kernel, y2038, alpha

On 17/05/2022 09:51, Arnaud Panaïotis wrote:
> Hello,
>
> I'm working for a client to generate embedded 32-bits Linux Kernel working after y2038 issue.
>
> I generated a 5.15 Kernel thought Buildroot with Coreutils 9.0, GCC 11.2.0, Binutils 2.37, Glibc 2.34-9 and CFLAGS  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -D_TIME_BITS=64.
>
> I encounter an issue while working with OpenSSH (I initially contacted them before).

To clarify: did you build just openssh with  -D_TIME_BITS=64, or did
you build the user space
this way?

> After 2038, /usr/sbin/sshd does not create an error but it child does generate this one:
> daemon() failed: Value too large for defined data type
>
> This happend here in sshd.c:
>
> 2019         /*
> 2020          * If not in debugging mode, not started from inetd and not already
> 2021          * daemonized (eg re-exec via SIGHUP), disconnect from the controlling
> 2022          * terminal, and fork.  The original process exits.
> 2023          */
> 2024         already_daemon = daemonized();
> 2025         if (!(debug_flag || inetd_flag || no_daemon_flag || already_daemon)) {
> 2026
> 2027                 if (daemon(0, 0) == -1)
> 2028                         fatal("daemon() failed: %.200s", strerror(errno));

My guess is that there are parts of glibc that are not fully
y2038-safe at the moment, but
merely provide the interfaces for time64 applications.


In the glibc code, I see

int
daemon (int nochdir, int noclose)
{
...
                if ((fd = __open_nocancel(_PATH_DEVNULL, O_RDWR, 0)) != -1
                    && (__builtin_expect (__fstat64 (fd, &st), 0)
                        == 0)) {
...
                             } else {
                        __close_nocancel_nostatus (fd);
                        return -1;
                }
     return (0);
}

__fstatat64 (int fd, const char *file, struct stat64 *buf, int flags)
{
  struct __stat64_t64 st_t64;
  return __fstatat64_time64 (fd, file, &st_t64, flags)
         ?: __cp_stat64_t64_stat64 (&st_t64, buf);
}

If I'm reading this correctly, daemon() internally uses the time32
version of 'stat', which
fails for files with out-of-range timestamps. Are you able to rebuild
the ssh binary
(or your entire distro, if that's easier) against musl-1.2.x instead
of glibc to see if the
same thing happens there?

       Arnd

> To reproduce:
>
> # date -s "2040-05-12"
> # hwclock --systohc
> # reboot
> # /usr/sbin/sshd
>
> Note this error occurs only after the reboot, and setting a date before 2038 also require a reboot to remove the error.
>
> strace and gdb trace linked.
>
> Let me know if you need additional information.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-05-31 13:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17  7:51 PROBLEM: with daemon.c after y2038 on 32-bits Kernel Arnaud Panaïotis
2022-05-30  7:03 ` Arnaud Panaïotis
2022-05-31  8:24 Arnd Bergmann
2022-05-31  8:33 ` Arnd Bergmann
2022-05-31 10:54   ` Adhemerval Zanella
2022-05-31 12:16     ` Arnaud Panaïotis
2022-05-31 13:02       ` Szabolcs Nagy
2022-05-31 13:24         ` Arnaud Panaïotis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).