Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

socket -server not accepting connection on Ubuntu/AWS

170 views
Skip to first unread message

Robert Karen

unread,
Feb 17, 2021, 4:16:02 PM2/17/21
to
I am porting a self-compiled tcl executable
to Ubuntu/AWS. It sources a script with socket -server to
accept connections from other
processes on the same server. However, the socket -server isn't accepting any connections. There is no error message on client nor on server side. When I try
socket -server from the installed tcl it works fine. (I can connect to it from another window via tcl command line opening a socket to that port).

Any idea what the problem could be?

If it makes a difference my original source code was compiled when using tcl 8.5 and now same source links with 8.6.

This is not run as root but is using port numbers > 25000.
Thanks for any ideas!

Harald Oehlmann

unread,
Feb 18, 2021, 2:56:26 AM2/18/21
to
Hi Robert,
I would check the firewall of the server.
Harald

Ralf Fassel

unread,
Feb 18, 2021, 4:22:48 AM2/18/21
to
* Robert Karen <robert....@gmail.com>
| I am porting a self-compiled tcl executable to Ubuntu/AWS. It sources
| a script with socket -server to accept connections from other
| processes on the same server. However, the socket -server isn't
| accepting any connections.

Are you sure that the "socket -server" code actually runs (i.e. printout
just before and after the statement)?

| There is no error message on client nor on server side.

IMHO at least the client should either show "connection refused" if the
socket is not open, or "connection timed out" if there is e.g. a
firewall issue...

| When I try socket -server from the installed tcl it works fine. (I can
| connect to it from another window via tcl command line opening a
| socket to that port).

Is this the same code as in your does-not-work-case above, or just wish
with manually typed "socket -server"?

Can you interactively start your executable an type "socket -server" there?

| Any idea what the problem could be?

As Harald pointed out, firewall would be the first suspect, but you
say that installed tcl 'works'...

| If it makes a difference my original source code was compiled when
| using tcl 8.5 and now same source links with 8.6.

Not sure if this combo is supported... Do you run with stubs or mean
tricks (symlink libtcl8.5.so to libtcl8.6.so)?
Gurus to the front ;-)

R'

Robert Karen

unread,
Feb 18, 2021, 9:45:16 AM2/18/21
to
I didn't combine 8.5 and 8.6. just took same source code that added new commands
and on old machine linked with 8.5 and on this machine linked to 8.6.

Yes I am able to run the program interactively, run a script to run socket -server
and try to connect from another window that is logged into same linux machine. it doesn't work.
I had earlier asked sysadmin and he claims the firewall is not affecting it since its all in
same server. I thought maybe something in 8.6 changed regarding socket. doesn't sound like it.
It seems other tcl commands work ok. just a problem
with the socket. I will go back to him to double check firewall. Thanks to both of you for answering.

Ralf Fassel

unread,
Feb 18, 2021, 10:19:58 AM2/18/21
to
* Robert Karen <robert....@gmail.com>
| Yes I am able to run the program interactively, run a script to run
| socket -server and try to connect from another window that is logged
| into same linux machine. it doesn't work.

You could check
lsof -iTCP -sTCP:LISTEN
to see whether the server socket is listed at all. If I go

tclsh% socket -server foobar 65432

% lsof -iTCP -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
wish 18361 ralf 7u IPv4 20662675 0t0 TCP *:65432 (LISTEN)
wish 18361 ralf 8u IPv6 20662676 0t0 TCP *:65432 (LISTEN)

If the socket is listed, you could use netcat (nc) to connect to it
instead of TCL.

Also there is /proc/net/tcp which seems to hold some information, too.

wireshark could be useful to see the TCP traffic once the client tries
to connect...

HTH & good luck!
R'

Rich

unread,
Feb 18, 2021, 10:30:52 AM2/18/21
to
Robert Karen <robert....@gmail.com> wrote:
> I am porting a self-compiled tcl executable to Ubuntu/AWS. It
> sources a script with socket -server to accept connections from other
> processes on the same server. However, the socket -server isn't
> accepting any connections.

I've not seen it mentioned in the other replies, but the "-server"
section of the socket manpage says this:

Server sockets depend on the Tcl event mechanism to find out
when new connections are opened. If the application does not
enter the event loop, for example by invoking the vwait command
or calling the C procedure Tcl_DoOneEvent, then no connections
will be accepted.

So, one more question: Are you entering the event loop?

Robert Karen

unread,
Feb 18, 2021, 3:02:22 PM2/18/21
to
yes, I am.

Robert Karen

unread,
Feb 18, 2021, 3:05:19 PM2/18/21
to
Thanks for those commands! lsof lists the socket similarly in the case where it
doesn't establish connection as when it does. nc is convenient. but it behaved as it did
when I connected via tcl console. no errors. just no connection. I will revisit firewall. thanks.

js

unread,
Feb 18, 2021, 7:13:20 PM2/18/21
to
On 2/17/21 4:16 PM, Robert Karen wrote:
> I am porting a self-compiled tcl executable
> to Ubuntu/AWS. It sources a script with socket -server to
> accept connections from other
> processes on the same server. However, the socket -server isn't accepting any connections. There is no error message on client nor on server side. When I try


