Debian Bug report logs - #895718
libqt5core5a: Requires Linux kernel 3.17.0 or newer

version graph

Package: libqt5core5a; Maintainer for libqt5core5a is Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>; Source for libqt5core5a is src:qtbase-opensource-src (PTS, buildd, popcon).

Affects: jenkins.debian.org

Reported by: Scott Kitterman <debian@kitterman.com>

Date: Sun, 15 Apr 2018 05:03:01 UTC

Severity: normal

Merged with 902118, 964064

Found in version qtbase-opensource-src/5.10.1+dfsg-5

Done: zhao feng <zhaofengshu33@gmail.com>

Bug is archived. No further changes may be made.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Sun, 15 Apr 2018 05:03:04 GMT) (full text, mbox, link).


Acknowledgement sent to Scott Kitterman <debian@kitterman.com>:
New Bug report received and forwarded. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Sun, 15 Apr 2018 05:03:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Scott Kitterman <debian@kitterman.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: python-pyqt5: import PyQt5.QtCore fails
Date: Sun, 15 Apr 2018 00:59:12 -0400
Package: python-pyqt5
Version: 5.9.2+dfsg-1
Severity: grave
Justification: renders package unusable

Tried this on sid with both pyqt5 5.9.2 and 5.10.1:

Unpacking python-pyqt5 (5.10.1+dfsg-1) over (5.9.2+dfsg-1+b1) ...
Setting up python-pyqt5 (5.10.1+dfsg-1) ...
# python
Python 2.7.14+ (default, Apr  2 2018, 04:16:25)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory
>>>

I checked and libQt5Core.so.5 is installed at the expected location:

# ls -l /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
lrwxrwxrwx 1 root root 20 Apr  7 19:35 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 -> libQt5Core.so.5.10.1

# ls -l /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.10.1
-rw-r--r-- 1 root root 5224752 Apr  7 19:35 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.10.1

The same thing happenson python3 too:

Python 3.6.5 (default, Apr  1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory

Scott K



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Sun, 15 Apr 2018 10:30:02 GMT) (full text, mbox, link).


Acknowledgement sent to Dmitry Shachnev <mitya57@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Sun, 15 Apr 2018 10:30:02 GMT) (full text, mbox, link).


Message #10 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Dmitry Shachnev <mitya57@debian.org>
To: Scott Kitterman <debian@kitterman.com>, 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Sun, 15 Apr 2018 13:26:50 +0300
[Message part 1 (text/plain, inline)]
Control: tags -1 unreproducible

On Sun, Apr 15, 2018 at 12:59:12AM -0400, Scott Kitterman wrote:
> Tried this on sid with both pyqt5 5.9.2 and 5.10.1:
>
> Unpacking python-pyqt5 (5.10.1+dfsg-1) over (5.9.2+dfsg-1+b1) ...
> Setting up python-pyqt5 (5.10.1+dfsg-1) ...
> # python
> Python 2.7.14+ (default, Apr  2 2018, 04:16:25)
> [GCC 7.3.0] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import PyQt5.QtCore
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory

Works for me in a clean sid chroot.

Can it be that you had a PyQt5 installation from PyPI which would conflict
with the distro package?

If not, please check strace output and look which libQt5Core.so.5 it tries
to load.

--
Dmitry Shachnev
[signature.asc (application/pgp-signature, inline)]

Added tag(s) unreproducible. Request was from Dmitry Shachnev <mitya57@debian.org> to 895718-submit@bugs.debian.org. (Sun, 15 Apr 2018 10:30:02 GMT) (full text, mbox, link).


Reply sent to Dmitry Shachnev <mitya57@debian.org>:
You have taken responsibility. (Wed, 18 Apr 2018 09:51:06 GMT) (full text, mbox, link).


Notification sent to Scott Kitterman <debian@kitterman.com>:
Bug acknowledged by developer. (Wed, 18 Apr 2018 09:51:06 GMT) (full text, mbox, link).


Message #17 received at 895718-close@bugs.debian.org (full text, mbox, reply):

From: Dmitry Shachnev <mitya57@debian.org>
To: 895718-close@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Wed, 18 Apr 2018 12:48:27 +0300
[Message part 1 (text/plain, inline)]
On Sun, Apr 15, 2018 at 01:26:50PM +0300, Dmitry Shachnev wrote:
> Works for me in a clean sid chroot.

The CI tests for pyqt5 are also passing [1], so I am closing this bug.

[1]: https://ci.debian.net/packages/p/pyqt5/unstable/amd64/

--
Dmitry Shachnev
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Mon, 23 Apr 2018 22:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Jürgen E. Fischer <jef@norbit.de>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Mon, 23 Apr 2018 22:57:03 GMT) (full text, mbox, link).


Message #22 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Jürgen E. Fischer <jef@norbit.de>
To: Dmitry Shachnev <mitya57@debian.org>
Cc: Scott Kitterman <debian@kitterman.com>, 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Tue, 24 Apr 2018 00:34:53 +0200
[Message part 1 (text/plain, inline)]
Hi,

On Sun, 15. Apr 2018 at 13:26:50 +0300, Dmitry Shachnev wrote:
> Control: tags -1 unreproducible
> 
> On Sun, Apr 15, 2018 at 12:59:12AM -0400, Scott Kitterman wrote:
> > Tried this on sid with both pyqt5 5.9.2 and 5.10.1:
> >
> > Unpacking python-pyqt5 (5.10.1+dfsg-1) over (5.9.2+dfsg-1+b1) ...
> > Setting up python-pyqt5 (5.10.1+dfsg-1) ...
> > # python
> > Python 2.7.14+ (default, Apr  2 2018, 04:16:25)
> > [GCC 7.3.0] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> import PyQt5.QtCore
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> > ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory
> 
> Works for me in a clean sid chroot.
> 
> Can it be that you had a PyQt5 installation from PyPI which would conflict
> with the distro package?
> 
> If not, please check strace output and look which libQt5Core.so.5 it tries
> to load.

I'm hitting this too - in a cowbuilder running in docker.

jef@qgis:~$ docker exec -it 2fcadc4ab376 bash

root@qgis:/# cowbuilder --login --basepath /var/cache/pbuilder/buster-i386.cow
[...]
root@qgis:/# apt-get update && apt-get -y install python3-pyqt5 strace && strace -o /tmp/log python3
[...]
Python 3.6.5rc1 (default, Mar 14 2018, 06:54:23) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory
>>> quit()

root@qgis:/# grep libQt5Core.so /tmp/log | grep -v ENOENT

openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
write(2, "ImportError: libQt5Core.so.5: ca"..., 88) = 88

root@qgis:/# cat /tmp/log

