Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STDIN.raw changes stty mode #2065

Closed
veelenga opened this issue Jan 25, 2016 · 16 comments
Closed

STDIN.raw changes stty mode #2065

veelenga opened this issue Jan 25, 2016 · 16 comments
Labels
kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:stdlib

Comments

@veelenga
Copy link
Contributor

$ cat run.cr
p `stty -g`
STDIN.raw {|io| io.gets 1} # press any key
p `stty -g`

$ crystal run.cr
"gfmt1:cflag=4b00:iflag=2b02:lflag=5cb:oflag=3:discard=0:dsusp=0:eof=4:eol=ff:eol2=ff:erase=7f:intr=2:kill=15:lnext=0:min=3:quit=2b:reprint=12:start=0:status=0:stop=0:susp=0:time=0:werase=17:ispeed=19200:ospeed=1483\n"
"gfmt1:cflag=4b00:iflag=2b02:lflag=200005cb:oflag=3:discard=0:dsusp=0:eof=4:eol=ff:eol2=ff:erase=7f:intr=2:kill=15:lnext=0:min=3:quit=2b:reprint=12:start=0:status=0:stop=0:susp=0:time=0:werase=17:ispeed=19200:ospeed=1483\n"

It is still raw mode after STDIO.raw call but i expect it to match the mode used before the call.

It is not documented, but i guess IO.raw! should change stty mode, and IO.raw shouldn't.

@asterite
Copy link
Member

We have to review STDIN.raw, it was introduced when IO was blocking. Now that it's non-blocking, I don't know if that still works, has bugs or what. My guess is that it's completely broken.

@miketheman
Copy link
Contributor

#triage
Running the provided example today off master's 4b30588

Output appears the same to me

Using compiled compiler at .build/crystal
"gfmt1:cflag=4b00:iflag=6902:lflag=200005cf:oflag=3:discard=ff:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=38400:ospeed=38400\n"
"gfmt1:cflag=4b00:iflag=6902:lflag=200005cf:oflag=3:discard=ff:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=38400:ospeed=38400\n"

This does not confirm nor refute @asterite 's last comment about reviewing how STDIN.raw works, but it makes sense to review. The methods in question were most recently touched by #2442 where it may have fixed this issue. I have not yet confirmed this.

@veelenga
Copy link
Contributor Author