Just my $.02 contribution and a grain of salt:
How are you obtaining the server's address? Are you sure AWS gives you
the same server address you expect? If you are not using a dedicated
server, AWS may give you a different IP each time.

Robert Karen

unread,
Feb 19, 2021, 1:44:48 PM2/19/21
to
I had a co-worker run strace on the socket server that was not working (my compiled program with tcl linked in) and
also on the socket server that is working from installed tcl, and diff them and it showed this: Note the lseek line that
doesn't fail for the problematics socket call:

The "<" lines are from the working run.
The ">" lines are from the non-working run.

< getsockname(3, {sa_family=AF_INET6, sin6_port=htons(55013), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
---
> getsockname(3, {sa_family=AF_INET6, sin6_port=htons(35039), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
452c600
< getsockname(3, {sa_family=AF_INET6, sin6_port=htons(59509), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
---
> getsockname(3, {sa_family=AF_INET6, sin6_port=htons(48478), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
471,472c619,621
< lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
< ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
---
> lseek(1, 0, SEEK_CUR) = 9998
> ioctl(1, TCGETS, 0x7ffe4c30a4c0) = -1 ENOTTY (Inappropriate ioctl for device)
> getsockname(1, 0x7ffe4c30a570, [16]) = -1 ENOTSOCK (Socket operation on non-socket)

I will attach portion of strace from the session where the socket doesn't work. Maybe a guru out there can explain the difference.
sorry about the length.

# strace /dbdev/6.x.x/tclserver /dbdev/home/robert/test2.tcl -o bad_run
execve("/dbdev/6.x.x/tclserver", ["/dbdev/6.x.x/tclserver", "/dbdev/home/robert/test2.tcl", "-o", "bad_run"], 0x7ffd8292ca98 /* 18 vars */) = 0
brk(NULL) = 0x55e199d47000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe4c30b110) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31920, ...}) = 0
mmap(NULL, 31920, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fddb648d000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\363\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1369352, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb648b000
mmap(NULL, 1368336, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb633c000
mmap(0x7fddb634b000, 684032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fddb634b000
mmap(0x7fddb63f2000, 618496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb6000) = 0x7fddb63f2000
mmap(0x7fddb6489000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14c000) = 0x7fddb6489000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@ \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=202760, ...}) = 0
mmap(NULL, 238280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb6301000
mmap(0x7fddb6303000, 86016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb6303000
mmap(0x7fddb6318000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fddb6318000
mmap(0x7fddb6332000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30000) = 0x7fddb6332000
mmap(0x7fddb6334000, 29384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb6334000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdb-5.3.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\20\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1760880, ...}) = 0
mmap(NULL, 1762760, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb6152000
mmap(0x7fddb6172000, 1318912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7fddb6172000
mmap(0x7fddb62b4000, 282624, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x162000) = 0x7fddb62b4000
mmap(0x7fddb62f9000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a6000) = 0x7fddb62f9000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\363\377?\332\200\270\27\304d\245n\355Y\377\t\334"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\363\377?\332\200\270\27\304d\245n\355Y\377\t\334"..., 68, 880) = 68
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5f60000
mprotect(0x7fddb5f85000, 1847296, PROT_NONE) = 0
mmap(0x7fddb5f85000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fddb5f85000
mmap(0x7fddb60fd000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7fddb60fd000
mmap(0x7fddb6148000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7fddb6148000
mmap(0x7fddb614e000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb614e000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtcl8.6.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260e\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1811280, ...}) = 0
mmap(NULL, 1817040, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5da4000
mmap(0x7fddb5dc9000, 1302528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fddb5dc9000
mmap(0x7fddb5f07000, 299008, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x163000) = 0x7fddb5f07000
mmap(0x7fddb5f50000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ab000) = 0x7fddb5f50000
mmap(0x7fddb5f5f000, 2512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5f5f000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpq.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\272\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=329864, ...}) = 0
mmap(NULL, 332352, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5d52000
mprotect(0x7fddb5d5c000, 278528, PROT_NONE) = 0
mmap(0x7fddb5d5c000, 147456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fddb5d5c000
mmap(0x7fddb5d80000, 126976, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2e000) = 0x7fddb5d80000
mmap(0x7fddb5da0000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4d000) = 0x7fddb5da0000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\201\0\0\0\0\0\0"..., 832) = 832
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0O\305\3743\364B\2216\244\224\306@\261\23\327o"..., 68, 824) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=157224, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb5d50000
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0O\305\3743\364B\2216\244\224\306@\261\23\327o"..., 68, 824) = 68
mmap(NULL, 140408, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5d2d000
mmap(0x7fddb5d34000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fddb5d34000
mmap(0x7fddb5d45000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fddb5d45000
mmap(0x7fddb5d4a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7fddb5d4a000
mmap(0x7fddb5d4c000, 13432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5d4c000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \22\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18816, ...}) = 0
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5d27000
mmap(0x7fddb5d28000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fddb5d28000
mmap(0x7fddb5d2a000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb5d2a000
mmap(0x7fddb5d2b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb5d2b000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=108936, ...}) = 0
mmap(NULL, 110776, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5d0b000
mprotect(0x7fddb5d0d000, 98304, PROT_NONE) = 0
mmap(0x7fddb5d0d000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb5d0d000
mmap(0x7fddb5d1e000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7fddb5d1e000
mmap(0x7fddb5d25000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0x7fddb5d25000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libssl.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\367\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=598104, ...}) = 0
mmap(NULL, 600368, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5c78000
mprotect(0x7fddb5c94000, 434176, PROT_NONE) = 0
mmap(0x7fddb5c94000, 323584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7fddb5c94000
mmap(0x7fddb5ce3000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6b000) = 0x7fddb5ce3000
mmap(0x7fddb5cfe000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x85000) = 0x7fddb5cfe000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\220\7\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=2954080, ...}) = 0
mmap(NULL, 2973600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb59a2000
mmap(0x7fddb5a1a000, 1683456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x78000) = 0x7fddb5a1a000
mmap(0x7fddb5bb5000, 593920, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x213000) = 0x7fddb5bb5000
mmap(0x7fddb5c46000, 188416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a3000) = 0x7fddb5c46000
mmap(0x7fddb5c74000, 16288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5c74000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\321\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=309712, ...}) = 0
mmap(NULL, 312128, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5955000
mmap(0x7fddb5960000, 204800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fddb5960000
mmap(0x7fddb5992000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3d000) = 0x7fddb5992000
mmap(0x7fddb599e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x48000) = 0x7fddb599e000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libldap_r-2.4.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\356\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=339472, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb5953000
mmap(NULL, 351048, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb58fd000
mprotect(0x7fddb590a000, 278528, PROT_NONE) = 0
mmap(0x7fddb590a000, 212992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7fddb590a000
mmap(0x7fddb593e000, 61440, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x41000) = 0x7fddb593e000
mmap(0x7fddb594e000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x50000) = 0x7fddb594e000
mmap(0x7fddb5951000, 6984, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5951000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 ?\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=902016, ...}) = 0
mmap(NULL, 904640, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5820000
mprotect(0x7fddb5842000, 700416, PROT_NONE) = 0
mmap(0x7fddb5842000, 397312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fddb5842000
mmap(0x7fddb58a3000, 299008, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x83000) = 0x7fddb58a3000
mmap(0x7fddb58ed000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcc000) = 0x7fddb58ed000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240D\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=191040, ...}) = 0
mmap(NULL, 196696, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb57ef000
mprotect(0x7fddb57f3000, 172032, PROT_NONE) = 0
mmap(0x7fddb57f3000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb57f3000
mmap(0x7fddb580f000, 53248, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7fddb580f000
mmap(0x7fddb581d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2d000) = 0x7fddb581d000
mmap(0x7fddb581f000, 88, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb581f000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200$\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22600, ...}) = 0
mmap(NULL, 24744, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb57e8000
mmap(0x7fddb57ea000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb57ea000
mmap(0x7fddb57ec000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb57ec000
mmap(0x7fddb57ed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb57ed000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3605\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=56096, ...}) = 0
mmap(NULL, 58344, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb57d9000
mmap(0x7fddb57dc000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb57dc000
mmap(0x7fddb57e3000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fddb57e3000
mmap(0x7fddb57e6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7fddb57e6000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/liblber-2.4.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3003\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=63888, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb57d7000
mmap(NULL, 66024, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb57c6000
mprotect(0x7fddb57c9000, 49152, PROT_NONE) = 0
mmap(0x7fddb57c9000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb57c9000
mmap(0x7fddb57d1000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fddb57d1000
mmap(0x7fddb57d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7fddb57d5000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 G\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=101320, ...}) = 0
mmap(NULL, 113280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb57aa000
mprotect(0x7fddb57ae000, 81920, PROT_NONE) = 0
mmap(0x7fddb57ae000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb57ae000
mmap(0x7fddb57be000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7fddb57be000
mmap(0x7fddb57c2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fddb57c2000
mmap(0x7fddb57c4000, 6784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb57c4000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libsasl2.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2008\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=113552, ...}) = 0
mmap(NULL, 115688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb578d000
mmap(0x7fddb5790000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb5790000
mmap(0x7fddb57a2000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7fddb57a2000
mmap(0x7fddb57a8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7fddb57a8000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgssapi.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \367\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=278160, ...}) = 0
mmap(NULL, 280472, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5748000
mmap(0x7fddb5755000, 167936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7fddb5755000
mmap(0x7fddb577e000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0x7fddb577e000
mmap(0x7fddb5789000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x40000) = 0x7fddb5789000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgnutls.so.30", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\4\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1914336, ...}) = 0
mmap(NULL, 1922664, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5572000
mprotect(0x7fddb55a1000, 1654784, PROT_NONE) = 0
mmap(0x7fddb55a1000, 1187840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f000) = 0x7fddb55a1000
mmap(0x7fddb56c3000, 462848, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x151000) = 0x7fddb56c3000
mmap(0x7fddb5735000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c2000) = 0x7fddb5735000
mmap(0x7fddb5746000, 5736, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5746000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22600, ...}) = 0
mmap(NULL, 24592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb556b000
mmap(0x7fddb556d000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb556d000
mmap(0x7fddb556f000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb556f000
mmap(0x7fddb5570000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fddb5570000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb5569000
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libheimntlm.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`6\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=43712, ...}) = 0
mmap(NULL, 45648, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb555d000
mprotect(0x7fddb5560000, 28672, PROT_NONE) = 0
mmap(0x7fddb5560000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb5560000
mmap(0x7fddb5564000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fddb5564000
mmap(0x7fddb5567000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7fddb5567000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkrb5.so.26", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\363\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=594104, ...}) = 0
mmap(NULL, 598928, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb54ca000
mmap(0x7fddb54e5000, 331776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7fddb54e5000
mmap(0x7fddb5536000, 131072, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6c000) = 0x7fddb5536000
mmap(0x7fddb5556000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8b000) = 0x7fddb5556000
mmap(0x7fddb555c000, 912, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb555c000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libasn1.so.8", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\243\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=678240, ...}) = 0
mmap(NULL, 680176, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5423000
mprotect(0x7fddb543d000, 561152, PROT_NONE) = 0
mmap(0x7fddb543d000, 438272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7fddb543d000
mmap(0x7fddb54a8000, 118784, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x85000) = 0x7fddb54a8000
mmap(0x7fddb54c6000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa2000) = 0x7fddb54c6000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libhcrypto.so.4", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 z\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=221816, ...}) = 0
mmap(NULL, 227944, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb53eb000
mmap(0x7fddb53f2000, 126976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fddb53f2000
mmap(0x7fddb5411000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7fddb5411000
mmap(0x7fddb541f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x33000) = 0x7fddb541f000
mmap(0x7fddb5422000, 2664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb5422000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libroken.so.18", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200`\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=97024, ...}) = 0
mmap(NULL, 99376, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb53d2000
mprotect(0x7fddb53d7000, 73728, PROT_NONE) = 0
mmap(0x7fddb53d7000, 53248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7fddb53d7000
mmap(0x7fddb53e4000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7fddb53e4000
mmap(0x7fddb53e9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fddb53e9000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libp11-kit.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\273\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1265624, ...}) = 0
mmap(NULL, 1268992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb529c000
mmap(0x7fddb52c7000, 630784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7fddb52c7000
mmap(0x7fddb5361000, 376832, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc5000) = 0x7fddb5361000
mmap(0x7fddb53bd000, 86016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x120000) = 0x7fddb53bd000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb529a000
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libidn2.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240$\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=129096, ...}) = 0
mmap(NULL, 131096, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb5279000
mprotect(0x7fddb527b000, 118784, PROT_NONE) = 0
mmap(0x7fddb527b000, 20480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb527b000
mmap(0x7fddb5280000, 94208, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fddb5280000
mmap(0x7fddb5298000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0x7fddb5298000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libunistring.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\10\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1575112, ...}) = 0
mmap(NULL, 1579272, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb50f7000
mprotect(0x7fddb5107000, 1499136, PROT_NONE) = 0
mmap(0x7fddb5107000, 221184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7fddb5107000
mmap(0x7fddb513d000, 1273856, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x46000) = 0x7fddb513d000
mmap(0x7fddb5275000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17d000) = 0x7fddb5275000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtasn1.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2404\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=84120, ...}) = 0
mmap(NULL, 86568, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb50e1000
mprotect(0x7fddb50e4000, 69632, PROT_NONE) = 0
mmap(0x7fddb50e4000, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb50e4000
mmap(0x7fddb50f0000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fddb50f0000
mmap(0x7fddb50f5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7fddb50f5000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnettle.so.7", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\220\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=231592, ...}) = 0
mmap(NULL, 233592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb50a7000
mmap(0x7fddb50b0000, 122880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7fddb50b0000
mmap(0x7fddb50ce000, 65536, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7fddb50ce000
mmap(0x7fddb50de000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0x7fddb50de000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libhogweed.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 v\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=224072, ...}) = 0
mmap(NULL, 226072, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb506f000
mmap(0x7fddb5076000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fddb5076000
mmap(0x7fddb5087000, 122880, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fddb5087000
mmap(0x7fddb50a5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x35000) = 0x7fddb50a5000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\242\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=534880, ...}) = 0
mmap(NULL, 537024, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4feb000
mprotect(0x7fddb4ff5000, 491520, PROT_NONE) = 0
mmap(0x7fddb4ff5000, 393216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fddb4ff5000
mmap(0x7fddb5055000, 94208, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6a000) = 0x7fddb5055000
mmap(0x7fddb506d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81000) = 0x7fddb506d000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libwind.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=166040, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb4fe9000
mmap(NULL, 167984, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4fbf000
mmap(0x7fddb4fc0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fddb4fc0000
mmap(0x7fddb4fc2000, 151552, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb4fc2000
mmap(0x7fddb4fe7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7fddb4fe7000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libheimbase.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3605\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=68752, ...}) = 0
mmap(NULL, 71896, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4fad000
mmap(0x7fddb4fb0000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb4fb0000
mmap(0x7fddb4fb9000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7fddb4fb9000
mmap(0x7fddb4fbd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fddb4fbd000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libhx509.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340/\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=313336, ...}) = 0
mmap(NULL, 316456, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4f5f000
mmap(0x7fddb4f6f000, 167936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7fddb4f6f000
mmap(0x7fddb4f98000, 65536, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x39000) = 0x7fddb4f98000
mmap(0x7fddb4fa8000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x48000) = 0x7fddb4fa8000
mmap(0x7fddb4fac000, 1064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb4fac000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libsqlite3.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\346\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1212216, ...}) = 0
mmap(NULL, 1216056, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4e36000
mprotect(0x7fddb4e44000, 1134592, PROT_NONE) = 0
mmap(0x7fddb4e44000, 917504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7fddb4e44000
mmap(0x7fddb4f24000, 212992, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xee000) = 0x7fddb4f24000
mmap(0x7fddb4f59000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x122000) = 0x7fddb4f59000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libffi.so.7", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=43416, ...}) = 0
mmap(NULL, 46632, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4e2a000
mprotect(0x7fddb4e2c000, 32768, PROT_NONE) = 0
mmap(0x7fddb4e2c000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fddb4e2c000
mmap(0x7fddb4e32000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7fddb4e32000
mmap(0x7fddb4e34000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7fddb4e34000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb4e28000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb4e26000
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddb4e23000
arch_prctl(ARCH_SET_FS, 0x7fddb4e23980) = 0
mprotect(0x7fddb6148000, 12288, PROT_READ) = 0
mprotect(0x7fddb4e34000, 4096, PROT_READ) = 0
mprotect(0x7fddb6489000, 4096, PROT_READ) = 0
mprotect(0x7fddb5d4a000, 4096, PROT_READ) = 0
mprotect(0x7fddb5d2b000, 4096, PROT_READ) = 0
mprotect(0x7fddb4f59000, 12288, PROT_READ) = 0
mprotect(0x7fddb57ed000, 4096, PROT_READ) = 0
mprotect(0x7fddb57c2000, 4096, PROT_READ) = 0
mprotect(0x7fddb6332000, 4096, PROT_READ) = 0
mprotect(0x7fddb53e9000, 4096, PROT_READ) = 0
mprotect(0x7fddb54c6000, 4096, PROT_READ) = 0
mprotect(0x7fddb4fbd000, 4096, PROT_READ) = 0
mprotect(0x7fddb541f000, 8192, PROT_READ) = 0
mprotect(0x7fddb4fe7000, 4096, PROT_READ) = 0
mprotect(0x7fddb4fa8000, 12288, PROT_READ) = 0
mprotect(0x7fddb506d000, 4096, PROT_READ) = 0
mprotect(0x7fddb50de000, 8192, PROT_READ) = 0
mprotect(0x7fddb50a5000, 4096, PROT_READ) = 0
mprotect(0x7fddb50f5000, 4096, PROT_READ) = 0
mprotect(0x7fddb5275000, 12288, PROT_READ) = 0
mprotect(0x7fddb5298000, 4096, PROT_READ) = 0
mprotect(0x7fddb53bd000, 45056, PROT_READ) = 0
mprotect(0x7fddb5556000, 16384, PROT_READ) = 0
mprotect(0x7fddb5567000, 4096, PROT_READ) = 0
mprotect(0x7fddb5570000, 4096, PROT_READ) = 0
mprotect(0x7fddb5735000, 61440, PROT_READ) = 0
mprotect(0x7fddb5789000, 8192, PROT_READ) = 0
mprotect(0x7fddb57a8000, 4096, PROT_READ) = 0
mprotect(0x7fddb57d5000, 4096, PROT_READ) = 0
mprotect(0x7fddb57e6000, 4096, PROT_READ) = 0
mprotect(0x7fddb581d000, 4096, PROT_READ) = 0
mprotect(0x7fddb58ed000, 57344, PROT_READ) = 0
mprotect(0x7fddb594e000, 8192, PROT_READ) = 0
mprotect(0x7fddb599e000, 8192, PROT_READ) = 0
mprotect(0x7fddb5c46000, 180224, PROT_READ) = 0
mprotect(0x7fddb5cfe000, 36864, PROT_READ) = 0
mprotect(0x7fddb5d25000, 4096, PROT_READ) = 0
mprotect(0x7fddb5da0000, 12288, PROT_READ) = 0
mprotect(0x7fddb5f50000, 57344, PROT_READ) = 0
mprotect(0x7fddb62f9000, 28672, PROT_READ) = 0
mprotect(0x55e199816000, 4096, PROT_READ) = 0
mprotect(0x7fddb64c2000, 4096, PROT_READ) = 0
munmap(0x7fddb648d000, 31920) = 0
set_tid_address(0x7fddb4e23c50) = 425366
set_robust_list(0x7fddb4e23c60, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fddb5d34bf0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fddb5d423c0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fddb5d34c90, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fddb5d423c0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL) = 0x55e199d47000
brk(0x55e199d68000) = 0x55e199d68000
getrandom("\x5c", 1, GRND_NONBLOCK) = 1
stat("/etc/gnutls/config", 0x7ffe4c30b070) = -1 ENOENT (No such file or directory)
setsid() = 425366
rt_sigaction(SIGHUP, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [HUP], [], 8) = 0
rt_sigaction(SIGILL, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ILL], [], 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [QUIT], [], 8) = 0
rt_sigaction(SIGTRAP, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [TRAP], [], 8) = 0
rt_sigaction(SIGABRT, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], [], 8) = 0
rt_sigaction(SIGFPE, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [FPE], [], 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [SEGV], [], 8) = 0
rt_sigaction(SIGABRT, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], [], 8) = 0
rt_sigaction(SIGBUS, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [BUS], [], 8) = 0
rt_sigaction(SIGSYS, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [SYS], [], 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0x55e1994fa061, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], [], 8) = 0
rt_sigaction(SIGUSR2, {sa_handler=0x55e1994c4fa2, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR2], [], 8) = 0
openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"..., 4096) = 118
lseek(3, -62, SEEK_CUR) = 56
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"..., 4096) = 62
close(3) = 0
openat(AT_FDCWD, "/log/tclserver.INTERACTIVE_TCL", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
lseek(3, 0, SEEK_END) = 9517
dup3(3, 1, 0) = 1
close(3) = 0
fstat(1, {st_mode=S_IFREG|0660, st_size=9517, ...}) = 0
write(1, "<>------------------- START ----"..., 96) = 96
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(1, "18:19:31:g_client_support_login_"..., 41) = 41
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(1, "18:19:31:tcl_main_argv[0] = /dbd"..., 85) = 85
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(1, "18:19:31:tcl_main_argv[1] = /dbd"..., 97) = 97
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(1, "18:19:31:tcl_main_argv[2] = "..., 81) = 81
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(1, "18:19:31:tcl_main_argv[3] = "..., 81) = 81
lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
lseek(1, 0, SEEK_CUR) = 9998
lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fddb5fa6210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=3035952, ...}) = 0
mmap(NULL, 3035952, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fddb4b3d000
close(3) = 0
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2996, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2996
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/usr/lib/locale/C.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=201272, ...}) = 0
mmap(NULL, 201272, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fddb4b0b000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=27002, ...}) = 0
mmap(NULL, 27002, PROT_READ, MAP_SHARED, 3, 0) = 0x7fddb648e000
close(3) = 0
futex(0x7fddb614d634, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0x55e199d8b000) = 0x55e199d8b000
brk(0x55e199dac000) = 0x55e199dac000
uname({sysname="Linux", nodename="lin-load", ...}) = 0
getuid() = 0
brk(0x55e199dd0000) = 0x55e199dd0000
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=510, ...}) = 0
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 510
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31920, ...}) = 0
mmap(NULL, 31920, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fddb4b03000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3005\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51832, ...}) = 0
mmap(NULL, 79672, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddb4aef000
mmap(0x7fddb4af2000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddb4af2000
mmap(0x7fddb4af9000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fddb4af9000
mmap(0x7fddb4afb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fddb4afb000
mmap(0x7fddb4afd000, 22328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddb4afd000
close(3) = 0
mprotect(0x7fddb4afb000, 4096, PROT_READ) = 0
munmap(0x7fddb4b03000, 31920) = 0
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
lseek(3, 0, SEEK_CUR) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=2360, ...}) = 0
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2360
close(3) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/tcltk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/tcltk/tcl8.6", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
access("/usr/share/tcltk/tcl8.6/init.tcl", F_OK) = 0
stat("/usr/share/tcltk/tcl8.6/init.tcl", {st_mode=S_IFREG|0644, st_size=24509, ...}) = 0
openat(AT_FDCWD, "/usr/share/tcltk/tcl8.6/init.tcl", O_RDONLY) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
ioctl(3, TCGETS, 0x7ffe4c30a710) = -1 ENOTTY (Inappropriate ioctl for device)
read(3, "# init.tcl --\n#\n# Default system"..., 4096) = 4096
brk(0x55e199df3000) = 0x55e199df3000
read(3, "cmd.exe\n\t }\n\t}\n\tInitWinEnv\n "..., 4096) = 4096
read(3, "l\"\n\t\tif {$errInfo eq $expect} {\n"..., 4096) = 4096
read(3, " - must be\n# "..., 4096) = 4096
read(3, "bar\n\t return [list $cmd]\n\t} e"..., 4096) = 4096
read(3, "\t if {[info exists checked($d"..., 4096) = 4029
read(3, "", 4096) = 0
close(3) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/tcltk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/tcltk/tcl8.6", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/usr/share/tcltk/tcl8.6/encoding", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/tcltk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/dbdev", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
lstat("/dbdev/home", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat("/dbdev/home/robert", {st_mode=S_IFDIR|0771, st_size=4096, ...}) = 0
stat("/dbdev/home/robert/test2.tcl", {st_mode=S_IFREG|0640, st_size=774, ...}) = 0
openat(AT_FDCWD, "/dbdev/home/robert/test2.tcl", O_RDONLY) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
ioctl(3, TCGETS, 0x7ffe4c30a8d0) = -1 ENOTTY (Inappropriate ioctl for device)
brk(0x55e199e15000) = 0x55e199e15000
read(3, "proc serverAccept {sock addr por"..., 4096) = 774
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/gai.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2584, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=2584, ...}) = 0
read(3, "# Configuration for getaddrinfo("..., 4096) = 2584
read(3, "", 4096) = 0
close(3) = 0
futex(0x7fddb614f2a4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3
bind(3, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, nl_pid=425366, nl_groups=00000000}, [12]) = 0
sendto(3, {{len=20, type=RTM_GETADDR, flags=NLM_F_REQUEST|NLM_F_DUMP, seq=1613758771, pid=0}, {ifa_family=AF_UNSPEC, ...}}, 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20
recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=76, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1613758771, pid=425366}, {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=192, tstamp=192}}]}, {{len=88, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1613758771, pid=425366}, {ifa_family=AF_INET, ifa_prefixlen=20, ifa_flags=0, ifa_scope=RT_SCOPE_UNIVERSE, ifa_index=if_nametoindex("eth0")}, [{{nla_len=8, nla_type=IFA_ADDRESS}, inet_addr("172.31.10.141")}, {{nla_len=8, nla_type=IFA_LOCAL}, inet_addr("172.31.10.141")}, {{nla_len=8, nla_type=IFA_BROADCAST}, inet_addr("172.31.15.255")}, {{nla_len=9, nla_type=IFA_LABEL}, "eth0"}, {{nla_len=8, nla_type=IFA_FLAGS}, 0}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=3458, ifa_valid=3458, cstamp=584, tstamp=256231564}}]}], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 164
recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=72, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1613758771, pid=425366}, {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=192, tstamp=192}}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}]}, {{len=72, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1613758771, pid=425366}, {ifa_family=AF_INET6, ifa_prefixlen=64, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_LINK, ifa_index=if_nametoindex("eth0")}, [{{nla_len=20, nla_type=IFA_ADDRESS}, inet_pton(AF_INET6, "fe80::fd:7aff:fefc:527a")}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=584, tstamp=584}}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}]}], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 144
recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=1613758771, pid=425366}, 0}, iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20
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
close(3) = 0
socket(AF_INET6, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET6, sin6_port=htons(26052), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::", &sin6_addr), sin6_scope_id=0}, 28) = 0
getsockname(3, {sa_family=AF_INET6, sin6_port=htons(35039), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
connect(3, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(26052), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getsockname(3, {sa_family=AF_INET6, sin6_port=htons(48478), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_scope_id=0}, [28]) = 0
close(3) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
getsockopt(3, SOL_SOCKET, SO_SNDBUF, [16384], [4]) = 0
getsockopt(3, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(26052), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(3, 4096) = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) = 4
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
getsockopt(4, SOL_SOCKET, SO_SNDBUF, [16384], [4]) = 0
getsockopt(4, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
bind(4, {sa_family=AF_INET6, sin6_port=htons(26052), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::", &sin6_addr), sin6_scope_id=0}, 28) = 0
listen(4, 4096) = 0
lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
lseek(1, 0, SEEK_CUR) = 9998
ioctl(1, TCGETS, 0x7ffe4c30a4c0) = -1 ENOTTY (Inappropriate ioctl for device)
getsockname(1, 0x7ffe4c30a570, [16]) = -1 ENOTSOCK (Socket operation on non-socket)
lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "opening socket server on port 26"..., 36) = 36
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fddb42ee000
mprotect(0x7fddb42ef000, 8388608, PROT_READ|PROT_WRITE) = 0
^Cstrace: Process 425366 detached




Ralf Fassel

unread,
Feb 22, 2021, 5:18:24 AM2/22/21
to
* Robert Karen <robert....@gmail.com>
| I had a co-worker run strace on the socket server that was not working
| (my compiled program with tcl linked in) and also on the socket server
| that is working from installed tcl, and diff them and it showed this:
| Note the lseek line that doesn't fail for the problematics socket
| call:
>
| The "<" lines are from the working run.
| The ">" lines are from the non-working run.
>
| < lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
| < ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
| ---
| > lseek(1, 0, SEEK_CUR) = 9998
| > ioctl(1, TCGETS, 0x7ffe4c30a4c0) = -1 ENOTTY (Inappropriate ioctl for device)

fd 1 is usually stdout, so there is a difference between your program
and installed tcl with regard to this. If you redirect stdout of your
program to say "| cat", does that change anything? (I can't imagine
however how stdout would affect sockets...)

Though I'm not a 'guru', the rest of the strace seems ok to me (opening
IP4 and IP6 socket w/o errors at the end). Would be interesting to see
the strace for the working connection in comparison, though.

R'

Rich

unread,
Feb 22, 2021, 12:05:09 PM2/22/21
to
Ralf Fassel <ral...@gmx.de> wrote:
> * Robert Karen <robert....@gmail.com>
> > I had a co-worker run strace on the socket server that was not
> > working (my compiled program with tcl linked in) and also on the
> > socket server that is working from installed tcl, and diff them and
> > it showed this: Note the lseek line that doesn't fail for the
> > problematics socket call:
>>
> > The "<" lines are from the working run.
> > The ">" lines are from the non-working run.
>>
> > < lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
> > < ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
> > ---
> > > lseek(1, 0, SEEK_CUR) = 9998
> > > ioctl(1, TCGETS, 0x7ffe4c30a4c0) = -1 ENOTTY (Inappropriate ioctl for device)
>
> fd 1 is usually stdout, so there is a difference between your program
> and installed tcl with regard to this.

That is interesting. Is it possible that some bit of C code somewhere
is closing stdout (which will result in reuse of fd 1 for another open
file.

> If you redirect stdout of your program to say "| cat", does that
> change anything? (I can't imagine however how stdout would affect
> sockets...)

Redirection would not change the fact that fd 1 is stdout, it simply
changes what connects to the other end of fd 1 (instead of, usually, a
terminal it instead is another program's stdin).

But yes, the stdio file descriptors should not normally impact sockets,
at least on a reasonably posix compatible system, as sockets end up in
a different 'namespace' at the C level.

Tcl does, however, mix both together at the Tcl level, so strange
goings on with stdin/stdout/stderr in C code might cause an overlap
situation to occur at the Tcl level when they get mixed together.

Uwe Klein

unread,
Feb 22, 2021, 12:37:04 PM2/22/21
to
Am 22.02.21 um 18:05 schrieb Rich:
strange console/no console thing ( looks like windows strangeness.)??

just a guess.

Uwe

Robert Karen

unread,
Feb 22, 2021, 3:18:46 PM2/22/21
to
Thanks to you and others for the idea! I found these lines in the c code that somehow mess up the socket.
when I commented out these lines that redirect stderr, the socket server worked.
This is old code originally from Solaris' UNIX. Maybe I have to close stderr and open it again?

void tclserver_open_log( char *login )
{
time_t currentTime;
char file_nm[ 80 ];
char *timeptr;

currentTime = time(NULL);
timeptr = ctime(&currentTime);
sprintf( file_nm, "/log/tclserver.%s", login );

if( freopen( file_nm, "a", stdout ) == NULL)perror("Log File");
/*
*stderr = *stdout;

fprintf( stderr, "<>------------------- START --------------------<>\n" );
fprintf( stderr, "started logging at: %s", timeptr);
fflush( stderr );
*/
}

Robert Karen

unread,
Feb 22, 2021, 4:49:20 PM2/22/21
to
replacing
*stderr = *stdout
with this seems to work.
dup2(fileno(stdout), fileno(stderr));

Rich

unread,
Feb 22, 2021, 5:46:06 PM2/22/21
to
Robert Karen <robert....@gmail.com> wrote:
> On Monday, 22 February 2021 at 15:18:46 UTC-5, Robert Karen wrote:
>> On Monday, 22 February 2021 at 12:05:09 UTC-5, Rich wrote:
>> > Ralf Fassel <ral...@gmx.de> wrote:
>> > > fd 1 is usually stdout, so there is a difference between your program
>> > > and installed tcl with regard to this.
>> > That is interesting. Is it possible that some bit of C code somewhere
>> > is closing stdout (which will result in reuse of fd 1 for another open
>> > file.
>> >
>> > Tcl does, however, mix both together at the Tcl level, so strange
>> > goings on with stdin/stdout/stderr in C code might cause an
>> > overlap situation to occur at the Tcl level when they get mixed
>> > together.
>> Thanks to you and others for the idea! I found these lines in the c
>> code that somehow mess up the socket. when I commented out these
>> lines that redirect stderr, the socket server worked. This is old
>> code originally from Solaris' UNIX.
>>
>> void tclserver_open_log( char *login )
>> {
>> if( freopen( file_nm, "a", stdout ) == NULL)perror("Log File");
>> /*
>> *stderr = *stdout;

Yes, this is not the proper, modern, way to make stderr be a copy of
stdout. This is a very old, and now quite crusty, way to do this.

> replacing
> *stderr = *stdout
> with this seems to work.
> dup2(fileno(stdout), fileno(stderr));

Using one of the dup()'s is the proper modern way, so this should
hopefully now work for you correctly.
0 new messages