execve("/usr/bin/python3", ["python3"], 0xffe31a08 /* 25 vars */) = 0
brk(NULL)                               = 0x8cc2000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf771d000
openat(AT_FDCWD, "/usr/lib/cowdancer/libcowdancer.so", O_RDONLY|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 \23\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=21764, ...}) = 0
mmap2(NULL, 24664, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7716000
mmap2(0xf771b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xf771b000
close(3)                                = 0
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
fstat64(3, {st_mode=S_IFREG|0644, st_size=21538, ...}) = 0
mmap2(NULL, 21538, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7710000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libpthread.so.0", O_RDONLY|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\300P\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=140408, ...}) = 0
mmap2(NULL, 123544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76f1000
mmap2(0xf770c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0xf770c000
mmap2(0xf770e000, 4760, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf770e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libdl.so.2", O_RDONLY|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\320\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13828, ...}) = 0
mmap2(NULL, 16500, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76ec000
mmap2(0xf76ef000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xf76ef000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libutil.so.1", O_RDONLY|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`\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9796, ...}) = 0
mmap2(NULL, 12424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76e8000
mmap2(0xf76ea000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xf76ea000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libexpat.so.1", O_RDONLY|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\0000 \0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=198060, ...}) = 0
mmap2(NULL, 200784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76b6000
mmap2(0xf76e5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2e000) = 0xf76e5000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libz.so.1", O_RDONLY|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\320\30\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=104128, ...}) = 0
mmap2(NULL, 106752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf769b000
mmap2(0xf76b4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xf76b4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libm.so.6", O_RDONLY|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\220\225\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1050144, ...}) = 0
mmap2(NULL, 1052776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7599000
mmap2(0xf7699000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xff000) = 0xf7699000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libc.so.6", O_RDONLY|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\0\220\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1926828, ...}) = 0
mmap2(NULL, 1935900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf73c0000
mprotect(0xf7592000, 4096, PROT_NONE)   = 0
mmap2(0xf7593000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d2000) = 0xf7593000
mmap2(0xf7596000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7596000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libncurses.so.5", O_RDONLY|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`P\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=152896, ...}) = 0
mmap2(NULL, 156088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7399000
mprotect(0xf73bd000, 4096, PROT_NONE)   = 0
mmap2(0xf73be000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0xf73be000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libtinfo.so.5", O_RDONLY|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`c\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=141172, ...}) = 0
mmap2(NULL, 145100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7375000
mprotect(0xf7395000, 4096, PROT_NONE)   = 0
mmap2(0xf7396000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0xf7396000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7373000
set_thread_area({entry_number=-1, base_addr=0xf7374a00, limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=1, seg_not_present=0, useable=1}) = 0 (entry_number=12)
mprotect(0xf7593000, 8192, PROT_READ)   = 0
mprotect(0xf7396000, 8192, PROT_READ)   = 0
mprotect(0xf76ef000, 4096, PROT_READ)   = 0
mprotect(0xf73be000, 4096, PROT_READ)   = 0
mprotect(0xf7699000, 4096, PROT_READ)   = 0
mprotect(0xf76b4000, 4096, PROT_READ)   = 0
mprotect(0xf76e5000, 8192, PROT_READ)   = 0
mprotect(0xf76ea000, 4096, PROT_READ)   = 0
mprotect(0xf770c000, 4096, PROT_READ)   = 0
mprotect(0xf771b000, 4096, PROT_READ)   = 0
mprotect(0x8446000, 4096, PROT_READ)    = 0
mprotect(0xf7746000, 4096, PROT_READ)   = 0
munmap(0xf7710000, 21538)               = 0
set_tid_address(0xf7374a68)             = 19149
set_robust_list(0xf7374a70, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xf76f5af0, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xf76f5b80, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sysname="Linux", nodename="qgis.org", ...}) = 0
futex(0xf76f004c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(NULL)                               = 0x8cc2000
brk(0x8ce3000)                          = 0x8ce3000
brk(0x8ce4000)                          = 0x8ce4000
openat(AT_FDCWD, "/.ilist", O_RDONLY)   = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=141412, ...}) = 0
mmap2(NULL, 141412, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7350000
close(3)                                = 0
sched_yield()                           = 0
getrandom(0x84e62e0, 24, GRND_NONBLOCK) = -1 ENOSYS (Function not implemented)
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
read(3, "\232\217U\303\242_t\3461F\30\323MY\225\370\v\233\304n\341\317\223\370", 24) = 24
close(3)                                = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7310000
fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 15), ...}) = 0
stat64("/usr/local/sbin/python3", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/local/bin/python3", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/sbin/python3", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/python3", {st_mode=S_IFREG|0755, st_size=4702336, ...}) = 0
readlink("/usr/bin/python3", "python3.6", 4096) = 9
readlink("/usr/bin/python3.6", 0xffa07dfc, 4096) = -1 EINVAL (Invalid argument)
openat(AT_FDCWD, "/usr/bin/pyvenv.cfg", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/pyvenv.cfg", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/Modules/Setup", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python3.6/os.py", 0xffa08dbc) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python3.6/os.pyc", 0xffa08dbc) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6/os.py", {st_mode=S_IFREG|0644, st_size=37526, ...}) = 0
stat64("/usr/bin/pybuilddir.txt", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python3.6/lib-dynload", 0xffa08e6c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf72d0000
munmap(0xf72d0000, 262144)              = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf72d0000
munmap(0xf72d0000, 262144)              = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf72d0000
munmap(0xf72d0000, 262144)              = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1524522353, tv_nsec=842561609}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=101266316, tv_nsec=810122714}) = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf72d0000
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7290000
munmap(0xf7290000, 262144)              = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7290000
sysinfo({uptime=101266317, loads=[859392, 632000, 570400], totalram=8219552, freeram=1301599, sharedram=0, bufferram=170394, totalswap=4194303, freeswap=4128098, procs=4176, totalhigh=0, freehigh=0, mem_unit=4096}) = 0
sigaltstack({ss_sp=0x8ccff10, ss_flags=0, ss_size=8192}, {ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}) = 0
stat64("/usr/lib/python36.zip", 0xffa1a0fc) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python36.zip", 0xffa19b6c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
brk(0x8d0a000)                          = 0x8d0a000
getdents64(3, /* 202 entries */, 32768) = 6720
getdents64(3, /* 0 entries */, 32768)   = 0
brk(0x8d02000)                          = 0x8d02000
close(3)                                = 0
stat64("/usr/lib/python3.6/encodings/__init__.cpython-36m-i386-linux-gnu.so", 0xffa19e0c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6/encodings/__init__.abi3.so", 0xffa19e0c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6/encodings/__init__.so", 0xffa19e0c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6/encodings/__init__.py", {st_mode=S_IFREG|0644, st_size=5642, ...}) = 0
stat64("/usr/lib/python3.6/encodings/__init__.py", {st_mode=S_IFREG|0644, st_size=5642, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings/__pycache__/__init__.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3930, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3930, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\n\26\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0@\0\0"..., 3931) = 3930
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/codecs.py", {st_mode=S_IFREG|0644, st_size=36276, ...}) = 0
stat64("/usr/lib/python3.6/codecs.py", {st_mode=S_IFREG|0644, st_size=36276, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/codecs.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=33900, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=33900, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\264\215\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0:\0\0\0@\0\0"..., 33901) = 33900
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 128 entries */, 32768) = 4336
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3.6/encodings/aliases.py", {st_mode=S_IFREG|0644, st_size=15577, ...}) = 0
stat64("/usr/lib/python3.6/encodings/aliases.py", {st_mode=S_IFREG|0644, st_size=15577, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings/__pycache__/aliases.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=6274, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=6274, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\331<\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0D\1\0\0@\0\0"..., 6275) = 6274
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/encodings/ascii.py", {st_mode=S_IFREG|0644, st_size=1248, ...}) = 0
stat64("/usr/lib/python3.6/encodings/ascii.py", {st_mode=S_IFREG|0644, st_size=1248, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings/__pycache__/ascii.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1862, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=1862, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\340\4\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0@\0\0"..., 1863) = 1862
read(3, "", 1)                          = 0
close(3)                                = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGXFSZ, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
getpid()                                = 19149
rt_sigaction(SIGHUP, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTRAP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGABRT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGBUS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGFPE, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGKILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGUSR1, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGSEGV, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGUSR2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGSTKFLT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCONT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGSTOP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTSTP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTIN, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTOU, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGURG, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGXCPU, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGXFSZ, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGVTALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPROF, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGWINCH, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGIO, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPWR, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGSYS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_3, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_4, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_5, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_6, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_7, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_8, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_9, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_10, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_11, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_12, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_13, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_14, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_15, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_16, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_17, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_18, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_19, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_20, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_21, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_22, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_23, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_24, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_25, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_26, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_27, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_28, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_29, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_30, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_31, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_32, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x8086500, sa_mask=[], sa_flags=0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/encodings/utf_8.py", {st_mode=S_IFREG|0644, st_size=1005, ...}) = 0
stat64("/usr/lib/python3.6/encodings/utf_8.py", {st_mode=S_IFREG|0644, st_size=1005, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings/__pycache__/utf_8.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1592, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=1592, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\355\3\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0@\0\0"..., 1593) = 1592
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/encodings/latin_1.py", {st_mode=S_IFREG|0644, st_size=1264, ...}) = 0
stat64("/usr/lib/python3.6/encodings/latin_1.py", {st_mode=S_IFREG|0644, st_size=1264, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/encodings/__pycache__/latin_1.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1874, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=1874, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\360\4\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0@\0\0"..., 1875) = 1874
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/io.py", {st_mode=S_IFREG|0644, st_size=3517, ...}) = 0
stat64("/usr/lib/python3.6/io.py", {st_mode=S_IFREG|0644, st_size=3517, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/io.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3387, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3387, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\275\r\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0@\0\0"..., 3388) = 3387
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/abc.py", {st_mode=S_IFREG|0644, st_size=8727, ...}) = 0
stat64("/usr/lib/python3.6/abc.py", {st_mode=S_IFREG|0644, st_size=8727, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/abc.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=7515, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=7515, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\27\"\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0@\0\0"..., 7516) = 7515
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/_weakrefset.py", {st_mode=S_IFREG|0644, st_size=5705, ...}) = 0
stat64("/usr/lib/python3.6/_weakrefset.py", {st_mode=S_IFREG|0644, st_size=5705, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/_weakrefset.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=7828, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=7828, ...}) = 0
read(3, "3\r\r\n\37\307\250ZI\26\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0@\0\0"..., 7829) = 7828
read(3, "", 1)                          = 0
close(3)                                = 0
dup(0)                                  = 3
close(3)                                = 0
fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 15), ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(0, 0, 0xffa1ab80, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(0, 0, 0xffa1ac30, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
dup(1)                                  = 3
close(3)                                = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 15), ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(1, 0, 0xffa1ab80, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(1, 0, 0xffa1ac30, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
dup(2)                                  = 3
close(3)                                = 0
fstat64(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 15), ...}) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(2, 0, 0xffa1ab80, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
_llseek(2, 0, 0xffa1ac30, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/site.py", {st_mode=S_IFREG|0644, st_size=21440, ...}) = 0
stat64("/usr/lib/python3.6/site.py", {st_mode=S_IFREG|0644, st_size=21440, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/site.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=16298, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=16298, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\300S\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0@\0\0"..., 16299) = 16298
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/os.py", {st_mode=S_IFREG|0644, st_size=37526, ...}) = 0
stat64("/usr/lib/python3.6/os.py", {st_mode=S_IFREG|0644, st_size=37526, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/os.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=29628, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=29628, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\226\222\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0000\0\0\0@\0\0"..., 29629) = 29628
read(3, "", 1)                          = 0
close(3)                                = 0
brk(0x8d24000)                          = 0x8d24000
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7250000
brk(0x8d16000)                          = 0x8d16000
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/stat.py", {st_mode=S_IFREG|0644, st_size=5038, ...}) = 0
stat64("/usr/lib/python3.6/stat.py", {st_mode=S_IFREG|0644, st_size=5038, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/stat.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3851, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3851, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\256\23\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\r\0\0\0@\0\0"..., 3852) = 3851
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/posixpath.py", {st_mode=S_IFREG|0644, st_size=15414, ...}) = 0
stat64("/usr/lib/python3.6/posixpath.py", {st_mode=S_IFREG|0644, st_size=15414, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/posixpath.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=10389, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=10389, ...}) = 0
read(3, "3\r\r\n\37\307\250Z6<\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0&\0\0\0@\0\0"..., 10390) = 10389
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/genericpath.py", {st_mode=S_IFREG|0644, st_size=4756, ...}) = 0
stat64("/usr/lib/python3.6/genericpath.py", {st_mode=S_IFREG|0644, st_size=4756, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/genericpath.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3726, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3726, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\224\22\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\v\0\0\0@\0\0"..., 3727) = 3726
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/_collections_abc.py", {st_mode=S_IFREG|0644, st_size=26392, ...}) = 0
stat64("/usr/lib/python3.6/_collections_abc.py", {st_mode=S_IFREG|0644, st_size=26392, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/_collections_abc.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=28797, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=28797, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\30g\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\31\0\0\0@\0\0"..., 28798) = 28797
read(3, "", 1)                          = 0
close(3)                                = 0
brk(0x8d3b000)                          = 0x8d3b000
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/_sitebuiltins.py", {st_mode=S_IFREG|0644, st_size=3115, ...}) = 0
stat64("/usr/lib/python3.6/_sitebuiltins.py", {st_mode=S_IFREG|0644, st_size=3115, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/_sitebuiltins.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3435, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3435, ...}) = 0
read(3, "3\r\r\n\37\307\250Z+\f\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0@\0\0"..., 3436) = 3435
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/bin/pyvenv.cfg", 0xffa19d4c) = -1 ENOENT (No such file or directory)
stat64("/usr/pyvenv.cfg", 0xffa19d4c)   = -1 ENOENT (No such file or directory)
geteuid32()                             = 0
getuid32()                              = 0
getegid32()                             = 0
getgid32()                              = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/sysconfig.py", {st_mode=S_IFREG|0644, st_size=25057, ...}) = 0
stat64("/usr/lib/python3.6/sysconfig.py", {st_mode=S_IFREG|0644, st_size=25057, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/sysconfig.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=15916, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=15916, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\341a\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\r\0\0\0@\0\0"..., 15917) = 15916
read(3, "", 1)                          = 0
close(3)                                = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/bin", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
lstat64("/usr/bin/python3", {st_mode=S_IFLNK|0777, st_size=9, ...}) = 0
readlink("/usr/bin/python3", "python3.6", 4096) = 9
lstat64("/usr/bin/python3.6", {st_mode=S_IFREG|0755, st_size=4702336, ...}) = 0
stat64("/usr/bin/Modules/Setup.dist", 0xffa18f1c) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/Modules/Setup.local", 0xffa18f1c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/_sysconfigdata_m_linux_i386-linux-gnu.py", {st_mode=S_IFREG|0644, st_size=22654, ...}) = 0
stat64("/usr/lib/python3.6/_sysconfigdata_m_linux_i386-linux-gnu.py", {st_mode=S_IFREG|0644, st_size=22654, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/_sysconfigdata_m_linux_i386-linux-gnu.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=19148, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=19148, ...}) = 0
read(3, "3\r\r\n\37\307\250Z~X\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\204\2\0\0@\0\0"..., 19149) = 19148
read(3, "", 1)                          = 0
close(3)                                = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7210000
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
lstat64("/usr/lib/python3.6/config-3.6m-i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/root/.local/lib/python3.6/site-packages", 0xffa19f0c) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/local/lib/python3.6/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
getdents64(3, /* 2 entries */, 32768)   = 48
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 9 entries */, 32768)   = 304
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3.6/dist-packages", 0xffa19e9c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/sitecustomize.py", {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
stat64("/usr/lib/python3.6/sitecustomize.py", {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/sitecustomize.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=212, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=212, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\233\0\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\v\0\0\0@\0\0"..., 213) = 212
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/lib-dynload", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 41 entries */, 32768)  = 2496
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/local/lib/python3.6/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
getdents64(3, /* 2 entries */, 32768)   = 48
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 9 entries */, 32768)   = 304
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
write(2, "Python 3.6.5rc1 (default, Mar 14"..., 71) = 71
write(2, "Type \"help\", \"copyright\", \"credi"..., 71) = 71
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
getcwd("/", 1024)                       = 2
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 21 entries */, 32768)  = 520
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload/readline.cpython-36m-i386-linux-gnu.so", {st_mode=S_IFREG|0644, st_size=30304, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/lib-dynload/readline.cpython-36m-i386-linux-gnu.so", O_RDONLY|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\34\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30304, ...}) = 0
mmap2(NULL, 33096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7207000
mmap2(0xf720d000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0xf720d000
close(3)                                = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21538, ...}) = 0
mmap2(NULL, 21538, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7710000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libreadline.so.7", O_RDONLY|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\200\330\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=292332, ...}) = 0
mmap2(NULL, 299752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf71bd000
mprotect(0xf7200000, 4096, PROT_NONE)   = 0
mmap2(0xf7201000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x43000) = 0xf7201000
mmap2(0xf7206000, 744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7206000
close(3)                                = 0
mprotect(0xf7201000, 4096, PROT_READ)   = 0
mprotect(0xf720d000, 4096, PROT_READ)   = 0
munmap(0xf7710000, 21538)               = 0
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat64("/root/.terminfo", 0x8cdb5a0)    = -1 ENOENT (No such file or directory)
stat64("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/share/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
time(NULL)                              = 1524522353 (2018-04-23T22:25:53+0000)
access("/etc/terminfo/d/dumb", R_OK)    = -1 ENOENT (No such file or directory)
access("/lib/terminfo/d/dumb", R_OK)    = 0
openat(AT_FDCWD, "/lib/terminfo/d/dumb", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=308, ...}) = 0
read(3, "\32\1\30\0\2\0\1\0\202\0\10\0dumb|80-column dumb "..., 4096) = 308
read(3, "", 4096)                       = 0
close(3)                                = 0
time(NULL)                              = 1524522353 (2018-04-23T22:25:53+0000)
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TIOCSWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat64("/root/.inputrc", 0xffa1a37c)    = -1 ENOENT (No such file or directory)
stat64("/etc/inputrc", {st_mode=S_IFREG|0644, st_size=1748, ...}) = 0
openat(AT_FDCWD, "/etc/inputrc", O_RDONLY|O_LARGEFILE) = 3
read(3, "# /etc/inputrc - global inputrc "..., 1748) = 1748
close(3)                                = 0
getcwd("/", 1024)                       = 2
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/rlcompleter.py", {st_mode=S_IFREG|0644, st_size=7097, ...}) = 0
stat64("/usr/lib/python3.6/rlcompleter.py", {st_mode=S_IFREG|0644, st_size=7097, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3.6/__pycache__/rlcompleter.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=5780, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=5780, ...}) = 0
read(3, "3\r\r\n\37\307\250Z\271\33\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\v\0\0\0@\0\0"..., 5781) = 5780
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/etc/inputrc", {st_mode=S_IFREG|0644, st_size=1748, ...}) = 0
openat(AT_FDCWD, "/etc/inputrc", O_RDONLY|O_LARGEFILE) = 3
read(3, "# /etc/inputrc - global inputrc "..., 1748) = 1748
close(3)                                = 0
openat(AT_FDCWD, "/root/.python_history", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TIOCSWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 15), ...}) = 0
write(1, ">>> ", 4)                     = 4
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "i", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "i", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "m", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "m", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "p", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "p", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "o", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "o", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "r", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "r", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "t", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "t", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, " ", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, " ", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "P", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "P", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "y", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "y", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "Q", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "Q", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "t", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "t", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "5", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "5", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, ".", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, ".", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "Q", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "Q", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "t", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "t", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "C", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "C", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "o", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "o", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "r", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "r", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "e", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "e", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "\r", 1)                        = 1
write(1, "\n", 1)                       = 1
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
time(NULL)                              = 1524522359 (2018-04-23T22:25:59+0000)
getcwd("/", 1024)                       = 2
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3.6", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/python3.6/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local/lib/python3.6/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages/PyQt5/__init__.cpython-36m-i386-linux-gnu.so", 0xffa197dc) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3/dist-packages/PyQt5/__init__.abi3.so", 0xffa197dc) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3/dist-packages/PyQt5/__init__.so", 0xffa197dc) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python3/dist-packages/PyQt5/__init__.py", {st_mode=S_IFREG|0644, st_size=826, ...}) = 0
stat64("/usr/lib/python3/dist-packages/PyQt5/__init__.py", {st_mode=S_IFREG|0644, st_size=826, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3/dist-packages/PyQt5/__pycache__/__init__.cpython-36.pyc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
_llseek(3, 0, [0], SEEK_CUR)            = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
read(3, "3\r\r\n^6\225Z:\3\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0@\0\0"..., 132) = 131
read(3, "", 1)                          = 0
close(3)                                = 0
stat64("/usr/lib/python3/dist-packages/PyQt5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages/PyQt5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/python3/dist-packages/PyQt5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3/dist-packages/PyQt5", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
brk(0x8d60000)                          = 0x8d60000
getdents64(3, /* 26 entries */, 32768)  = 1136
getdents64(3, /* 0 entries */, 32768)   = 0
brk(0x8d58000)                          = 0x8d58000
close(3)                                = 0
stat64("/usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-36m-i386-linux-gnu.so", {st_mode=S_IFREG|0644, st_size=2950916, ...}) = 0
openat(AT_FDCWD, "/usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-36m-i386-linux-gnu.so", O_RDONLY|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\260w\5\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=2950916, ...}) = 0
mmap2(NULL, 2955560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6eeb000
mmap2(0xf7170000, 315392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x284000) = 0xf7170000
close(3)                                = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21538, ...}) = 0
mmap2(NULL, 21538, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7710000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/i686", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/i686", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls/i686", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/i686", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5", O_RDONLY|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\320\300\7\0004\0\0\0"..., 512) = 512
_llseek(3, 4632980, [4632980], SEEK_SET) = 0
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\21\0\0\0\0\0\0\0", 32) = 32
close(3)                                = 0
stat64("/usr/lib/i386-linux-gnu/sse2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libQt5Core.so.5", O_RDONLY|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\0p\273\7\0004\0\0\0"..., 512) = 512
_llseek(3, 4550868, [4550868], SEEK_SET) = 0
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\21\0\0\0\0\0\0\0", 32) = 32
close(3)                                = 0
stat64("/usr/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
openat(AT_FDCWD, "/lib/tls/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xffa19810)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xffa19810)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xffa19810)          = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xffa19810)    = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xffa19810)         = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xffa19810)         = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/tls/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xffa19810)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", 0xffa19810) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", 0xffa19810)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/sse2/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", 0xffa19810)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
munmap(0xf7710000, 21538)               = 0
munmap(0xf6eeb000, 2955560)             = 0
write(2, "Traceback (most recent call last"..., 35) = 35
write(2, "  File \"<stdin>\", line 1, in <mo"..., 38) = 38
openat(AT_FDCWD, "<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/python36.zip/<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/python3.6/<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/python3.6/lib-dynload/<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/python3.6/dist-packages/<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/python3/dist-packages/<stdin>", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "ImportError: libQt5Core.so.5: ca"..., 88) = 88
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TIOCSWINSZ, {ws_row=47, ws_col=182, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
write(1, ">>> ", 4)                     = 4
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "q", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "q", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "u", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "u", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "i", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "i", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "t", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "t", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "(", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, "(", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, ")", 1)                         = 1
_newselect(1, [0], NULL, [0], {tv_sec=0, tv_usec=0}) = 0 (Timeout)
write(1, ")", 1)                        = 1
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
_newselect(1, [0], NULL, NULL, NULL)    = 1 (in [0])
rt_sigaction(SIGWINCH, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "\r", 1)                        = 1
write(1, "\n", 1)                       = 1
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
rt_sigaction(SIGWINCH, {sa_handler=0xf7208dc0, sa_mask=[], sa_flags=0}, {sa_handler=0xf71e0d90, sa_mask=[], sa_flags=SA_RESTART}, 8) = 0
time(NULL)                              = 1524522362 (2018-04-23T22:26:02+0000)
stat64("/root/.python_history", 0xffa1ad6c) = -1 ENOENT (No such file or directory)
lstat64("/root/.python_history", 0xffa1aacc) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/root/.python_history", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0600) = 3
write(3, "import PyQt5.QtCore\nquit()\n", 27) = 27
close(3)                                = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, {sa_handler=0x8086500, sa_mask=[], sa_flags=0}, 8) = 0
sigaltstack(NULL, {ss_sp=0x8ccff10, ss_flags=0, ss_size=8192}) = 0
sigaltstack({ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}, NULL) = 0
exit_group(0)                           = ?
+++ exited with 0 +++

-- 
Jürgen E. Fischer         norBIT GmbH               Tel. +49-4931-918175-31
Dipl.-Inf. (FH)           Rheinstraße 13            Fax. +49-4931-918175-50
Software Engineer         D-26506 Norden               http://www.norbit.de
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Sun, 29 Apr 2018 22:24:02 GMT) (full text, mbox, link).


Acknowledgement sent to Scott Kitterman <debian@kitterman.com>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Sun, 29 Apr 2018 22:24:02 GMT) (full text, mbox, link).


Message #27 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Scott Kitterman <debian@kitterman.com>
To: 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Sun, 29 Apr 2018 18:21:57 -0400
[Message part 1 (text/plain, inline)]
On Wed, 18 Apr 2018 12:48:27 +0300 Dmitry Shachnev <mitya57@debian.org> wrote:
> On Sun, Apr 15, 2018 at 01:26:50PM +0300, Dmitry Shachnev wrote:
> > Works for me in a clean sid chroot.
> 
> The CI tests for pyqt5 are also passing [1], so I am closing this bug.
> 
> [1]: https://ci.debian.net/packages/p/pyqt5/unstable/amd64/

I've reopened this at a normal priority since it seems to reliably happen in a 
pbuilder/cowbuilder chroot environment (I hit it again today), but nowhere 
else.

Scott K
[signature.asc (application/pgp-signature, inline)]

Bug reopened Request was from Scott Kitterman <scott@kitterman.com> to control@bugs.debian.org. (Sun, 29 Apr 2018 22:24:03 GMT) (full text, mbox, link).


Severity set to 'normal' from 'grave' Request was from Scott Kitterman <scott@kitterman.com> to control@bugs.debian.org. (Sun, 29 Apr 2018 22:24:04 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Mon, 30 Apr 2018 17:39:03 GMT) (full text, mbox, link).


Acknowledgement sent to Scott Kitterman <debian@kitterman.com>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Mon, 30 Apr 2018 17:39:03 GMT) (full text, mbox, link).


Message #36 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Scott Kitterman <debian@kitterman.com>
To: 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 30 Apr 2018 13:37:05 -0400
As requested on IRC:

ldd /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-36m-x86_64-linux-
gnu.so
        linux-vdso.so.1 (0x00007fff9cba2000)
        libQt5Core.so.5 => not found
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
(0x00007f6ac1f6c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6ac1bb2000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6ac181f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6ac27c7000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x00007f6ac1607000)



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Mon, 30 Apr 2018 18:27:05 GMT) (full text, mbox, link).


Acknowledgement sent to Scott Kitterman <debian@kitterman.com>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Mon, 30 Apr 2018 18:27:05 GMT) (full text, mbox, link).


Message #41 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Scott Kitterman <debian@kitterman.com>
To: 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 30 Apr 2018 14:23:52 -0400
On Mon, 30 Apr 2018 13:37:05 -0400 Scott Kitterman <debian@kitterman.com> 
wrote:
> As requested on IRC:

ldd /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
        linux-vdso.so.1 (0x00007ffffa3ec000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007f3f1a263000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3f1a045000)
        libicui18n.so.57 => /usr/lib/x86_64-linux-gnu/libicui18n.so.57 
(0x00007f3f19bd1000)
        libicuuc.so.57 => /usr/lib/x86_64-linux-gnu/libicuuc.so.57 
(0x00007f3f1982c000)
        libpcre2-16.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-16.so.0 
(0x00007f3f195b5000)
        libdouble-conversion.so.1 => /usr/lib/x86_64-linux-gnu/libdouble-
conversion.so.1 (0x00007f3f193a4000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3f191a0000)
        libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 
(0x00007f3f18e8a000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
(0x00007f3f18b09000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3f18776000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x00007f3f1855e000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f181a4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3f1ab80000)
        libicudata.so.57 => /usr/lib/x86_64-linux-gnu/libicudata.so.57 
(0x00007f3f16727000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 
(0x00007f3f164b5000)



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Mon, 30 Apr 2018 19:21:03 GMT) (full text, mbox, link).


Acknowledgement sent to Scott Kitterman <debian@kitterman.com>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Mon, 30 Apr 2018 19:21:03 GMT) (full text, mbox, link).


Message #46 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Scott Kitterman <debian@kitterman.com>
To: 895718@bugs.debian.org
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 30 Apr 2018 15:18:44 -0400
[Message part 1 (text/plain, inline)]
Requested amd64 strace for the failure.

Scott K
[pyqt5.amd64.strace (text/plain, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>:
Bug#895718; Package python-pyqt5. (Mon, 14 May 2018 11:30:03 GMT) (full text, mbox, link).


Acknowledgement sent to Dmitry Shachnev <mitya57@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>. (Mon, 14 May 2018 11:30:03 GMT) (full text, mbox, link).


Message #51 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Dmitry Shachnev <mitya57@debian.org>
To: 895718@bugs.debian.org, Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Cc: Mattia Rizzolo <mattia@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 14:26:55 +0300
[Message part 1 (text/plain, inline)]
Control: reassign -1 libqt5core5a 5.10.1+dfsg-5
Control: retitle -1 libqt5core5a: Requires Linux kernel 3.17.0 or newer

On Sun, Apr 29, 2018 at 06:21:57PM -0400, Scott Kitterman wrote:
> I've reopened this at a normal priority since it seems to reliably happen in a
> pbuilder/cowbuilder chroot environment (I hit it again today), but nowhere
> else.

We discussed this on #debian-reproducible today and finally found the reason:
Qt 5.10 started using the getrandom(2) syscall which was introduced in Linux
3.17.

However Debian oldstable (jessie) has 3.16 and it seems some people are still
running this as a host kernel. Mattia (CCed) says he cannot use newer kernels
because of bug #876035.

We can build Qt without the “getentropy” feature and that would lower the
required kernel version to 3.16:
https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/minimum-linux_p.h#n64

Lisandro, what is your opinion on this?

--
Dmitry Shachnev
[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package 'python-pyqt5' to 'libqt5core5a'. Request was from Dmitry Shachnev <mitya57@debian.org> to 895718-submit@bugs.debian.org. (Mon, 14 May 2018 11:30:03 GMT) (full text, mbox, link).


No longer marked as found in versions pyqt5/5.9.2+dfsg-1. Request was from Dmitry Shachnev <mitya57@debian.org> to 895718-submit@bugs.debian.org. (Mon, 14 May 2018 11:30:03 GMT) (full text, mbox, link).


Marked as found in versions qtbase-opensource-src/5.10.1+dfsg-5. Request was from Dmitry Shachnev <mitya57@debian.org> to 895718-submit@bugs.debian.org. (Mon, 14 May 2018 11:30:04 GMT) (full text, mbox, link).


Changed Bug title to 'libqt5core5a: Requires Linux kernel 3.17.0 or newer' from 'python-pyqt5: import PyQt5.QtCore fails'. Request was from Dmitry Shachnev <mitya57@debian.org> to 895718-submit@bugs.debian.org. (Mon, 14 May 2018 11:30:05 GMT) (full text, mbox, link).


Removed tag(s) unreproducible. Request was from Dmitry Shachnev <mitya57@debian.org> to control@bugs.debian.org. (Mon, 14 May 2018 11:33:04 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 13:45:06 GMT) (full text, mbox, link).


Acknowledgement sent to Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 13:45:06 GMT) (full text, mbox, link).


Message #66 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
To: Dmitry Shachnev <mitya57@debian.org>
Cc: 895718@bugs.debian.org, Mattia Rizzolo <mattia@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 10:41:47 -0300
[Message part 1 (text/plain, inline)]
Hi everyone!

El lunes, 14 de mayo de 2018 08:26:55 -03 Dmitry Shachnev escribió:
> Control: reassign -1 libqt5core5a 5.10.1+dfsg-5
> Control: retitle -1 libqt5core5a: Requires Linux kernel 3.17.0 or newer
> 
> On Sun, Apr 29, 2018 at 06:21:57PM -0400, Scott Kitterman wrote:
> > I've reopened this at a normal priority since it seems to reliably happen
> > in a pbuilder/cowbuilder chroot environment (I hit it again today), but
> > nowhere else.
> 
> We discussed this on #debian-reproducible today and finally found the
> reason: Qt 5.10 started using the getrandom(2) syscall which was introduced
> in Linux 3.17.
> 
> However Debian oldstable (jessie) has 3.16 and it seems some people are
> still running this as a host kernel. Mattia (CCed) says he cannot use newer
> kernels because of bug #876035.
> 
> We can build Qt without the “getentropy” feature and that would lower the
> required kernel version to 3.16:
> https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/minimum-linux_
> p.h#n64
> 
> Lisandro, what is your opinion on this?

Let me try to sum up the info.

= On the reproducible side:
- Ben Hutchings marked #876035 as minor
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876035#16>
I do not understand the rationale but he is the kernel maintainer so I'll 
simply trust him here.

- They are using oldstable, which is clearly something we do not intend to 
support with Qt 5.10. With our maintainer hat on: of course if there is 
something we can do the better, but within some limits, like what upstream 
expects.

= On the Qt side:
- With an upstream maintainer hat on: Qt 5.10 is not meant for oldstable. 
People wanting to run Qt 5.10 on those system must modify whatever is 
necessary.

- We do not know the impact we create by disabling the getentropy feature. And 
normally that stuff is related to criptography. Believe me I don't want to 
mess with that.

So in my point of view, without any further data, it's a non-go.

Regards, Lisandro.

-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 14:21:03 GMT) (full text, mbox, link).


Message #69 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Mattia Rizzolo <mattia@debian.org>
To: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Cc: Dmitry Shachnev <mitya57@debian.org>, 895718@bugs.debian.org, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 16:17:37 +0200
[Message part 1 (text/plain, inline)]
On Mon, May 14, 2018 at 10:41:47AM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> = On the reproducible side:
> - Ben Hutchings marked #876035 as minor
> <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876035#16>
> I do not understand the rationale but he is the kernel maintainer so I'll
> simply trust him here.

The rationale is that this is a very uncommon configuration (an i386
with loads of RAM).

> - They are using oldstable, which is clearly something we do not intend to
> support with Qt 5.10. With our maintainer hat on: of course if there is
> something we can do the better, but within some limits, like what upstream
> expects.

*we are not using oldstable*, at least not in the way I understand your
sentence.
That Qt 5.10 is running in regular unstable chroots.
We are simply using a tad older kernel from second-last LTS release.

Consider that glibc currently requires Linux 3.2.

> - We do not know the impact we create by disabling the getentropy feature. And
> normally that stuff is related to criptography. Believe me I don't want to
> mess with that.

That's my fear as well indeed :(
What do you recomend to look at to discover what uses that feature?

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 14:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 14:57:03 GMT) (full text, mbox, link).


Message #74 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
To: Mattia Rizzolo <mattia@debian.org>
Cc: Dmitry Shachnev <mitya57@debian.org>, 895718@bugs.debian.org, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 11:56:05 -0300
[Message part 1 (text/plain, inline)]
El lunes, 14 de mayo de 2018 11:17:37 -03 Mattia Rizzolo escribió:
> On Mon, May 14, 2018 at 10:41:47AM -0300, Lisandro Damián Nicanor Pérez 
Meyer wrote:
> > = On the reproducible side:
> > - Ben Hutchings marked #876035 as minor
> > <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876035#16>
> > I do not understand the rationale but he is the kernel maintainer so I'll
> > simply trust him here.
> 
> The rationale is that this is a very uncommon configuration (an i386
> with loads of RAM).
> 
> > - They are using oldstable, which is clearly something we do not intend to
> > support with Qt 5.10. With our maintainer hat on: of course if there is
> > something we can do the better, but within some limits, like what upstream
> > expects.
> 
> *we are not using oldstable*, at least not in the way I understand your
> sentence.
> That Qt 5.10 is running in regular unstable chroots.
> We are simply using a tad older kernel from second-last LTS release.

Sorry, I wasn't clear enough: yes, I was actually expecting that. Still and 
oldstable kernel, so not a target for Qt 5.10 I'm afraid.

> Consider that glibc currently requires Linux 3.2.

But Qt requires a newer kernel it seems.

> > - We do not know the impact we create by disabling the getentropy feature.
> > And normally that stuff is related to criptography. Believe me I don't
> > want to mess with that.
> 
> That's my fear as well indeed :(
> What do you recomend to look at to discover what uses that feature?

Contacting upstream, specially whoever did the code:

  development@qt-project.org

Might require subscription though.

-- 
firmaware: soft cuya licencia pagas enviando un autografo
  StucKman en #grulic, irc.freenode.net

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 15:03:06 GMT) (full text, mbox, link).


Acknowledgement sent to Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 15:03:06 GMT) (full text, mbox, link).


Message #79 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
To: Mattia Rizzolo <mattia@debian.org>
Cc: Dmitry Shachnev <mitya57@debian.org>, 895718@bugs.debian.org, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 11:58:29 -0300
[Message part 1 (text/plain, inline)]
El lunes, 14 de mayo de 2018 11:56:05 -03 Lisandro Damián Nicanor Pérez Meyer 
escribió:
[snip] 
> > > - We do not know the impact we create by disabling the getentropy
> > > feature.
> > > And normally that stuff is related to criptography. Believe me I don't
> > > want to mess with that.
> > 
> > That's my fear as well indeed :(
> > What do you recomend to look at to discover what uses that feature?

On the other hand: should we deprive unstable/testing users of this feature 
just for a check that it's currently running on an oldstable kernel?

I strongly think we should not.


-- 
Una sola bomba nuclear puede arruinar el resto de tu día.

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 16:45:05 GMT) (full text, mbox, link).


Acknowledgement sent to Dmitry Shachnev <mitya57@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 16:45:05 GMT) (full text, mbox, link).


Message #84 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Dmitry Shachnev <mitya57@debian.org>
To: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Cc: 895718@bugs.debian.org, Mattia Rizzolo <mattia@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 19:43:18 +0300
[Message part 1 (text/plain, inline)]
On Mon, May 14, 2018 at 10:41:47AM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> = On the Qt side:
> - With an upstream maintainer hat on: Qt 5.10 is not meant for oldstable.
> People wanting to run Qt 5.10 on those system must modify whatever is
> necessary.

OK. This is an understandable point.

> - We do not know the impact we create by disabling the getentropy feature. And 
> normally that stuff is related to criptography. Believe me I don't want to 
> mess with that.

If we disable it, Qt will fall back to reading /dev/urandom directly.

As I understand, it will be a bit less secure because it is vulnerable
to file descriptor exhaustion attacks, and also a bit slower. But on the
other hand, it is a traditional interface for getting randomness, and the
majority of software probably still uses it.

See for details:

- https://lwn.net/Articles/606141/
- https://git.kernel.org/linus/c6e9d6f38894798696f23c8084ca7edbf16ee895
- https://code.qt.io/cgit/qt/qtbase.git/commit/?id=120ecc976fc3d550

--
Dmitry Shachnev
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 16:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 16:57:03 GMT) (full text, mbox, link).


Message #89 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
To: Dmitry Shachnev <mitya57@debian.org>
Cc: 895718@bugs.debian.org, Mattia Rizzolo <mattia@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 13:55:55 -0300
[Message part 1 (text/plain, inline)]
El lunes, 14 de mayo de 2018 13:43:18 -03 Dmitry Shachnev escribió:
[snip] 
> > - We do not know the impact we create by disabling the getentropy feature.
> > And normally that stuff is related to criptography. Believe me I don't
> > want to mess with that.
> 
> If we disable it, Qt will fall back to reading /dev/urandom directly.
> 
> As I understand, it will be a bit less secure because it is vulnerable
> to file descriptor exhaustion attacks, and also a bit slower. But on the
> other hand, it is a traditional interface for getting randomness, and the
> majority of software probably still uses it.
> 
> See for details:
> 
> - https://lwn.net/Articles/606141/
> - https://git.kernel.org/linus/c6e9d6f38894798696f23c8084ca7edbf16ee895

Quoting from the above:

  The rationale of this system call is to provide resiliance against
  file descriptor exhaustion attacks, where the attacker consumes all
  available file descriptors, forcing the use of the fallback code where
  /dev/[u]random is not available.  Since the fallback code is often not
  well-tested, it is better to eliminate this potential failure mode
  entirely.

So if we disable it we disable a feature providing a more robust method to 
provide randomness to ours users.

In this case our users come first, so no, we should not disable this.

-- 
Never attribute to malice that which is adequately explained by stupidity.
  http://en.wikipedia.org/wiki/Hanlon's_razor

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 19:27:03 GMT) (full text, mbox, link).


Message #92 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Mattia Rizzolo <mattia@debian.org>
To: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Cc: Dmitry Shachnev <mitya57@debian.org>, 895718@bugs.debian.org, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 21:24:15 +0200
[Message part 1 (text/plain, inline)]
On Mon, May 14, 2018 at 01:55:55PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> Quoting from the above:
> 
>   The rationale of this system call is to provide resiliance against
>   file descriptor exhaustion attacks, where the attacker consumes all
>   available file descriptors, forcing the use of the fallback code where
>   /dev/[u]random is not available.  Since the fallback code is often not
>   well-tested, it is better to eliminate this potential failure mode
>   entirely.
> 
> So if we disable it we disable a feature providing a more robust method to
> provide randomness to ours users.

Reading this sounds like the presence of the syscall could be tested at
runtime, and if present used and if not fall back to dev/urandom?

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 14 May 2018 19:36:03 GMT) (full text, mbox, link).


Acknowledgement sent to Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 14 May 2018 19:36:03 GMT) (full text, mbox, link).


Message #97 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
To: Mattia Rizzolo <mattia@debian.org>
Cc: Dmitry Shachnev <mitya57@debian.org>, 895718@bugs.debian.org, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 14 May 2018 16:32:26 -0300
On 14 May 2018 at 16:24, Mattia Rizzolo <mattia@debian.org> wrote:
> On Mon, May 14, 2018 at 01:55:55PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
>> Quoting from the above:
>>
>>   The rationale of this system call is to provide resiliance against
>>   file descriptor exhaustion attacks, where the attacker consumes all
>>   available file descriptors, forcing the use of the fallback code where
>>   /dev/[u]random is not available.  Since the fallback code is often not
>>   well-tested, it is better to eliminate this potential failure mode
>>   entirely.
>>
>> So if we disable it we disable a feature providing a more robust method to
>> provide randomness to ours users.
>
> Reading this sounds like the presence of the syscall could be tested at
> runtime, and if present used and if not fall back to dev/urandom?

Patches directly at upstream (due to copyright issues) are welcomed :-)

-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/



Merged 895718 902118 Request was from Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> to control@bugs.debian.org. (Fri, 22 Jun 2018 16:51:06 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Sat, 23 Jun 2018 20:30:02 GMT) (full text, mbox, link).


Acknowledgement sent to Jürgen E. Fischer <jef@norbit.de>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Sat, 23 Jun 2018 20:30:02 GMT) (full text, mbox, link).


Message #104 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Jürgen E. Fischer <jef@norbit.de>
To: 895718@bugs.debian.org
Cc: Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Sat, 23 Jun 2018 22:13:53 +0200
[Message part 1 (text/plain, inline)]
Hi,

my pbuilder workaround for this /var/cache/pbuilder/hooks/A01qt5stripabitag:

for i in /usr/lib/*-linux-gnu/libQt5Core.so.5.10.1; do
        [ -f "$i" ] && strip --remove-section=.note.ABI-tag "$i"
done


Jürgen

-- 
Jürgen E. Fischer         norBIT GmbH               Tel. +49-4931-918175-31
Dipl.-Inf. (FH)           Rheinstraße 13            Fax. +49-4931-918175-50
Software Engineer         D-26506 Norden               http://www.norbit.de
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Sun, 24 Jun 2018 10:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Adrian Bunk <bunk@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Sun, 24 Jun 2018 10:33:04 GMT) (full text, mbox, link).


Message #109 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Adrian Bunk <bunk@debian.org>
To: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>, 895718@bugs.debian.org
Cc: Mattia Rizzolo <mattia@debian.org>, Dmitry Shachnev <mitya57@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Sun, 24 Jun 2018 13:28:38 +0300
On Mon, May 14, 2018 at 04:32:26PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> On 14 May 2018 at 16:24, Mattia Rizzolo <mattia@debian.org> wrote:
> > On Mon, May 14, 2018 at 01:55:55PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> >> Quoting from the above:
> >>
> >>   The rationale of this system call is to provide resiliance against
> >>   file descriptor exhaustion attacks, where the attacker consumes all
> >>   available file descriptors, forcing the use of the fallback code where
> >>   /dev/[u]random is not available.  Since the fallback code is often not
> >>   well-tested, it is better to eliminate this potential failure mode
> >>   entirely.
> >>
> >> So if we disable it we disable a feature providing a more robust method to
> >> provide randomness to ours users.
> >
> > Reading this sounds like the presence of the syscall could be tested at
> > runtime, and if present used and if not fall back to dev/urandom?
> 
> Patches directly at upstream (due to copyright issues) are welcomed :-)

As far as I can see, there are 4 sane options available:

1. unsupported, and give a clear error
For working upgrades it is important that software in a stable release 
works on kernels of the previous and next stable releases.
This also ends up being well-tested in upgrade scenarios.
Running buster on the jessie kernel is not really supported,
and even less tested.
libqt5core5a should abort with a clear error message in the preinst
on kernels < 3.17.

2. disable QT_CONFIG(getentropy) in Qt in buster

3. implement a fallback in Qt

4. backport getrandom to the jessie kernel
getrandom is only ~ 20 LOC plus some syscall wiring, so if anyone wants 
to convince/pay the Debian LTS team to backport that to the jessie 
kernel it should be doable.

None of these 4 options should be more than 1 man-day of work.


The submitter of #902118 was running buster packages on a CentOS kernel. 
For such cases of users using non-Debian kernels option 4 would not help.

This CentOS kernel (3.14) is even older than the jessie kernel, and 
in this case the buster Qt might still not work in any case due to
QT_CONFIG(renameat2) which requires >= 3.16.


IMHO option 1 is the best solution since no matter what we do about this 
specific problem, running buster on the jessie kernel might still break 
somewhere else at any point in time.


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Added indication that 895718 affects jenkins.debian.org Request was from Mattia Rizzolo <mattia@debian.org> to control@bugs.debian.org. (Mon, 25 Jun 2018 18:21:06 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>:
Bug#895718; Package libqt5core5a. (Mon, 09 Jul 2018 19:30:05 GMT) (full text, mbox, link).


Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>. (Mon, 09 Jul 2018 19:30:05 GMT) (full text, mbox, link).


Message #116 received at 895718@bugs.debian.org (full text, mbox, reply):

From: Ben Hutchings <ben@decadent.org.uk>
To: Adrian Bunk <bunk@debian.org>
Cc: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>, 895718@bugs.debian.org, Mattia Rizzolo <mattia@debian.org>, Dmitry Shachnev <mitya57@debian.org>, Scott Kitterman <debian@kitterman.com>
Subject: Re: Bug#895718: python-pyqt5: import PyQt5.QtCore fails
Date: Mon, 09 Jul 2018 20:25:59 +0100
[Message part 1 (text/plain, inline)]
On Sun, 24 Jun 2018 13:28:38 +0300 Adrian Bunk <bunk@debian.org> wrote:
> On Mon, May 14, 2018 at 04:32:26PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> > On 14 May 2018 at 16:24, Mattia Rizzolo <mattia@debian.org> wrote:
> > > On Mon, May 14, 2018 at 01:55:55PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> > >> Quoting from the above:
> > >>
> > >>   The rationale of this system call is to provide resiliance against
> > >>   file descriptor exhaustion attacks, where the attacker consumes all
> > >>   available file descriptors, forcing the use of the fallback code where
> > >>   /dev/[u]random is not available.  Since the fallback code is often not
> > >>   well-tested, it is better to eliminate this potential failure mode
> > >>   entirely.
> > >>
> > >> So if we disable it we disable a feature providing a more robust method to
> > >> provide randomness to ours users.
> > >
> > > Reading this sounds like the presence of the syscall could be tested at
> > > runtime, and if present used and if not fall back to dev/urandom?
> > 
> > Patches directly at upstream (due to copyright issues) are welcomed :-)
> 
> As far as I can see, there are 4 sane options available:
> 
> 1. unsupported, and give a clear error
> For working upgrades it is important that software in a stable release 
> works on kernels of the previous and next stable releases.
> This also ends up being well-tested in upgrade scenarios.
> Running buster on the jessie kernel is not really supported,
> and even less tested.

I don't think userland package maintainers should be expected to
support anything older than the kernel version in the last stable
release.  If users really want that to work they should be responsible
for relaxing the dependency in a way that the maintainer accepts.

> libqt5core5a should abort with a clear error message in the preinst
> on kernels < 3.17.
> 
> 2. disable QT_CONFIG(getentropy) in Qt in buster

This would presumably be the simplest approach; it's theoretically less
secure but in practice it's exceedingly unlikely to be a problem.

> 3. implement a fallback in Qt

glibc now implements getentropy() and getrandom(), with fallbacks on
aolder kernel versions.  So I think that you could remove Qt's
implementation of getentropy() and have it call glibc's instead.  (But
I haven't looked at the Qt code in question; it might not be quite as
simple as that.)

> 4. backport getrandom to the jessie kernel
> getrandom is only ~ 20 LOC plus some syscall wiring, so if anyone wants 
> to convince/pay the Debian LTS team to backport that to the jessie 
> kernel it should be doable.
[...]

I don't think this meets the stable update criteria.  In itself it
wouldn't fix any weakness of the RNG.

Ben.

-- 
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein
[signature.asc (application/pgp-signature, inline)]

Merged 895718 902118 964064 Request was from Dmitry Shachnev <mitya57@debian.org> to control@bugs.debian.org. (Wed, 01 Jul 2020 09:27:05 GMT) (full text, mbox, link).


Message #119 received at 964064-done@bugs.debian.org (full text, mbox, reply):

From: zhao feng <zhaofengshu33@gmail.com>
To: 964064-done@bugs.debian.org
Subject: Using new kernel can fix this problem
Date: Thu, 2 Jul 2020 10:56:36 +0800
Thanks for your information



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 30 Jul 2020 07:25:15 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Jan 2 04:39:38 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.