It does not work for me. It may be dependent on OS or shell (I'm on OS X and zsh):

crystal git:4b30588 ❯ ./bin/crystal -v                                                                                                                                             
Using compiled compiler at .build/crystal
Crystal 0.18.4+56 [4b30588] (2016-06-22)

crystal git:4b30588 ❯ ./bin/crystal run.cr                                                                                                                                         
Using compiled compiler at .build/crystal
"gfmt1:cflag=4b00:iflag=6b02:lflag=5cb:oflag=3:discard=f:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=9600:ospeed=9600\n"
"gfmt1:cflag=4b00:iflag=6b02:lflag=200005cb:oflag=3:discard=f:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=9600:ospeed=9600\n"

@miketheman
Copy link
Contributor

@veelenga This now seems more likely a zsh-induced issue, since the stty settings amy be set/overridden on a terminal-by-terminal basis.
Can you reproduce with bash, to isolate? I tried a naive install of zsh 5.2 (no special profile settings) and was unable to do so.

@veelenga
Copy link
Contributor Author

veelenga commented Jun 22, 2016

@miketheman you are right, this seems to be zsh-induced issue:

bash-3.2$ ./bin/crystal run.cr
Using compiled compiler at .build/crystal
"gfmt1:cflag=4b00:iflag=6b02:lflag=200005cb:oflag=3:discard=f:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=9600:ospeed=9600\n"
"gfmt1:cflag=4b00:iflag=6b02:lflag=200005cb:oflag=3:discard=f:dsusp=19:eof=4:eol=ff:eol2=ff:erase=7f:intr=3:kill=15:lnext=16:min=1:quit=1c:reprint=12:start=11:status=14:stop=13:susp=1a:time=0:werase=17:ispeed=9600:ospeed=9600\n"

@masukomi
Copy link
Contributor

I believe that STDIN.raw is NOT the issue here. I think it's a red herring. Doing ANYTHING in crystal appears to screw up the mode. I stumbled across this yesterday when working on a git commit hook. I haven't yet pinned down a way to prove that it's the modes being screwed up but the evidence is strongly suggesting it.

the reason i can't prove it (yet) is that my crystal script in its entirety is as follows:

exit(0)

If i make a commit hook in bash, python, or anything else that just exits, everything is fine. Make it in crystal and something is borked.

My bash script in its entirety

#!/bin/bash

exit 0

Check out this
example video to see the practical effects of borking the mode.

I will readily admit that there is a possibility that this is being exposed because of my particular vim configuration, or by the fact that i use Fish shell, but that's not the point. The point is that the modes are being screwed and it's not possible to write a crystal app that does NOT screw them, but you can in any other language.

If anyone can suggest a way to prove without a doubt that it's the mode I'm all ears. Currently i'm wondering if i can convince git to execute something that would write the mode into the commit template.

And yes, if i run the crystal script NOT as part of a git hook then using vim immediately afterwards in the same terminal works fine. So, there's something that lingers when in that particular chain of events that makes this consistently reproducible.

@masukomi
Copy link
Contributor

This issue is a big deal to me. I've been writing a cli tool that I really want to use a git hook, to solve some problems at work. I'm happy to go poke the compiler to try and fix it, but this isn't an area I'm particularly familiar with. If someone could help point me in the right area of the code to get me started I'll see if i can improve things, but with the exit(0) code seemingly causing the issue i'm just not sure where to start.

@jhass
Copy link
Member

jhass commented Aug 16, 2016

A good starting point should be attaching a strace to see what it does to the IO.

@Sija
Copy link
Contributor

Sija commented Aug 16, 2016

@jhass Assuming that's the Linux env we're talking about.

@jhass
Copy link
Member

jhass commented Aug 16, 2016

well, other platforms should have similar tools.

@jhass
Copy link
Member

jhass commented Aug 16, 2016

FWIW here's what I get.

First, let's examine what STDIN.raw does.

require "io/console"
STDIN.raw { }
execve("./raw", ["./raw"], ["XDG_VTNR=2", "LC_PAPER=de_DE.utf8", "XDG_SESSION_ID=c2", "LC_MONETARY=de_DE.utf8", "GIO_LAUNCHED_DESKTOP_FILE_PID=2426", "WAYLAND_DISPLAY=way
land-0", "XDG_MENU_PREFIX=gnome-", "SHELL=/bin/zsh", "LC_NUMERIC=de_DE.utf8", "USER=jhass", "DESKTOP_AUTOSTART_ID=10e2d18fe2ff86553147117802050611700000022440001", "SSH_A
UTH_SOCK=/run/user/1000/keyring/ssh", "SESSION_MANAGER=local/jhass-laptop:@/tmp/.ICE-unix/2244,unix/jhass-laptop:/tmp/.ICE-unix/2244", "USERNAME=jhass", "GIO_LAUNCHED_DES
KTOP_FILE=/etc/xdg/autostart/gnome-settings-daemon.desktop", "PATH=/home/jhass/.jenv/shims:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/local/bin:/opt/android-sdk/platfor
m-tools:/home/jhass/.bin:/home/jhass/bin:/home/jhass/.rvm/bin", "MAIL=/var/spool/mail/jhass", "DESKTOP_SESSION=gnome-wayland", "QT_QPA_PLATFORMTHEME=qgnomeplatform", "XDG
_SESSION_TYPE=wayland", "PWD=/home/jhass/scratchpad", "LANG=en_US.UTF-8", "GDM_LANG=en_US.utf8", "LC_MEASUREMENT=de_DE.utf8", "GDMSESSION=gnome-wayland", "XDG_SEAT=seat0"
, "HOME=/home/jhass", "SHLVL=1", "GNOME_DESKTOP_SESSION_ID=this-is-deprecated", "LOGNAME=jhass", "XDG_SESSION_DESKTOP=gnome-wayland", "DBUS_SESSION_BUS_ADDRESS=unix:path=
/run/user/1000/bus", "DISPLAY=:0", "XDG_RUNTIME_DIR=/run/user/1000", "XDG_CURRENT_DESKTOP=GNOME", "LC_TIME=de_DE.utf8", "TERMINOLOGY=1", "TERM=xterm-256color", "XTERM_256
_COLORS=1", "OLDPWD=/home/jhass", "PAGER=less", "LESS=-R", "LC_CTYPE=en_US.utf8", "LSCOLORS=Gxfxcxdxbxegedabagacad", "EDITOR=vim", "CC=clang", "CXX=clang++", "MAKEFLAGS=-
j8", "MAKECFLAGS=-j8", "SUDO_PROMPT=[sudo] password: ", "LC_ALL=en_US.UTF-8", "CRYSTAL_CACHE_DIR=~/.crystal", "JENV_LOADED=1", "PS1=%{\33[38;5;250m%}%{\33[48;5;240m%} %n
%{\33[48;5;238m%}%{\33[38;5;240m%}\356\202\260%{\33[38;5;250m%}%{\33[48;5;238m%} %m %{\33[48;5;31m%}%{\33[38;5;238m%}\356\202\260%{\33[38;5;15m%}%{\33[48;5;31m%} ~ %{\33[
48;5;237m%}%{\33[38;5;31m%}\356\202\260%{\33[38;5;250m%}%{\33[48;5;237m%} scratchpad %{\33[48;5;236m%}%{\33[38;5;237m%}\356\202\260%{\33[38;5;15m%}%{\33[48;5;236m%} %# %{
\33[0m%}%{\33[38;5;236m%}\356\202\260%{\33[0m%} ", "_=/usr/bin/strace"]) = 0
brk(NULL)                               = 0x694000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_dev=makedev(0, 19), st_ino=14042340, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=640, st_size=325603, st_atime=2016/08/1
6-00:27:33.634899592, st_mtime=2016/08/16-00:27:33.544899060, st_ctime=2016/08/16-00:27:33.544899060}) = 0
mmap(NULL, 325603, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f599e12c000
close(3)                                = 0
open("/usr/lib/libpcre.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \27\0\0\0\0\0\0@\0\0\0\0\0\0\0(\"\7\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\274\24\7\0\0\0\0\0\274\24\7\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210\34\7\0\0\0\0\0\210\34'\0\0\0\0\0\210\34'\0\0\0\0\0\220\4\0\0\0\0\0\0
`\5\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\260\35\7\0\0\0\0\0\260\35'\0\0\0\0\0\260\35'\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0
\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0@\304\6\0\0\0\0\0@\304\6\0\0\0\0\0@\304\6\0\0\0\0\0\344
\4\0\0\0\0\0\0\344\4\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\
0\0\0\210\34\7\0\0\0\0\0\210\34'\0\0\0\0\0\210\34'\0\0\0\0\0x\3\0\0\0\0\0\0x\3\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\231\17\351\224\22\217]R\6\352q{.\
315\363\312\243+\235\361\0\0\0\0F\0\0\0\34\0\0\0\4\0\0\0\10\0\0\0B\204\t\0\202!\20\240\250@\0\23\304\320\201\30\2\242X@\30\"D\v\200\30\10\1\">\226\2\0\0\0\0\34\0\0\0\35\0
\0\0\36\0\0\0\37\0\0\0 \0\0\0!\0\0\0\0\0\0\0\0\0\0\0\"\0\0\0#\0\0\0\0\0\0\0$\0\0\0%\0\0\0\0\0\0\0&\0\0\0\0\0\0\0'\0\0\0\0\0\0\0\0\0\0\0)\0\0\0*\0\0\0\0\0\0\0+\0\0\0\0\0\0
\0,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0-\0\0\0.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000\0\0\0001\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\000
3\0\0\0\0\0\0\0004\0\0\0006\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0007\0\0\0\0\0\0\0008\0\0\0009\0\0\0\0\0\0\0:\0\0\0\0\0\0\0\0\0\0\0;\0\0\0\0\0\0\0<\0\0\0=\0\0\0>\
0\0\0?\0\0\0@\0\0\0\371\262E2)\241H\16", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=12468560, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=920, st_size=469288, st_atime=2016/08/1
6-00:40:14.253113735, st_mtime=2016/06/18-01:26:22, st_ctime=2016/06/26-23:47:19.083840184}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f599e12a000
mmap(NULL, 2564584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599dce7000
mprotect(0x7f599dd59000, 2093056, PROT_NONE) = 0
mmap(0x7f599df58000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x71000) = 0x7f599df58000
close(3)                                = 0
open("/usr/lib/libgc.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300_\0\0\0\0\0\0@\0\0\0\0\0\0\0\210Y\2\0\0\0\0\0\0\0\0\0@\0008\0\10\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\204C\2\0\0\0\0\0\204C\2\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0D\f\0\0\0\0\0\0x/\4\0\0\0\0\0\0
\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\230L\2\0\0\0\0\0\230L\"\0\0\0\0\0\230L\"\0\0\0\0\0\20\2\0\0\0\0\0\0\20\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0\2\0\0\0\0\0\0\0\2\0\
0\0\0\0\0\0\2\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\10\0\0\
0\0\0\0\0P\345td\4\0\0\0 \337\1\0\0\0\0\0 \337\1\0\0\0\0\0 \337\1\0\0\0\0\0L\17\0\0\0\0\0\0L\17\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0\330\3\0\0\0\0\0\0\330\3\0\0\0\0\0\0\1\0\0\0\0\0
\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\351\10\t-\4P<\314.t\317\307]\3\201v\236\236Cs\0\0\0\0W\1\0\0W\0\0\0 \0\0\0\v\0\0\0\0\0\0\1\0\0\0\10\0A\t\0\350\1@*\0p\300\0\240F@\4\204
)\0\10HE\220 0\210\202\7\0\230\222\22\0!_\0\222\220A\4\334\235`\201 \2\1\5\260H,I\225\2\1@\0\200\0010\0\23\0\0@@B\0\1@\0\0 \246\203Q@\250\200A1B\34\200\0 \24\f\0000\240\2
\0\3(\4\26Na\10\6*\314\4\30\20\0030 @\6\10\20@\241\24&D\5\304\7\300\0\302R \1T\203B\1C\10AH \10\1\0\301A\202\200\2@\4\300 D\0\4\22\t-\0N\0`( (\300\0\215\20C\0!\204\0\261\
1\4\4B\2010FD\0\204\224\320\0\0\0\0\30\0\20\4\0@\4\0A\0\0\0\314 \0\320\1$\2\200\0\20\10\21\34\f(P\24\21\0\202\2\2\200\4\240\252\17\0\250\260=\10 \20T\0\1\20\200 \2\20\4\1
0\204\20\240\30\10\0\0\0\0W\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=9183621, st_mode=S_IFREG|0755, st_nlink=2, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=312, st_size=155784, st_atime=2016/08/15
-20:37:37.019755340, st_mtime=2015/12/05-16:30:51, st_ctime=2016/01/17-10:46:46.276273459}) = 0
mmap(NULL, 2522016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599da7f000
mprotect(0x7f599daa4000, 2093056, PROT_NONE) = 0
mmap(0x7f599dca3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f599dca3000
mmap(0x7f599dca5000, 269216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f599dca5000
close(3)                                = 0
open("/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320`\0\0\0\0\0\0@\0\0\0\0\0\0\0\210&\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0$\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\
0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`4\1\0\0\0\0\0`4\1\0\0\0\0\0`4\1\0\0\0\0\0\36\0\0\0\0\0\0\0\36\0\0\0\0\0\0\0\
20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\334w\1\0\0\0\0\0\334w\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0x{\1\0\0\0\0\0x{!\0\0\0\0
\0x{!\0\0\0\0\0(\7\0\0\0\0\0\0\230H\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0P}\1\0\0\0\0\0P}!\0\0\0\0\0P}!\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\
4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\2004\1\0\0\0\0\0\2004\1\0\0\0\0\0\2004\1\0
\0\0\0\0\264\10\0\0\0\0\0\0\264\10\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0
\0\0R\345td\4\0\0\0x{\1\0\0\0\0\0x{!\0\0\0\0\0x{!\0\0\0\0\0\210\4\0\0\0\0\0\0\210\4\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\23\322JT\225\2564\365\216R@?
\221S&4\210\266,\364\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\345\1\0\0W\0\0\0 \0\0\0\v\0\0\0\31#\2\261\1\10\20\2@@a\370\3\10\10\25\200 \0\0\0
\0\200\300\321Q\0\0\0\22\353\3020D\0\10\20A\0\2\0\2\f\1\200\v\221\1\330\240\r\240@\230 \244\200\21\n\202-l@g\214V\24\0\224 \200$H\200P(\1\22\f\311B\240\220\22\10\f \2ZdA\
245c\4@\n\n\n\0\2009\1(\314D\204\201\300\22\10(\fD\0\0\0\200Q\10\200\35\4B\320\2608A\0\1\0\0\265\0300\0\200`\2\20\"\0\tA\20\1\5\0P(\251\22G(\0\0\202\4\230@\4\0\20\340T\0\
2@\2\2\20\3010f\26\200\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785245, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=288, st_size=143432, st_atime=2016/08/1
5-21:12:16.791465870, st_mtime=2016/08/06-13:17:40, st_ctime=2016/08/09-21:10:30.905583676}) = 0
mmap(NULL, 2212880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599d862000
mprotect(0x7f599d87a000, 2093056, PROT_NONE) = 0
mmap(0x7f599da79000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f599da79000
mmap(0x7f599da7b000, 13328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f599da7b000
close(3)                                = 0
open("/usr/lib/libevent-2.0.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\320\0\0\0\0\0\0@\0\0\0\0\0\0\0\30\216\4\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0004s\4\0\0\0\0\0004s\4\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210z\4\0\0\0\0\0\210z$\0\0\0\0\0\210z$\0\0\0\0\0\210\22\0\0\0\0\0\0\20
0\31\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\200}\4\0\0\0\0\0\200}$\0\0\0\0\0\200}$\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\
1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\224\317\3\0\0\0\0\0\224\317\3\0\0\0\0\0\224\317\3\0\0\0\0\0
\354\26\0\0\0\0\0\0\354\26\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\34
5td\4\0\0\0\210z\4\0\0\0\0\0\210z$\0\0\0\0\0\210z$\0\0\0\0\0x\5\0\0\0\0\0\0x\5\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0T9\244\f\353\330?\271\237K?\302\22
3G>9g\242\377\323\0\0\0\0\372\3\0\0]\0\0\0@\0\0\0\f\0\0\0 \203\0B\1\200,p\201\210I\200\0\20\0\0\202\4d\4\1\24\201\304\4\3\3Tm\0\5\222\21\24\306\30(\200:(@\3@\340\0\0\0Jl\
10\314\25\300\212\250@\240\3 \1\24*\10\270\3\1\"\10\10\4\0 Q\264A\36T\264\0#\200\10\0\2\2\0\5\10\236\t\246\0\5\214\22\5\t\2\31\31\n\5\200\0 \0\4\1\20(\5\4\0\0\200\0\4@\20
\30\3\307\324\320\16\225p AC@\10\n\10(\310\350]\0\4p\4\1X\300$\n\300\10\2\322R\226bA\20\2\224\4\300)\205\201@\10\"\0\4\f4S\265v\n\243\1\4\0\22\311\200\0\320\200\200\202Q\
0@L\220\16\200@ \0\20\0D\"\0p\0m0\32\4R\240 \0\2\320L-\t\0\310D)!(\0\4\0\1\1 \300@\0\220@e\2\0000\"\10\230Q\f\200\201\232\20$\0\20\2\200\244\0004\0\4\20\0d U\7`\26\1\200\
0\2\224\320\1\21H\0\2\21\10\1\10D\311R\4F0\34a\f5\312\200\r.\240`\1@\30\0\20\210\3450\rE\0\21R\3s\210@\f\0\1\5\5\10\202\"", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=10594939, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=592, st_size=300312, st_atime=2016/08/1
6-13:54:58.420263658, st_mtime=2016/03/02-19:25:25, st_ctime=2016/03/07-16:47:05.214912590}) = 0
mmap(NULL, 2397192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599d618000
mprotect(0x7f599d660000, 2093056, PROT_NONE) = 0
mmap(0x7f599d85f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x7f599d85f000
mmap(0x7f599d861000, 1032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f599d861000
close(3)                                = 0
open("/usr/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320 \0\0\0\0\0\0@\0\0\0\0\0\0\0\240s\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0!\0 \0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0d\0\0\0\0\0\0\0d\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0Pm\0\0\0\0\0\0Pm \0\0\0\0\0Pm \0\0\0\0\0\374\4\0\0\0\0\0\0h\16\0\0\0\0\0\0\0\0 \0\
0\0\0\0\2\0\0\0\6\0\0\0pm\0\0\0\0\0\0pm \0\0\0\0\0pm \0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310
\1\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\210R\0\0\0\0\0\0\210R\0\0\0\0\0\0\210R\0\0\0\0\0\0,\2\0\0\0\0\0\0,\2\0\0\0\0\0\0\4\0\0\0\0\0\0
\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0Pm\0\0\0\0\0\0Pm \0\0\0\0\0Pm \0\0\0\0\0\
260\2\0\0\0\0\0\0\260\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0004\201\24\374\263Z\20\nn4mH^\340\273\257\276i\37\230\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0
\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0b\0\0\0?\0\0\0\10\0\0\0\t\0\0\0\1\0\204!0\0\10@\0\20P\213\340\6\22 \0\10\202@\0(\200 \t\3\0\4@\1@#\2\20\0\2\240\4 \0\10\0\0\2\0\4\0\200\2
10\206D\20\0\0\20\4P\20\2\322\4\1\4\206\0\0\0\0\0\0\0\0?\0\0\0@\0\0\0A\0\0\0\0\0\0\0B\0\0\0\0\0\0\0C\0\0\0\0\0\0\0E\0\0\0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0H\0\0\0\0\0\0\0I\0\0\0\0\0\0\0J\0\0\0\0\0\0\0L\0\0\0M\0\0\0\0\0\0\0N\0\0\0O\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0S\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785321, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=64, st_size=31712, st_atime=2016/08/15-
21:27:40.939227733, st_mtime=2016/08/06-13:17:49, st_ctime=2016/08/09-21:10:31.122252553}) = 0
mmap(NULL, 2128824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599d410000
mprotect(0x7f599d417000, 2093056, PROT_NONE) = 0
mmap(0x7f599d616000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f599d616000
close(3)                                = 0
open("/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\r\0\0\0\0\0\0@\0\0\0\0\0\0\0\2201\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\324\37\0\0\0\0\0\0\324\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\0\0\0\0\0\0`- \0\0\0\0\0`- \0\0\0\0\0\20\3\0\0\0\0\0\0\220\3\0\0\0
\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\210-\0\0\0\0\0\0\210- \0\0\0\0\0\210- \0\0\0\0\0\20\2\0\0\0\0\0\0\20\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\
0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\360\31\0\0\0\0\0\0\360\31\0\0\0\0\0\0\360\31\0\0\0\0\0\0\274\0\0\0\0\0\
0\0\274\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0`-\0\0
\0\0\0\0`- \0\0\0\0\0`- \0\0\0\0\0\240\2\0\0\0\0\0\0\240\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\27\354i\t?\310\233\026665\352\177v\364aE\240\203\204\
4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\33\0\0\0\32\0\0\0\2\0\0\0\7\0\0\0\230\2\21\0\200H\0\4\22\0\0@\203(\10\236\32\0\0\0\0\0\0\0\33\0\0\0\0
\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\36\0\0\0\0\0\0\0\37\0\0\0\0\0\0\0 \0\0\0\"\0\0\0#\0\0\0%\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'\0\
0\0\0\0\0\0\0\0\0\0\353\26\251\30a\257\0\371\301S\200\30\273\25sB\257\304M\17\221!\374\370\6\2\4\371\3733\373\17\371\31sB\372\31sB\225\263_\31\177\236\320\30a\242\222\6\5
\350\7\371\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\1\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\375\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\337\
0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0 \0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785317, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=32, st_size=14608, st_atime=2016/08/15-
21:12:16.791465870, st_mtime=2016/08/06-13:17:49, st_ctime=2016/08/09-21:10:31.105585717}) = 0
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599d20c000
mprotect(0x7f599d20e000, 2097152, PROT_NONE) = 0
mmap(0x7f599d40e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f599d40e000
close(3)                                = 0
open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220*\0\0\0\0\0\0@\0\0\0\0\0\0\0\330\22\v\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0%\0\"\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\354R\1\0\0\0\0\0\354R\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\270]\1\0\0\0\0\0\270]!\0\0\0\0\0\270]!\0\0\0\0\0\300\3\0\0\0\0\0\0x\6\0\0\
0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\330]\1\0\0\0\0\0\330]!\0\0\0\0\0\330]!\0\0\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0
\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\3243\1\0\0\0\0\0\3243\1\0\0\0\0\0\3243\1\0\0\0\0\0D\5\0\0\0\0\0\0D\5
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\270]\1\0\0\0\0
\0\270]!\0\0\0\0\0\270]!\0\0\0\0\0H\2\0\0\0\0\0\0H\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\243\211\332%v^\207\304\367:\212h)\253j\23J\253b\256\0\0\0\0
\203\0\0\0\26\0\0\0\20\0\0\0\n\0\0\0\23\34\3\30\4$\0\1\1\201\0T\4\6\210\20\200\204\0\10\0\10\5\200\2\0@\20D\20\0\266\2\200\320 \301\0\220\2024\1\0\4\10(@\2H\1\v \320\1\2(
\0235\4`l\322\0!\3p`@\322\200\10`\0@\1\0\200\1\0\0\2$\0\10\21\2\10H\300\1$\t\21(  \10C\v\246\202H\t\10\10\3D\f\n\34\22O\306\1\207\va\204\226\315\4\302\305\f\242\333\16\31
4\26\0\0\0\27\0\0\0\32\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\37\0\0\0 \0\0\0\"\0\0\0%\0\0\0'\0\0\0\0\0\0\0(\0\0\0*\0\0\0+\0\0\0.\0\0\0000\0\0\0003\0\0\0004\0\0\0007\0\0\0\0\0\0\
0008\0\0\0009\0\0\0<\0\0\0=\0\0\0?\0\0\0@\0\0\0A\0\0\0B\0\0\0C\0\0\0E\0\0\0\0\0\0\0F\0\0\0\0\0\0\0G\0\0\0\0\0\0\0\0\0\0\0H\0\0\0I\0\0\0K\0\0\0L\0\0\0M\0\0\0\0\0\0\0\0\0\0
\0O\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13786184, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=1424, st_size=728088, st_atime=2016/08/
15-21:55:00.365449855, st_mtime=2016/08/06-16:18:48, st_ctime=2016/08/09-21:10:36.235638036}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f599e128000
mmap(NULL, 2188336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599cff5000
mprotect(0x7f599d00b000, 2093056, PROT_NONE) = 0
mmap(0x7f599d20a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f599d20a000
close(3)                                = 0
open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\3\2\0\0\0\0\0@\0\0\0\0\0\0\0\300\265\35\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0I\0F\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@
\0\0\0\0\0\0\0@\0\0\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`\247\26\0\0\0\0\0`\247\26\0\0\0\0\0`\247\26\0\0\0\0\0\36\0\0\0\0\0\0\0\36
\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220A\31\0\0\0\0\0\220A\31\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210G\31
\0\0\0\0\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0XO\0\0\0\0\0\0\250\221\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`{\31\0\0\0\0\0`{9\0\0\0\0\0`{9\0\0\0\0\0\360\1\0\0\0\0\0\0\360
\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0\210G\31\0\0\0\0
\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0\20\0\0\0\0\0\0\0x\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\200\247\26\0\0\0\0\0\200\247\26\0\0\0\0\0\200\247\26\0\0\0\0\0\214Y\0\0
\0\0\0\0\214Y\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\2
10G\31\0\0\0\0\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0x8\0\0\0\0\0\0x8\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\214\2722\227\3658i\36\261\207[\346)\206\231<\0O
?M\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\363\3\0\0\10\0\0\0\0\1\0\0\16\0\0\0\0000\20D\240 \2\1\210\3\346\220\305E\214\0\304\0\10\0\5\204\0`
\300\200\0\r\212\f\0\4\20\0\210@2\10*@\210T<, \0162H&\204\300\214\4\10\0\2\2\16\241\254\32\4f\300\0\3002\0\300\0P\1 \201\10\204\v  ($\0\4 Z\0\20X\200\312DB(\0\6\200\20\30
B\0 @\200\0IP\0Q\212@\22\0\0\0\0\10\0\0\21\20", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785264, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3816, st_size=1951744, st_atime=2016/08
/15-21:12:16.791465870, st_mtime=2016/08/06-13:17:48, st_ctime=2016/08/09-21:10:30.972251023}) = 0
mmap(NULL, 3791152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599cc57000
mprotect(0x7f599cdec000, 2093056, PROT_NONE) = 0
mmap(0x7f599cfeb000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7f599cfeb000
mmap(0x7f599cff1000, 14640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f599cff1000
close(3)                                = 0
open("/usr/lib/libatomic_ops.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\10\0\0\0\0\0\0@\0\0\0\0\0\0\0H!\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\32\0\31\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\17\0\0\0\0\0\0\4\17\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\350\35\0\0\0\0\0\0\350\35 \0\0\0\0\0\350\35 \0\0\0\0\0h\2\0\0\0\0\0\0x\3\0\
0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\0\36\0\0\0\0\0\0\0\36 \0\0\0\0\0\0\36 \0\0\0\0\0\320\1\0\0\0\0\0\0\320\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0
\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\214\r\0\0\0\0\0\0\214\r\0\0\0\0\0\0\214\r\0\0\0\0\0\0004\0\0\0\0\0
\0\0004\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\350\3
5\0\0\0\0\0\0\350\35 \0\0\0\0\0\350\35 \0\0\0\0\0\30\2\0\0\0\0\0\0\30\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0|\24v[G\34\324\272\"\317\373\206aJ\2604\2
74\372\30\323\0\0\0\0\r\0\0\0\v\0\0\0\1\0\0\0\6\0\0\0\211\302%%\1\25@\t\0\0\0\0\v\0\0\0\f\0\0\0\r\0\0\0\16\0\0\0\20\0\0\0\21\0\0\0\0\0\0\0\22\0\0\0\23\0\0\0\24\0\0\0\0\0\
0\0\25\0\0\0a5\324i\1\3136\236CE\325\354\352\323\357\16\331qX\34\223\24_\37\271\215\361\16\251&&c\35\332\241\310\273\343\222|Q\22\36\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\3\0\t\0\230\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\343\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\205\0\0
\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\357\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\0\0\0\22\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0a\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=12139016, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=24, st_size=10184, st_atime=2016/08/15-
20:37:37.026422057, st_mtime=2016/06/11-13:15:59, st_ctime=2016/06/14-10:55:45.891955288}) = 0
mmap(NULL, 2105696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f599ca54000
mprotect(0x7f599ca55000, 2097152, PROT_NONE) = 0
mmap(0x7f599cc55000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f599cc55000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f599e125000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f599e123000
arch_prctl(ARCH_SET_FS, 0x7f599e123700) = 0
mprotect(0x7f599cfeb000, 16384, PROT_READ) = 0
mprotect(0x7f599cc55000, 4096, PROT_READ) = 0
mprotect(0x7f599d20a000, 4096, PROT_READ) = 0
mprotect(0x7f599d40e000, 4096, PROT_READ) = 0
mprotect(0x7f599da79000, 4096, PROT_READ) = 0
mprotect(0x7f599d616000, 4096, PROT_READ) = 0
mprotect(0x7f599d85f000, 4096, PROT_READ) = 0
mprotect(0x7f599dca3000, 4096, PROT_READ) = 0
mprotect(0x7f599df58000, 4096, PROT_READ) = 0
mprotect(0x631000, 4096, PROT_READ)     = 0
mprotect(0x7f599e17c000, 4096, PROT_READ) = 0
munmap(0x7f599e12c000, 325603)          = 0
set_tid_address(0x7f599e1239d0)         = 19291
set_robust_list(0x7f599e1239e0, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7f599d867b70, [], SA_RESTORER|SA_SIGINFO, 0x7f599d873080}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f599d867c00, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f599d873080}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x694000
brk(0x6b5000)                           = 0x6b5000
open("/proc/self/maps", O_RDONLY|O_CLOEXEC) = 3
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
fstat(3, {st_dev=makedev(0, 4), st_ino=1891417, st_mode=S_IFREG|0444, st_nlink=1, st_uid=1000, st_gid=100, st_blksize=1024, st_blocks=0, st_size=0, st_atime=2016/08/16-17
:55:35.877782268, st_mtime=2016/08/16-17:55:35.877782268, st_ctime=2016/08/16-17:55:35.877782268}) = 0
read(3, "00400000-00432000 r-xp 00000000 00:2d 35119000                           /home/jhass/scratchpad/raw\n00631000-00632000 r--p 00031000 00:2d 35119000
             /home/jhass/scratchpad/raw\n00632000-00633000 rw-p 00032000 00:2d 35119000                           /home/jhass/scratchpad/raw\n00694000-006b5000 rw-p 00000
000 00:00 0                                  [heap]\n7f599ca54000-7f599ca55000 r-xp 00000000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f599ca5500
0-7f599cc55000 ---p 00001000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f599cc55000-7f599cc56000 r--p 00001000 00:11 12139016                   /u
sr/lib/libatomic_ops.so.1.0.3\n7f599cc56000-7f599cc57000 rw-p 00002000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f599cc57000-7f599cdec000 r-xp 00
000000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f599cdec000-7f599cfeb000 ---p 00195000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f599cfeb0"
..., 1024) = 1024
read(3, "94000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f599cfef000-7f599cff1000 rw-p 00198000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f5
99cff1000-7f599cff5000 rw-p 00000000 00:00 0 \n7f599cff5000-7f599d00b000 r-xp 00000000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f599d00b000-7f599d20a000
---p 00016000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f599d20a000-7f599d20b000 r--p 00015000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f
599d20b000-7f599d20c000 rw-p 00016000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f599d20c000-7f599d20e000 r-xp 00000000 00:11 13785317                   /u
sr/lib/libdl-2.24.so\n7f599d20e000-7f599d40e000 ---p 00002000 00:11 13785317                   /usr/lib/libdl-2.24.so\n7f599d40e000-7f599d40f000 r--p 00002000 00:11 13785
317                   /usr/lib/libdl-2.24.so\n7f599d40f000-7f599d410000 rw-p 00003000 00:11 13785317                   /usr/lib/libdl-2.24.so\n7f599d410000-7f599d417000 r
"..., 1024) = 1024
read(3, "321                   /usr/lib/librt-2.24.so\n7f599d417000-7f599d616000 ---p 00007000 00:11 13785321                   /usr/lib/librt-2.24.so\n7f599d616000-7f599
d617000 r--p 00006000 00:11 13785321                   /usr/lib/librt-2.24.so\n7f599d617000-7f599d618000 rw-p 00007000 00:11 13785321                   /usr/lib/librt-2.2
4.so\n7f599d618000-7f599d660000 r-xp 00000000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f599d660000-7f599d85f000 ---p 00048000 00:11 10594939
               /usr/lib/libevent-2.0.so.5.1.10\n7f599d85f000-7f599d860000 r--p 00047000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f599d860000-7f5
99d861000 rw-p 00048000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f599d861000-7f599d862000 rw-p 00000000 00:00 0 \n7f599d862000-7f599d87a000 r-xp
 00000000 00:11 13785245                   /usr/lib/libpthread-2.24.so\n7f599d87a000-7f599da79000 ---p 00018000 00:11 13785245                   /usr/lib/libpthread-2.24"
..., 1024) = 1024
read(3, "7a000 r--p 00017000 00:11 13785245                   /usr/lib/libpthread-2.24.so\n7f599da7a000-7f599da7b000 rw-p 00018000 00:11 13785245                   /usr/l
ib/libpthread-2.24.so\n7f599da7b000-7f599da7f000 rw-p 00000000 00:00 0 \n7f599da7f000-7f599daa4000 r-xp 00000000 00:11 9183621                    /usr/lib/libgc.so.1.0.3\
n7f599daa4000-7f599dca3000 ---p 00025000 00:11 9183621                    /usr/lib/libgc.so.1.0.3\n7f599dca3000-7f599dca4000 r--p 00024000 00:11 9183621
  /usr/lib/libgc.so.1.0.3\n7f599dca4000-7f599dca5000 rw-p 00025000 00:11 9183621                    /usr/lib/libgc.so.1.0.3\n7f599dca5000-7f599dce7000 rw-p 00000000 00:00
 0 \n7f599dce7000-7f599dd59000 r-xp 00000000 00:11 12468560                   /usr/lib/libpcre.so.1.2.7\n7f599dd59000-7f599df58000 ---p 00072000 00:11 12468560
        /usr/lib/libpcre.so.1.2.7\n7f599df58000-7f599df59000 r--p 00071000 00:11 12468560                   /usr/lib/libpcre.so.1.2.7\n7f599df59000-7f599df5a000 rw-p 0007
"..., 1024) = 1024
read(3, "              /usr/lib/libpcre.so.1.2.7\n7f599df5a000-7f599df7d000 r-xp 00000000 00:11 13785263                   /usr/lib/ld-2.24.so\n7f599e123000-7f599e12c000
rw-p 00000000 00:00 0 \n7f599e17c000-7f599e17d000 r--p 00022000 00:11 13785263                   /usr/lib/ld-2.24.so\n7f599e17d000-7f599e17e000 rw-p 00023000 00:11 137852
63                   /usr/lib/ld-2.24.so\n7f599e17e000-7f599e17f000 rw-p 00000000 00:00 0 \n7ffcd1109000-7ffcd112a000 rw-p 00000000 00:00 0                          [stac
k]\n7ffcd1131000-7ffcd1133000 r--p 00000000 00:00 0                          [vvar]\n7ffcd1133000-7ffcd1135000 r-xp 00000000 00:00 0                          [vdso]\nffff
ffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]\n", 1024) = 742
close(3)                                = 0
sched_getaffinity(19291, 32, [0 1 2 3 4 5 6 7]) = 16
brk(0x6c5000)                           = 0x6c5000
brk(0x6d5000)                           = 0x6d5000
brk(0x6e5000)                           = 0x6e5000
brk(0x6f5000)                           = 0x6f5000
rt_sigaction(SIGPWR, {0x7f599da99ae0, ~[INT QUIT ABRT BUS SEGV TERM RTMIN RT_1], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f599d873080}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {0x7f599da998c0, ~[INT QUIT ABRT BUS SEGV TERM RTMIN RT_1], SA_RESTORER|SA_RESTART, 0x7f599d873080}, NULL, 8) = 0
open("/proc/stat", O_RDONLY)            = 3
read(3, "cpu  8006186 22583 1301357 23237770 163941 0 6493 0 0 0\ncpu0 1167674 3943 205052 11982671 115822 0 5454 0 0 0\ncpu1 1039162 2854 131921 1613042 5084 0 26 0 0 0\
ncpu2 1058519 2313 206670 1579507 8528 0 314 0 0 0\ncpu3 721039 2997 131347 1645041 6150 0 61 0 0 0\ncpu4 1064126 2547 185271 1583875 7927 0 279 0 0 0\ncpu5 957067 2593 1
28678 1623585 5783 0 24 0 0 0\ncpu6 1043852 3090 182563 1584509 8829 0 300 0 0 0\ncpu7 954741 2241 129850 1625536 5815 0 30 0 0 0\nintr 117121751 19 170408 0 0 0 0 0 0 1
28344 0 0 16080485 0 0 0 281 0 0 0 0 0 0 1667 0 0 0 0 0 0 0 0 0 3714657 11 0 1070 7496561 6322906 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ".
.., 4096) = 1649
close(3)                                = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599c253000
mprotect(0x7f599c253000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599ca52ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599ca539d0, tls=0x7f599ca53700, child_tidptr=0x7f599ca539d0) = 19292
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599ba52000
mprotect(0x7f599ba52000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599c251ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599c2529d0, tls=0x7f599c252700, child_tidptr=0x7f599c2529d0) = 19293
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599b251000
mprotect(0x7f599b251000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599ba50ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599ba519d0, tls=0x7f599ba51700, child_tidptr=0x7f599ba519d0) = 19294
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599aa50000
mprotect(0x7f599aa50000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599b24fff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599b2509d0, tls=0x7f599b250700, child_tidptr=0x7f599b2509d0) = 19295
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599a24f000
mprotect(0x7f599a24f000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599aa4eff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599aa4f9d0, tls=0x7f599aa4f700, child_tidptr=0x7f599aa4f9d0) = 19296
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f5999a4e000
mprotect(0x7f5999a4e000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f599a24dff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f599a24e9d0, tls=0x7f599a24e700, child_tidptr=0x7f599a24e9d0) = 19297
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f599924d000
mprotect(0x7f599924d000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f5999a4cff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f5999a4d9d0, tls=0x7f5999a4d700, child_tidptr=0x7f5999a4d9d0) = 19298
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
futex(0x7f599dcb5b44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f599dcb5bc0, 14) = 7
futex(0x7f599dcb5bc0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f599dcb5bc0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f599dcb5b44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f599dcb5bc0, 28) = 7
futex(0x7f599dcb5b40, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f599dcb5b40, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f599dcb5b44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f599dcb5bc0, 38) = 5
futex(0x7f599dcb5bc0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f599dcb5b44, FUTEX_WAIT_PRIVATE, 42, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f599dcb5b40, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f599dcb5b40, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f599dcb5bc0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f599dcb5b44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f599dcb5bc0, 64) = 7
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
epoll_create(32000)                     = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
socketpair(AF_UNIX, SOCK_STREAM, 0, [4, 5]) = 0
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(5, F_GETFD)                       = 0
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(5, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
ioctl(0, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(0, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
ioctl(1, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(1, F_GETFL)                       = 0x8802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
fcntl(1, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
ioctl(2, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(2, F_GETFL)                       = 0x8802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
fcntl(2, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f599cc8a0b0}, {SIG_DFL, [], 0}, 8) = 0
pipe([6, 7])                            = 0
fcntl(6, F_GETFL)                       = 0 (flags O_RDONLY)
fcntl(6, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
fcntl(7, F_GETFL)                       = 0x1 (flags O_WRONLY)
fcntl(7, F_SETFL, O_WRONLY|O_NONBLOCK)  = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
fcntl(7, F_SETFD, FD_CLOEXEC)           = 0
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5998a4d000
madvise(0x7f5998a4d000, 8388608, MADV_NOHUGEPAGE) = 0
mprotect(0x7f5998a4d000, 4096, PROT_NONE) = 0
rt_sigaction(SIGCHLD, {0x419da0, [CHLD], SA_RESTORER|SA_RESTART, 0x7f599cc8a0b0}, {SIG_DFL, [], 0}, 8) = 0
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f599824d000
madvise(0x7f599824d000, 8388608, MADV_NOHUGEPAGE) = 0
mprotect(0x7f599824d000, 4096, PROT_NONE) = 0
sigaltstack({ss_sp=0x694cf0, ss_flags=0, ss_size=8192}, NULL) = 0
rt_sigaction(SIGSEGV, {0x42a3a0, [INT ILL BUS KILL SEGV PIPE TERM STKFLT CHLD URG], SA_RESTORER|SA_STACK|SA_SIGINFO, 0x7f599d873080}, NULL, 8) = 0
rt_sigaction(SIGBUS, {0x42a3a0, [INT ILL BUS KILL SEGV PIPE TERM STKFLT CHLD URG], SA_RESTORER|SA_STACK|SA_SIGINFO, 0x7f599d873080}, NULL, 8) = 0
ioctl(0, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {c_iflags=0x6004, c_oflags=0x4, c_cflags=0xbf, c_lflags=0xa30, c_line=0, c_cc[VMIN]=1, c_cc[VTIME]=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
                                                          ioctl(0, SNDCTL_TMR_START or TCSETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
close(7)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

You can see the ioctl calls setting the terminal modes.

ioctl(0, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0

Here we query the current state before setting the raw mode.

ioctl(0, SNDCTL_TMR_START or TCSETS, {c_iflags=0x6004, c_oflags=0x4, c_cflags=0xbf, c_lflags=0xa30, c_line=0, c_cc[VMIN]=1, c_cc[VTIME]=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0

This sets the raw mode

ioctl(0, SNDCTL_TMR_START or TCSETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0

and this restores the FD exactly like it previously was.

Now onto:

exit(0)
execve("./empty", ["./empty"], ["XDG_VTNR=2", "LC_PAPER=de_DE.utf8", "XDG_SESSION_ID=c2", "LC_MONETARY=de_DE.utf8", "GIO_LAUNCHED_DESKTOP_FILE_PID=2426", "WAYLAND_DISPLAY
=wayland-0", "XDG_MENU_PREFIX=gnome-", "SHELL=/bin/zsh", "LC_NUMERIC=de_DE.utf8", "USER=jhass", "DESKTOP_AUTOSTART_ID=10e2d18fe2ff86553147117802050611700000022440001", "S
SH_AUTH_SOCK=/run/user/1000/keyring/ssh", "SESSION_MANAGER=local/jhass-laptop:@/tmp/.ICE-unix/2244,unix/jhass-laptop:/tmp/.ICE-unix/2244", "USERNAME=jhass", "GIO_LAUNCHED
_DESKTOP_FILE=/etc/xdg/autostart/gnome-settings-daemon.desktop", "PATH=/home/jhass/.jenv/shims:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/local/bin:/opt/android-sdk/pla
tform-tools:/home/jhass/.bin:/home/jhass/bin:/home/jhass/.rvm/bin", "MAIL=/var/spool/mail/jhass", "DESKTOP_SESSION=gnome-wayland", "QT_QPA_PLATFORMTHEME=qgnomeplatform",
"XDG_SESSION_TYPE=wayland", "PWD=/home/jhass/scratchpad", "LANG=en_US.UTF-8", "GDM_LANG=en_US.utf8", "LC_MEASUREMENT=de_DE.utf8", "GDMSESSION=gnome-wayland", "XDG_SEAT=se
at0", "HOME=/home/jhass", "SHLVL=1", "GNOME_DESKTOP_SESSION_ID=this-is-deprecated", "LOGNAME=jhass", "XDG_SESSION_DESKTOP=gnome-wayland", "DBUS_SESSION_BUS_ADDRESS=unix:p
ath=/run/user/1000/bus", "DISPLAY=:0", "XDG_RUNTIME_DIR=/run/user/1000", "XDG_CURRENT_DESKTOP=GNOME", "LC_TIME=de_DE.utf8", "TERMINOLOGY=1", "TERM=xterm-256color", "XTERM
_256_COLORS=1", "OLDPWD=/home/jhass", "PAGER=less", "LESS=-R", "LC_CTYPE=en_US.utf8", "LSCOLORS=Gxfxcxdxbxegedabagacad", "EDITOR=vim", "CC=clang", "CXX=clang++", "MAKEFLA
GS=-j8", "MAKECFLAGS=-j8", "SUDO_PROMPT=[sudo] password: ", "LC_ALL=en_US.UTF-8", "CRYSTAL_CACHE_DIR=~/.crystal", "JENV_LOADED=1", "PS1=%{\33[38;5;250m%}%{\33[48;5;240m%}
 %n %{\33[48;5;238m%}%{\33[38;5;240m%}\356\202\260%{\33[38;5;250m%}%{\33[48;5;238m%} %m %{\33[48;5;31m%}%{\33[38;5;238m%}\356\202\260%{\33[38;5;15m%}%{\33[48;5;31m%} ~ %{
\33[48;5;237m%}%{\33[38;5;31m%}\356\202\260%{\33[38;5;250m%}%{\33[48;5;237m%} scratchpad %{\33[48;5;236m%}%{\33[38;5;237m%}\356\202\260%{\33[38;5;15m%}%{\33[48;5;236m%} %
# %{\33[0m%}%{\33[38;5;236m%}\356\202\260%{\33[0m%} ", "_=/usr/bin/strace"]) = 0
brk(NULL)                               = 0x2367000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_dev=makedev(0, 19), st_ino=14042340, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=640, st_size=325603, st_atime=2016/08/1
6-00:27:33.634899592, st_mtime=2016/08/16-00:27:33.544899060, st_ctime=2016/08/16-00:27:33.544899060}) = 0
mmap(NULL, 325603, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2851d83000
close(3)                                = 0
open("/usr/lib/libpcre.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \27\0\0\0\0\0\0@\0\0\0\0\0\0\0(\"\7\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\274\24\7\0\0\0\0\0\274\24\7\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210\34\7\0\0\0\0\0\210\34'\0\0\0\0\0\210\34'\0\0\0\0\0\220\4\0\0\0\0\0\0
`\5\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\260\35\7\0\0\0\0\0\260\35'\0\0\0\0\0\260\35'\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0
\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0@\304\6\0\0\0\0\0@\304\6\0\0\0\0\0@\304\6\0\0\0\0\0\344
\4\0\0\0\0\0\0\344\4\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\
0\0\0\210\34\7\0\0\0\0\0\210\34'\0\0\0\0\0\210\34'\0\0\0\0\0x\3\0\0\0\0\0\0x\3\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\231\17\351\224\22\217]R\6\352q{.\
315\363\312\243+\235\361\0\0\0\0F\0\0\0\34\0\0\0\4\0\0\0\10\0\0\0B\204\t\0\202!\20\240\250@\0\23\304\320\201\30\2\242X@\30\"D\v\200\30\10\1\">\226\2\0\0\0\0\34\0\0\0\35\0
\0\0\36\0\0\0\37\0\0\0 \0\0\0!\0\0\0\0\0\0\0\0\0\0\0\"\0\0\0#\0\0\0\0\0\0\0$\0\0\0%\0\0\0\0\0\0\0&\0\0\0\0\0\0\0'\0\0\0\0\0\0\0\0\0\0\0)\0\0\0*\0\0\0\0\0\0\0+\0\0\0\0\0\0
\0,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0-\0\0\0.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000\0\0\0001\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\000
3\0\0\0\0\0\0\0004\0\0\0006\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0007\0\0\0\0\0\0\0008\0\0\0009\0\0\0\0\0\0\0:\0\0\0\0\0\0\0\0\0\0\0;\0\0\0\0\0\0\0<\0\0\0=\0\0\0>\
0\0\0?\0\0\0@\0\0\0\371\262E2)\241H\16", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=12468560, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=920, st_size=469288, st_atime=2016/08/1
6-00:40:14.253113735, st_mtime=2016/06/18-01:26:22, st_ctime=2016/06/26-23:47:19.083840184}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2851d81000
mmap(NULL, 2564584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f285193e000
mprotect(0x7f28519b0000, 2093056, PROT_NONE) = 0
mmap(0x7f2851baf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x71000) = 0x7f2851baf000
close(3)                                = 0
open("/usr/lib/libgc.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300_\0\0\0\0\0\0@\0\0\0\0\0\0\0\210Y\2\0\0\0\0\0\0\0\0\0@\0008\0\10\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\204C\2\0\0\0\0\0\204C\2\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0D\f\0\0\0\0\0\0x/\4\0\0\0\0\0\0
\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\230L\2\0\0\0\0\0\230L\"\0\0\0\0\0\230L\"\0\0\0\0\0\20\2\0\0\0\0\0\0\20\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0\2\0\0\0\0\0\0\0\2\0\
0\0\0\0\0\0\2\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\10\0\0\
0\0\0\0\0P\345td\4\0\0\0 \337\1\0\0\0\0\0 \337\1\0\0\0\0\0 \337\1\0\0\0\0\0L\17\0\0\0\0\0\0L\17\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0(L\2\0\0\0\0\0(L\"\0\0\0\0\0(L\"\0\0\0\0\0\330\3\0\0\0\0\0\0\330\3\0\0\0\0\0\0\1\0\0\0\0\0
\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\351\10\t-\4P<\314.t\317\307]\3\201v\236\236Cs\0\0\0\0W\1\0\0W\0\0\0 \0\0\0\v\0\0\0\0\0\0\1\0\0\0\10\0A\t\0\350\1@*\0p\300\0\240F@\4\204
)\0\10HE\220 0\210\202\7\0\230\222\22\0!_\0\222\220A\4\334\235`\201 \2\1\5\260H,I\225\2\1@\0\200\0010\0\23\0\0@@B\0\1@\0\0 \246\203Q@\250\200A1B\34\200\0 \24\f\0000\240\2
\0\3(\4\26Na\10\6*\314\4\30\20\0030 @\6\10\20@\241\24&D\5\304\7\300\0\302R \1T\203B\1C\10AH \10\1\0\301A\202\200\2@\4\300 D\0\4\22\t-\0N\0`( (\300\0\215\20C\0!\204\0\261\
1\4\4B\2010FD\0\204\224\320\0\0\0\0\30\0\20\4\0@\4\0A\0\0\0\314 \0\320\1$\2\200\0\20\10\21\34\f(P\24\21\0\202\2\2\200\4\240\252\17\0\250\260=\10 \20T\0\1\20\200 \2\20\4\1
0\204\20\240\30\10\0\0\0\0W\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=9183621, st_mode=S_IFREG|0755, st_nlink=2, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=312, st_size=155784, st_atime=2016/08/15
-20:37:37.019755340, st_mtime=2015/12/05-16:30:51, st_ctime=2016/01/17-10:46:46.276273459}) = 0
mmap(NULL, 2522016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f28516d6000
mprotect(0x7f28516fb000, 2093056, PROT_NONE) = 0
mmap(0x7f28518fa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f28518fa000
mmap(0x7f28518fc000, 269216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f28518fc000
close(3)                                = 0
open("/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320`\0\0\0\0\0\0@\0\0\0\0\0\0\0\210&\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0$\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\
0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`4\1\0\0\0\0\0`4\1\0\0\0\0\0`4\1\0\0\0\0\0\36\0\0\0\0\0\0\0\36\0\0\0\0\0\0\0\
20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\334w\1\0\0\0\0\0\334w\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0x{\1\0\0\0\0\0x{!\0\0\0\0
\0x{!\0\0\0\0\0(\7\0\0\0\0\0\0\230H\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0P}\1\0\0\0\0\0P}!\0\0\0\0\0P}!\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\
4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\2004\1\0\0\0\0\0\2004\1\0\0\0\0\0\2004\1\0
\0\0\0\0\264\10\0\0\0\0\0\0\264\10\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0
\0\0R\345td\4\0\0\0x{\1\0\0\0\0\0x{!\0\0\0\0\0x{!\0\0\0\0\0\210\4\0\0\0\0\0\0\210\4\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\23\322JT\225\2564\365\216R@?
\221S&4\210\266,\364\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\345\1\0\0W\0\0\0 \0\0\0\v\0\0\0\31#\2\261\1\10\20\2@@a\370\3\10\10\25\200 \0\0\0
\0\200\300\321Q\0\0\0\22\353\3020D\0\10\20A\0\2\0\2\f\1\200\v\221\1\330\240\r\240@\230 \244\200\21\n\202-l@g\214V\24\0\224 \200$H\200P(\1\22\f\311B\240\220\22\10\f \2ZdA\
245c\4@\n\n\n\0\2009\1(\314D\204\201\300\22\10(\fD\0\0\0\200Q\10\200\35\4B\320\2608A\0\1\0\0\265\0300\0\200`\2\20\"\0\tA\20\1\5\0P(\251\22G(\0\0\202\4\230@\4\0\20\340T\0\
2@\2\2\20\3010f\26\200\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785245, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=288, st_size=143432, st_atime=2016/08/1
5-21:12:16.791465870, st_mtime=2016/08/06-13:17:40, st_ctime=2016/08/09-21:10:30.905583676}) = 0
mmap(NULL, 2212880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f28514b9000
mprotect(0x7f28514d1000, 2093056, PROT_NONE) = 0
mmap(0x7f28516d0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f28516d0000
mmap(0x7f28516d2000, 13328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f28516d2000
close(3)                                = 0
open("/usr/lib/libevent-2.0.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\320\0\0\0\0\0\0@\0\0\0\0\0\0\0\30\216\4\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0004s\4\0\0\0\0\0004s\4\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210z\4\0\0\0\0\0\210z$\0\0\0\0\0\210z$\0\0\0\0\0\210\22\0\0\0\0\0\0\20
0\31\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\200}\4\0\0\0\0\0\200}$\0\0\0\0\0\200}$\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\
1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\224\317\3\0\0\0\0\0\224\317\3\0\0\0\0\0\224\317\3\0\0\0\0\0
\354\26\0\0\0\0\0\0\354\26\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\34
5td\4\0\0\0\210z\4\0\0\0\0\0\210z$\0\0\0\0\0\210z$\0\0\0\0\0x\5\0\0\0\0\0\0x\5\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0T9\244\f\353\330?\271\237K?\302\22
3G>9g\242\377\323\0\0\0\0\372\3\0\0]\0\0\0@\0\0\0\f\0\0\0 \203\0B\1\200,p\201\210I\200\0\20\0\0\202\4d\4\1\24\201\304\4\3\3Tm\0\5\222\21\24\306\30(\200:(@\3@\340\0\0\0Jl\
10\314\25\300\212\250@\240\3 \1\24*\10\270\3\1\"\10\10\4\0 Q\264A\36T\264\0#\200\10\0\2\2\0\5\10\236\t\246\0\5\214\22\5\t\2\31\31\n\5\200\0 \0\4\1\20(\5\4\0\0\200\0\4@\20
\30\3\307\324\320\16\225p AC@\10\n\10(\310\350]\0\4p\4\1X\300$\n\300\10\2\322R\226bA\20\2\224\4\300)\205\201@\10\"\0\4\f4S\265v\n\243\1\4\0\22\311\200\0\320\200\200\202Q\
0@L\220\16\200@ \0\20\0D\"\0p\0m0\32\4R\240 \0\2\320L-\t\0\310D)!(\0\4\0\1\1 \300@\0\220@e\2\0000\"\10\230Q\f\200\201\232\20$\0\20\2\200\244\0004\0\4\20\0d U\7`\26\1\200\
0\2\224\320\1\21H\0\2\21\10\1\10D\311R\4F0\34a\f5\312\200\r.\240`\1@\30\0\20\210\3450\rE\0\21R\3s\210@\f\0\1\5\5\10\202\"", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=10594939, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=592, st_size=300312, st_atime=2016/08/1
6-13:54:58.420263658, st_mtime=2016/03/02-19:25:25, st_ctime=2016/03/07-16:47:05.214912590}) = 0
mmap(NULL, 2397192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f285126f000
mprotect(0x7f28512b7000, 2093056, PROT_NONE) = 0
mmap(0x7f28514b6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x7f28514b6000
mmap(0x7f28514b8000, 1032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f28514b8000
close(3)                                = 0
open("/usr/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320 \0\0\0\0\0\0@\0\0\0\0\0\0\0\240s\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0!\0 \0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0d\0\0\0\0\0\0\0d\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0Pm\0\0\0\0\0\0Pm \0\0\0\0\0Pm \0\0\0\0\0\374\4\0\0\0\0\0\0h\16\0\0\0\0\0\0\0\0 \0\
0\0\0\0\2\0\0\0\6\0\0\0pm\0\0\0\0\0\0pm \0\0\0\0\0pm \0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310
\1\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\210R\0\0\0\0\0\0\210R\0\0\0\0\0\0\210R\0\0\0\0\0\0,\2\0\0\0\0\0\0,\2\0\0\0\0\0\0\4\0\0\0\0\0\0
\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0Pm\0\0\0\0\0\0Pm \0\0\0\0\0Pm \0\0\0\0\0\
260\2\0\0\0\0\0\0\260\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0004\201\24\374\263Z\20\nn4mH^\340\273\257\276i\37\230\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0
\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0b\0\0\0?\0\0\0\10\0\0\0\t\0\0\0\1\0\204!0\0\10@\0\20P\213\340\6\22 \0\10\202@\0(\200 \t\3\0\4@\1@#\2\20\0\2\240\4 \0\10\0\0\2\0\4\0\200\2
10\206D\20\0\0\20\4P\20\2\322\4\1\4\206\0\0\0\0\0\0\0\0?\0\0\0@\0\0\0A\0\0\0\0\0\0\0B\0\0\0\0\0\0\0C\0\0\0\0\0\0\0E\0\0\0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0H\0\0\0\0\0\0\0I\0\0\0\0\0\0\0J\0\0\0\0\0\0\0L\0\0\0M\0\0\0\0\0\0\0N\0\0\0O\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0S\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785321, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=64, st_size=31712, st_atime=2016/08/15-
21:27:40.939227733, st_mtime=2016/08/06-13:17:49, st_ctime=2016/08/09-21:10:31.122252553}) = 0
mmap(NULL, 2128824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2851067000
mprotect(0x7f285106e000, 2093056, PROT_NONE) = 0
mmap(0x7f285126d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f285126d000
close(3)                                = 0
open("/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\r\0\0\0\0\0\0@\0\0\0\0\0\0\0\2201\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\324\37\0\0\0\0\0\0\324\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\0\0\0\0\0\0`- \0\0\0\0\0`- \0\0\0\0\0\20\3\0\0\0\0\0\0\220\3\0\0\0
\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\210-\0\0\0\0\0\0\210- \0\0\0\0\0\210- \0\0\0\0\0\20\2\0\0\0\0\0\0\20\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\
0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\360\31\0\0\0\0\0\0\360\31\0\0\0\0\0\0\360\31\0\0\0\0\0\0\274\0\0\0\0\0\
0\0\274\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0`-\0\0
\0\0\0\0`- \0\0\0\0\0`- \0\0\0\0\0\240\2\0\0\0\0\0\0\240\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\27\354i\t?\310\233\026665\352\177v\364aE\240\203\204\
4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\33\0\0\0\32\0\0\0\2\0\0\0\7\0\0\0\230\2\21\0\200H\0\4\22\0\0@\203(\10\236\32\0\0\0\0\0\0\0\33\0\0\0\0
\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\36\0\0\0\0\0\0\0\37\0\0\0\0\0\0\0 \0\0\0\"\0\0\0#\0\0\0%\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'\0\
0\0\0\0\0\0\0\0\0\0\353\26\251\30a\257\0\371\301S\200\30\273\25sB\257\304M\17\221!\374\370\6\2\4\371\3733\373\17\371\31sB\372\31sB\225\263_\31\177\236\320\30a\242\222\6\5
\350\7\371\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\1\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\375\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\337\
0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0 \0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785317, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=32, st_size=14608, st_atime=2016/08/15-
21:12:16.791465870, st_mtime=2016/08/06-13:17:49, st_ctime=2016/08/09-21:10:31.105585717}) = 0
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2850e63000
mprotect(0x7f2850e65000, 2097152, PROT_NONE) = 0
mmap(0x7f2851065000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f2851065000
close(3)                                = 0
open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220*\0\0\0\0\0\0@\0\0\0\0\0\0\0\330\22\v\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0%\0\"\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\354R\1\0\0\0\0\0\354R\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\270]\1\0\0\0\0\0\270]!\0\0\0\0\0\270]!\0\0\0\0\0\300\3\0\0\0\0\0\0x\6\0\0\
0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\330]\1\0\0\0\0\0\330]!\0\0\0\0\0\330]!\0\0\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0
\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\3243\1\0\0\0\0\0\3243\1\0\0\0\0\0\3243\1\0\0\0\0\0D\5\0\0\0\0\0\0D\5
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\270]\1\0\0\0\0
\0\270]!\0\0\0\0\0\270]!\0\0\0\0\0H\2\0\0\0\0\0\0H\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\243\211\332%v^\207\304\367:\212h)\253j\23J\253b\256\0\0\0\0
\203\0\0\0\26\0\0\0\20\0\0\0\n\0\0\0\23\34\3\30\4$\0\1\1\201\0T\4\6\210\20\200\204\0\10\0\10\5\200\2\0@\20D\20\0\266\2\200\320 \301\0\220\2024\1\0\4\10(@\2H\1\v \320\1\2(
\0235\4`l\322\0!\3p`@\322\200\10`\0@\1\0\200\1\0\0\2$\0\10\21\2\10H\300\1$\t\21(  \10C\v\246\202H\t\10\10\3D\f\n\34\22O\306\1\207\va\204\226\315\4\302\305\f\242\333\16\31
4\26\0\0\0\27\0\0\0\32\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\37\0\0\0 \0\0\0\"\0\0\0%\0\0\0'\0\0\0\0\0\0\0(\0\0\0*\0\0\0+\0\0\0.\0\0\0000\0\0\0003\0\0\0004\0\0\0007\0\0\0\0\0\0\
0008\0\0\0009\0\0\0<\0\0\0=\0\0\0?\0\0\0@\0\0\0A\0\0\0B\0\0\0C\0\0\0E\0\0\0\0\0\0\0F\0\0\0\0\0\0\0G\0\0\0\0\0\0\0\0\0\0\0H\0\0\0I\0\0\0K\0\0\0L\0\0\0M\0\0\0\0\0\0\0\0\0\0
\0O\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13786184, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=1424, st_size=728088, st_atime=2016/08/
15-21:55:00.365449855, st_mtime=2016/08/06-16:18:48, st_ctime=2016/08/09-21:10:36.235638036}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2851d7f000
mmap(NULL, 2188336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2850c4c000
mprotect(0x7f2850c62000, 2093056, PROT_NONE) = 0
mmap(0x7f2850e61000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f2850e61000
close(3)                                = 0
open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\3\2\0\0\0\0\0@\0\0\0\0\0\0\0\300\265\35\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0I\0F\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@
\0\0\0\0\0\0\0@\0\0\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`\247\26\0\0\0\0\0`\247\26\0\0\0\0\0`\247\26\0\0\0\0\0\36\0\0\0\0\0\0\0\36
\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220A\31\0\0\0\0\0\220A\31\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\210G\31
\0\0\0\0\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0XO\0\0\0\0\0\0\250\221\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`{\31\0\0\0\0\0`{9\0\0\0\0\0`{9\0\0\0\0\0\360\1\0\0\0\0\0\0\360
\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0\210G\31\0\0\0\0
\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0\20\0\0\0\0\0\0\0x\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\200\247\26\0\0\0\0\0\200\247\26\0\0\0\0\0\200\247\26\0\0\0\0\0\214Y\0\0
\0\0\0\0\214Y\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\2
10G\31\0\0\0\0\0\210G9\0\0\0\0\0\210G9\0\0\0\0\0x8\0\0\0\0\0\0x8\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\214\2722\227\3658i\36\261\207[\346)\206\231<\0O
?M\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0 \0\0\0\0\0\0\0\363\3\0\0\10\0\0\0\0\1\0\0\16\0\0\0\0000\20D\240 \2\1\210\3\346\220\305E\214\0\304\0\10\0\5\204\0`
\300\200\0\r\212\f\0\4\20\0\210@2\10*@\210T<, \0162H&\204\300\214\4\10\0\2\2\16\241\254\32\4f\300\0\3002\0\300\0P\1 \201\10\204\v  ($\0\4 Z\0\20X\200\312DB(\0\6\200\20\30
B\0 @\200\0IP\0Q\212@\22\0\0\0\0\10\0\0\21\20", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=13785264, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3816, st_size=1951744, st_atime=2016/08
/15-21:12:16.791465870, st_mtime=2016/08/06-13:17:48, st_ctime=2016/08/09-21:10:30.972251023}) = 0
mmap(NULL, 3791152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f28508ae000
mprotect(0x7f2850a43000, 2093056, PROT_NONE) = 0
mmap(0x7f2850c42000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7f2850c42000
mmap(0x7f2850c48000, 14640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2850c48000
close(3)                                = 0
open("/usr/lib/libatomic_ops.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\10\0\0\0\0\0\0@\0\0\0\0\0\0\0H!\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\32\0\31\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\17\0\0\0\0\0\0\4\17\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\350\35\0\0\0\0\0\0\350\35 \0\0\0\0\0\350\35 \0\0\0\0\0h\2\0\0\0\0\0\0x\3\0\
0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\0\36\0\0\0\0\0\0\0\36 \0\0\0\0\0\0\36 \0\0\0\0\0\320\1\0\0\0\0\0\0\320\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0
\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\214\r\0\0\0\0\0\0\214\r\0\0\0\0\0\0\214\r\0\0\0\0\0\0004\0\0\0\0\0
\0\0004\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0\350\3
5\0\0\0\0\0\0\350\35 \0\0\0\0\0\350\35 \0\0\0\0\0\30\2\0\0\0\0\0\0\30\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0|\24v[G\34\324\272\"\317\373\206aJ\2604\2
74\372\30\323\0\0\0\0\r\0\0\0\v\0\0\0\1\0\0\0\6\0\0\0\211\302%%\1\25@\t\0\0\0\0\v\0\0\0\f\0\0\0\r\0\0\0\16\0\0\0\20\0\0\0\21\0\0\0\0\0\0\0\22\0\0\0\23\0\0\0\24\0\0\0\0\0\
0\0\25\0\0\0a5\324i\1\3136\236CE\325\354\352\323\357\16\331qX\34\223\24_\37\271\215\361\16\251&&c\35\332\241\310\273\343\222|Q\22\36\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0\0\3\0\t\0\230\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\343\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\205\0\0
\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\357\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\0\0\0\22\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0a\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
fstat(3, {st_dev=makedev(0, 19), st_ino=12139016, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=24, st_size=10184, st_atime=2016/08/15-
20:37:37.026422057, st_mtime=2016/06/11-13:15:59, st_ctime=2016/06/14-10:55:45.891955288}) = 0
mmap(NULL, 2105696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f28506ab000
mprotect(0x7f28506ac000, 2097152, PROT_NONE) = 0
mmap(0x7f28508ac000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f28508ac000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2851d7c000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2851d7a000
arch_prctl(ARCH_SET_FS, 0x7f2851d7a700) = 0
mprotect(0x7f2850c42000, 16384, PROT_READ) = 0
mprotect(0x7f28508ac000, 4096, PROT_READ) = 0
mprotect(0x7f2850e61000, 4096, PROT_READ) = 0
mprotect(0x7f2851065000, 4096, PROT_READ) = 0
mprotect(0x7f28516d0000, 4096, PROT_READ) = 0
mprotect(0x7f285126d000, 4096, PROT_READ) = 0
mprotect(0x7f28514b6000, 4096, PROT_READ) = 0
mprotect(0x7f28518fa000, 4096, PROT_READ) = 0
mprotect(0x7f2851baf000, 4096, PROT_READ) = 0
mprotect(0x630000, 4096, PROT_READ)     = 0
mprotect(0x7f2851dd3000, 4096, PROT_READ) = 0
munmap(0x7f2851d83000, 325603)          = 0
set_tid_address(0x7f2851d7a9d0)         = 19415
set_robust_list(0x7f2851d7a9e0, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7f28514beb70, [], SA_RESTORER|SA_SIGINFO, 0x7f28514ca080}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f28514bec00, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f28514ca080}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x2367000
brk(0x2388000)                          = 0x2388000
open("/proc/self/maps", O_RDONLY|O_CLOEXEC) = 3
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
fstat(3, {st_dev=makedev(0, 4), st_ino=1888436, st_mode=S_IFREG|0444, st_nlink=1, st_uid=1000, st_gid=100, st_blksize=1024, st_blocks=0, st_size=0, st_atime=2016/08/16-17
:56:31.998094441, st_mtime=2016/08/16-17:56:31.998094441, st_ctime=2016/08/16-17:56:31.998094441}) = 0
read(3, "00400000-00431000 r-xp 00000000 00:2d 35118812                           /home/jhass/scratchpad/empty\n00630000-00631000 r--p 00030000 00:2d 35118812
               /home/jhass/scratchpad/empty\n00631000-00632000 rw-p 00031000 00:2d 35118812                           /home/jhass/scratchpad/empty\n02367000-02388000 rw-p
 00000000 00:00 0                                  [heap]\n7f28506ab000-7f28506ac000 r-xp 00000000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f285
06ac000-7f28508ac000 ---p 00001000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f28508ac000-7f28508ad000 r--p 00001000 00:11 12139016
    /usr/lib/libatomic_ops.so.1.0.3\n7f28508ad000-7f28508ae000 rw-p 00002000 00:11 12139016                   /usr/lib/libatomic_ops.so.1.0.3\n7f28508ae000-7f2850a43000 r
-xp 00000000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f2850a43000-7f2850c42000 ---p 00195000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f28"
..., 1024) = 1024
read(3, "-p 00194000 00:11 13785264                   /usr/lib/libc-2.24.so\n7f2850c46000-7f2850c48000 rw-p 00198000 00:11 13785264                   /usr/lib/libc-2.24.s
o\n7f2850c48000-7f2850c4c000 rw-p 00000000 00:00 0 \n7f2850c4c000-7f2850c62000 r-xp 00000000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f2850c62000-7f2850e
61000 ---p 00016000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f2850e61000-7f2850e62000 r--p 00015000 00:11 13786184                   /usr/lib/libgcc_s.so
.1\n7f2850e62000-7f2850e63000 rw-p 00016000 00:11 13786184                   /usr/lib/libgcc_s.so.1\n7f2850e63000-7f2850e65000 r-xp 00000000 00:11 13785317
    /usr/lib/libdl-2.24.so\n7f2850e65000-7f2851065000 ---p 00002000 00:11 13785317                   /usr/lib/libdl-2.24.so\n7f2851065000-7f2851066000 r--p 00002000 00:11
 13785317                   /usr/lib/libdl-2.24.so\n7f2851066000-7f2851067000 rw-p 00003000 00:11 13785317                   /usr/lib/libdl-2.24.so\n7f2851067000-7f285106
"..., 1024) = 1024
read(3, " 13785321                   /usr/lib/librt-2.24.so\n7f285106e000-7f285126d000 ---p 00007000 00:11 13785321                   /usr/lib/librt-2.24.so\n7f285126d000
-7f285126e000 r--p 00006000 00:11 13785321                   /usr/lib/librt-2.24.so\n7f285126e000-7f285126f000 rw-p 00007000 00:11 13785321                   /usr/lib/lib
rt-2.24.so\n7f285126f000-7f28512b7000 r-xp 00000000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f28512b7000-7f28514b6000 ---p 00048000 00:11 105949
39                   /usr/lib/libevent-2.0.so.5.1.10\n7f28514b6000-7f28514b7000 r--p 00047000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f28514b70
00-7f28514b8000 rw-p 00048000 00:11 10594939                   /usr/lib/libevent-2.0.so.5.1.10\n7f28514b8000-7f28514b9000 rw-p 00000000 00:00 0 \n7f28514b9000-7f28514d100
0 r-xp 00000000 00:11 13785245                   /usr/lib/libpthread-2.24.so\n7f28514d1000-7f28516d0000 ---p 00018000 00:11 13785245                   /usr/lib/libpthrea"
..., 1024) = 1024
read(3, "f28516d1000 r--p 00017000 00:11 13785245                   /usr/lib/libpthread-2.24.so\n7f28516d1000-7f28516d2000 rw-p 00018000 00:11 13785245
/usr/lib/libpthread-2.24.so\n7f28516d2000-7f28516d6000 rw-p 00000000 00:00 0 \n7f28516d6000-7f28516fb000 r-xp 00000000 00:11 9183621                    /usr/lib/libgc.so.
1.0.3\n7f28516fb000-7f28518fa000 ---p 00025000 00:11 9183621                    /usr/lib/libgc.so.1.0.3\n7f28518fa000-7f28518fb000 r--p 00024000 00:11 9183621
        /usr/lib/libgc.so.1.0.3\n7f28518fb000-7f28518fc000 rw-p 00025000 00:11 9183621                    /usr/lib/libgc.so.1.0.3\n7f28518fc000-7f285193e000 rw-p 00000000
 00:00 0 \n7f285193e000-7f28519b0000 r-xp 00000000 00:11 12468560                   /usr/lib/libpcre.so.1.2.7\n7f28519b0000-7f2851baf000 ---p 00072000 00:11 12468560
              /usr/lib/libpcre.so.1.2.7\n7f2851baf000-7f2851bb0000 r--p 00071000 00:11 12468560                   /usr/lib/libpcre.so.1.2.7\n7f2851bb0000-7f2851bb1000 rw-
"..., 1024) = 1024
read(3, "0                   /usr/lib/libpcre.so.1.2.7\n7f2851bb1000-7f2851bd4000 r-xp 00000000 00:11 13785263                   /usr/lib/ld-2.24.so\n7f2851d7a000-7f2851d
83000 rw-p 00000000 00:00 0 \n7f2851dd3000-7f2851dd4000 r--p 00022000 00:11 13785263                   /usr/lib/ld-2.24.so\n7f2851dd4000-7f2851dd5000 rw-p 00023000 00:11
13785263                   /usr/lib/ld-2.24.so\n7f2851dd5000-7f2851dd6000 rw-p 00000000 00:00 0 \n7fffa1386000-7fffa13a7000 rw-p 00000000 00:00 0
 [stack]\n7fffa13aa000-7fffa13ac000 r--p 00000000 00:00 0                          [vvar]\n7fffa13ac000-7fffa13ae000 r-xp 00000000 00:00 0                          [vdso]
\nffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]\n", 1024) = 748
close(3)                                = 0
sched_getaffinity(19415, 32, [0 1 2 3 4 5 6 7]) = 16
brk(0x2398000)                          = 0x2398000
brk(0x23a8000)                          = 0x23a8000
brk(0x23b8000)                          = 0x23b8000
brk(0x23c8000)                          = 0x23c8000
rt_sigaction(SIGPWR, {0x7f28516f0ae0, ~[INT QUIT ABRT BUS SEGV TERM RTMIN RT_1], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f28514ca080}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {0x7f28516f08c0, ~[INT QUIT ABRT BUS SEGV TERM RTMIN RT_1], SA_RESTORER|SA_RESTART, 0x7f28514ca080}, NULL, 8) = 0
open("/proc/stat", O_RDONLY)            = 3
read(3, "cpu  8009830 22587 1301796 23278138 164134 0 6495 0 0 0\ncpu0 1168510 3944 205131 11987220 115891 0 5455 0 0 0\ncpu1 1039635 2856 131947 1618127 5099 0 26 0 0 0\
ncpu2 1058949 2313 206734 1584561 8551 0 314 0 0 0\ncpu3 721376 2997 131393 1650239 6163 0 61 0 0 0\ncpu4 1064547 2548 185343 1588925 7955 0 279 0 0 0\ncpu5 957259 2594 1
28720 1628925 5805 0 24 0 0 0\ncpu6 1044672 3090 182637 1589184 8834 0 300 0 0 0\ncpu7 954877 2241 129886 1630952 5831 0 30 0 0 0\nintr 117183289 19 170486 0 0 0 0 0 0 1
28368 0 0 16101743 0 0 0 281 0 0 0 0 0 0 1667 0 0 0 0 0 0 0 0 0 3716131 11 0 1070 7498652 6326288 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ".
.., 4096) = 1649
close(3)                                = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284feaa000
mprotect(0x7f284feaa000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f28506a9ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f28506aa9d0, tls=0x7f28506aa700, child_tidptr=0x7f28506aa9d0) = 19416
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284f6a9000
mprotect(0x7f284f6a9000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284fea8ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284fea99d0, tls=0x7f284fea9700, child_tidptr=0x7f284fea99d0) = 19417
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284eea8000
mprotect(0x7f284eea8000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284f6a7ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284f6a89d0, tls=0x7f284f6a8700, child_tidptr=0x7f284f6a89d0) = 19418
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284e6a7000
mprotect(0x7f284e6a7000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284eea6ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284eea79d0, tls=0x7f284eea7700, child_tidptr=0x7f284eea79d0) = 19419
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284dea6000
mprotect(0x7f284dea6000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284e6a5ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284e6a69d0, tls=0x7f284e6a6700, child_tidptr=0x7f284e6a69d0) = 19420
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284d6a5000
mprotect(0x7f284d6a5000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284dea4ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284dea59d0, tls=0x7f284dea5700, child_tidptr=0x7f284dea59d0) = 19421
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f284cea4000
mprotect(0x7f284cea4000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f284d6a3ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, pare
nt_tidptr=0x7f284d6a49d0, tls=0x7f284d6a4700, child_tidptr=0x7f284d6a49d0) = 19422
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
futex(0x7f285190cb44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f285190cbc0, 14) = 7
futex(0x7f285190cb44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f285190cbc0, 20) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f285190cb44, FUTEX_WAKE_PRIVATE, 2147483647) = 7
futex(0x7f285190cb44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f285190cbc0, 34) = 7
futex(0x7f285190cbc0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f285190cb44, FUTEX_WAIT_PRIVATE, 37, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f285190cbc0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f285190cb44, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f285190cbc0, 60) = 7
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
epoll_create(32000)                     = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
socketpair(AF_UNIX, SOCK_STREAM, 0, [4, 5]) = 0
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(5, F_GETFD)                       = 0
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(5, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 100
getegid()                               = 100
ioctl(1, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(1, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl(1, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
ioctl(2, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(2, F_GETFL)                       = 0x8802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
fcntl(2, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f28508e10b0}, {SIG_DFL, [], 0}, 8) = 0
pipe([6, 7])                            = 0
fcntl(6, F_GETFL)                       = 0 (flags O_RDONLY)
fcntl(6, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
fcntl(7, F_GETFL)                       = 0x1 (flags O_WRONLY)
fcntl(7, F_SETFL, O_WRONLY|O_NONBLOCK)  = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
fcntl(7, F_SETFD, FD_CLOEXEC)           = 0
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f284c6a4000
madvise(0x7f284c6a4000, 8388608, MADV_NOHUGEPAGE) = 0
mprotect(0x7f284c6a4000, 4096, PROT_NONE) = 0
rt_sigaction(SIGCHLD, {0x419200, [CHLD], SA_RESTORER|SA_RESTART, 0x7f28508e10b0}, {SIG_DFL, [], 0}, 8) = 0
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f284bea4000
madvise(0x7f284bea4000, 8388608, MADV_NOHUGEPAGE) = 0
mprotect(0x7f284bea4000, 4096, PROT_NONE) = 0
sigaltstack({ss_sp=0x2367cf0, ss_flags=0, ss_size=8192}, NULL) = 0
rt_sigaction(SIGSEGV, {0x429810, [INT ILL TRAP ABRT FPE KILL USR2 TERM STKFLT CHLD URG], SA_RESTORER|SA_STACK|SA_SIGINFO, 0x7f28514ca080}, NULL, 8) = 0
rt_sigaction(SIGBUS, {0x429810, [INT ILL TRAP ABRT FPE KILL USR2 TERM STKFLT CHLD URG], SA_RESTORER|SA_STACK|SA_SIGINFO, 0x7f28514ca080}, NULL, 8) = 0
close(7)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

The only suspicious calls here I can spot are:

ioctl(1, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(1, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl(1, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
ioctl(2, TCGETS, {c_iflags=0x6506, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x08\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
fcntl(2, F_GETFL)                       = 0x8802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
fcntl(2, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0

Which set stdout (1) and stderr (2) into non blocking mode. This is probably done by libevent2, we should look into whether it has a teardown call that would undo it.

@jhass
Copy link
Member

jhass commented Aug 16, 2016

But I'm not certain it can affect the parent process.

You can try to unset it manually to see whether it makes any difference:

STDOUT.blocking = true
STDERR.blocking = true

@masukomi
Copy link
Contributor

setting STDOUT and STDERR to blocking absolutely fixed my problem @jhass. Thank you! What's particularly interesting (to me at least) is that setting either of them to blocking fixes it. It doesn't seem to matter which one, as long as ONE is set that way.

I'd be curious if this fixes @veelenga 's problem too.

Also, I'm not sure if we have 2 different problems, or if the STDIN.raw thing isn't just a red herring. I feel like that @veelenga may have just found another decent way to exercise the problem and capture it.

masukomi added a commit to masukomi/changelog_manager that referenced this issue Aug 18, 2016
The practical effect of this was that it screwed up vim when you used
changelog_manager as a pre-commit hook.

details here: crystal-lang/crystal#2065
@acook
Copy link

acook commented Dec 25, 2016

I just spent a couple of hours debugging a terminal redraw issue. Since I'm writing a commandline utility I assumed it had something to do with my terminal escape codes. Imagine my surprise when I discovered I could replicate the issue with touch empty.cr && crystal run empty.cr!

This issues breaks less and vim's ability to reliably draw, including git diff!

My workaround is to put @jhass's code into an ensure block before exiting.

For future reference I'm on Crystal 0.20.3 (2016-12-23) built through Homebrew on macOS 10.11.6 and iTerm2 3.0.13.

Terrible bug. Please fix this or point me to where I can fix it myself (presumably in the teardown code).

NOTE: This bug also affects the crystal command itself.
NOTE2: To workaround the issue with the command, you can do crystal <args> | tee /dev/null. This stops it from changing the state of the terminal.

@drosehn
Copy link

drosehn commented Apr 22, 2017

See also issue #2713

gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Apr 23, 2017
Patch restores blocking mode of file desriptors in exchange
of potential runtime deadlocks when dealing with stdio.

As it's a potentially invasive patch it's not enabled by default
and is available only under USE=blocking-stdio-hack

Reported-by: Renich Bon Ciric
Bug: crystal-lang/crystal#2065
Bug: https://bugs.gentoo.org/616256
Package-Manager: Portage-2.3.5, Repoman-2.3.2
@asterite
Copy link
Member

Closing as duplicate of #2713

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:stdlib
Projects
None yet
Development

No branches or pull requests

8 participants