( ^ [ headless ]:1: Unexpected EOF while parsing command zzZZ ^~~~ [ headless ]:1: Command 'zzZZ' not found (OILS-ERR-100) declare -X ^~ [ headless ]:1: 'declare' doesn't accept flag -X break ^~~~~ [ headless ]:1: warning: Invalid control flow at top level continue ^~~~~~~~ [ headless ]:1: warning: Invalid control flow at top level so fastfunc.so fastlex.so frontend install libc.so line_input.so metrics mycpp oils-version.txt opy osh pea pgen2 posix_.so prebuilt pyext pylib shell.nix soil spec stdlib test testdata tools trees uninstall vendor web win32 yaks ysh x: mystdin PS1=osh-0.32$ 0 /home/uke/oil dbg '' _gen/core/runtime.asdl.cc _build/obj/cxx-dbg/_gen/core/runtime.asdl.o [9/39] cxx dbg '' mycpp/hash.cc _build/obj/cxx-dbg/mycpp/hash.o [10/39] cxx dbg '' mycpp/gc_builtins.cc _build/obj/cxx-dbg/mycpp/gc_builtins.o [11/39] cxx dbg '' _gen/bin/text_files.cc _build/obj/cxx-dbg/_gen/bin/text_files.o [12/39] cxx dbg '' _gen/cpp/build_stamp.cc _build/obj/cxx-dbg/_gen/cpp/build_stamp.o [13/39] cxx dbg '' mycpp/gc_mops.cc _build/obj/cxx-dbg/mycpp/gc_mops.o [14/39] cxx dbg '' cpp/fanos_shared.c _build/obj/cxx-dbg/cpp/fanos_shared.o [15/39] cxx dbg '' cpp/fanos.cc _build/obj/cxx-dbg/cpp/fanos.o [16/39] cxx dbg '' mycpp/mark_sweep_heap.cc _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o [17/39] cxx dbg '' _gen/frontend/syntax.asdl.cc _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o [18/39] cxx dbg '' cpp/frontend_flag_spec.cc _build/obj/cxx-dbg/cpp/frontend_flag_spec.o [19/39] cxx dbg '' cpp/core.cc _build/obj/cxx-dbg/cpp/core.o [20/39] cxx dbg '' cpp/frontend_pyreadline.cc _build/obj/cxx-dbg/cpp/frontend_pyreadline.o [21/39] cxx dbg '' cpp/libc.cc _build/obj/cxx-dbg/cpp/libc.o [22/39] cxx dbg '' cpp/pylib.cc _build/obj/cxx-dbg/cpp/pylib.o [23/39] cxx dbg '' cpp/osh_tdop.cc _build/obj/cxx-dbg/cpp/osh_tdop.o [24/39] cxx dbg '' cpp/frontend_match.cc _build/obj/cxx-dbg/cpp/frontend_match.o [25/39] cxx dbg '' cpp/osh.cc _build/obj/cxx-dbg/cpp/osh.o [26/39] cxx dbg '' cpp/pgen2.cc _build/obj/cxx-dbg/cpp/pgen2.o [27/39] cxx dbg '' _gen/data_lang/nil8.asdl.cc _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o [28/39] cxx dbg '' _gen/frontend/arg_types.cc _build/obj/cxx-dbg/_gen/frontend/arg_types.o [29/39] cxx dbg '' _gen/frontend/consts.cc _build/obj/cxx-dbg/_gen/frontend/consts.o [30/39] cxx dbg '' cpp/stdlib.cc _build/obj/cxx-dbg/cpp/stdlib.o [31/39] cxx dbg '' _gen/frontend/help_meta.cc _build/obj/cxx-dbg/_gen/frontend/help_meta.o [32/39] cxx dbg '' _gen/frontend/signal.cc _build/obj/cxx-dbg/_gen/frontend/signal.o [33/39] cxx dbg '' _gen/osh/arith_parse.cc _build/obj/cxx-dbg/_gen/osh/arith_parse.o [34/39] cxx dbg '' _gen/bin/oils_for_unix.mycpp-main.cc _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp-main.o [35/39] cxx dbg '' mycpp/gc_str.cc _build/obj/cxx-dbg/mycpp/gc_str.o [36/39] cxx dbg '' _gen/ysh/grammar_tables.cc _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o [37/39] cxx dbg '' _gen/bin/oils_for_unix.mycpp.cc _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o [38/39] LINK cxx dbg '' _bin/cxx-dbg/bin/oils_for_unix.mycpp _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp-main.o _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o _build/obj/cxx-dbg/_gen/bin/text_files.o _build/obj/cxx-dbg/_gen/core/runtime.asdl.o _build/obj/cxx-dbg/_gen/core/value.asdl.o _build/obj/cxx-dbg/_gen/cpp/build_stamp.o _build/obj/cxx-dbg/cpp/core.o _build/obj/cxx-dbg/cpp/data_lang.o _build/obj/cxx-dbg/cpp/fanos.o _build/obj/cxx-dbg/cpp/fanos_shared.o _build/obj/cxx-dbg/cpp/frontend_flag_spec.o _build/obj/cxx-dbg/cpp/frontend_match.o _build/obj/cxx-dbg/cpp/frontend_pyreadline.o _build/obj/cxx-dbg/cpp/libc.o _build/obj/cxx-dbg/cpp/osh.o _build/obj/cxx-dbg/cpp/osh_tdop.o _build/obj/cxx-dbg/cpp/pgen2.o _build/obj/cxx-dbg/cpp/pylib.o _build/obj/cxx-dbg/cpp/stdlib.o _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o _build/obj/cxx-dbg/_gen/display/pretty.asdl.o _build/obj/cxx-dbg/_gen/frontend/arg_types.o _build/obj/cxx-dbg/_gen/frontend/consts.o _build/obj/cxx-dbg/_gen/frontend/help_meta.o _build/obj/cxx-dbg/_gen/frontend/id_kind.asdl.o _build/obj/cxx-dbg/_gen/frontend/signal.o _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o _build/obj/cxx-dbg/mycpp/bump_leak_heap.o _build/obj/cxx-dbg/mycpp/gc_iolib.o _build/obj/cxx-dbg/mycpp/gc_mylib.o _build/obj/cxx-dbg/mycpp/gc_builtins.o _build/obj/cxx-dbg/mycpp/gc_mops.o _build/obj/cxx-dbg/mycpp/gc_str.o _build/obj/cxx-dbg/mycpp/hash.o _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o _build/obj/cxx-dbg/_gen/osh/arith_parse.o _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o [39/39] SYMLINK _bin/cxx-dbg/osh bin/oils_for_unix.mycpp '_bin/cxx-dbg/osh' -> 'bin/oils_for_unix.mycpp' parent/client BEFORE (PID 6812) total 0 lr-x------ 1 uke uke 64 Jun 25 15:02 0 -> pipe:[23624] l-wx------ 1 uke uke 64 Jun 25 15:02 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jun 25 15:02 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jun 25 15:02 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Jun 25 15:02 4 -> socket:[22419] lrwx------ 1 uke uke 64 Jun 25 15:02 5 -> socket:[22420] parent/client AFTER (PID 6812) total 0 lr-x------ 1 uke uke 64 Jun 25 15:02 0 -> pipe:[23624] l-wx------ 1 uke uke 64 Jun 25 15:02 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jun 25 15:02 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jun 25 15:02 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Jun 25 15:02 4 -> socket:[22419] [headless_demo.py] stdout_fd = 6 child/server (PID 6815) total 0 lrwx------ 1 uke uke 64 Jun 25 15:02 0 -> socket:[22420] lrwx------ 1 uke uke 64 Jun 25 15:02 1 -> socket:[22420] l-wx------ 1 uke uke 64 Jun 25 15:02 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jun 25 15:02 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv [FANOS] Connect stdin and stdout to one end of socketpair() and send control messages. osh writes debug messages (like this one) to stderr. [FANOS] received blob 'GETPID' [headless_demo.py] reply b'OK 6815' [FANOS] received blob 'EVAL echo hi' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo !!' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo one\necho two\necho three\n' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo 1;\necho 2;\necho 3\n' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL ( \necho subshell\n)\n' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL ls --color=auto' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL read x' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo "x: $x"' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL (' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL zzZZ' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL declare -X' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo PS1=${PS1@P}' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL echo $? $PWD' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL break' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL continue' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL return' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply b'OK ' [FANOS] received blob 'EVAL exit' [FANOS] received descriptor 7 [FANOS] received descriptor 8 [FANOS] received descriptor 9 [headless_demo.py] reply None