( ^ [ headless ]:1: Unexpected EOF while parsing command zzZZ ^~~~ [ headless ]:1: '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 unc.so fastlex.so frontend install lazylex libc.so line_input.so metrics mycpp oil-version.txt opy osh pea pgen2 posix_.so prebuilt pyext pylib shell.nix soil spec stdlib test testdata tools trees uninstall vendor web yaks ysh x: mystdin PS1=osh-0.24.0$ 0 /home/uke/oil core/value.asdl.o [8/38] cxx dbg '' mycpp/gc_builtins.cc _build/obj/cxx-dbg/mycpp/gc_builtins.o [9/38] cxx dbg '' mycpp/gc_mops.cc _build/obj/cxx-dbg/mycpp/gc_mops.o [10/38] cxx dbg '' mycpp/hash.cc _build/obj/cxx-dbg/mycpp/hash.o [11/38] cxx dbg '' mycpp/gc_mylib.cc _build/obj/cxx-dbg/mycpp/gc_mylib.o [12/38] cxx dbg '' _gen/bin/text_files.cc _build/obj/cxx-dbg/_gen/bin/text_files.o [13/38] cxx dbg '' _gen/cpp/build_stamp.cc _build/obj/cxx-dbg/_gen/cpp/build_stamp.o [14/38] cxx dbg '' cpp/fanos_shared.c _build/obj/cxx-dbg/cpp/fanos_shared.o [15/38] cxx dbg '' cpp/fanos.cc _build/obj/cxx-dbg/cpp/fanos.o [16/38] cxx dbg '' mycpp/mark_sweep_heap.cc _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o [17/38] cxx dbg '' _gen/frontend/syntax.asdl.cc _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o [18/38] cxx dbg '' cpp/core.cc _build/obj/cxx-dbg/cpp/core.o [19/38] cxx dbg '' cpp/frontend_flag_spec.cc _build/obj/cxx-dbg/cpp/frontend_flag_spec.o [20/38] cxx dbg '' cpp/libc.cc _build/obj/cxx-dbg/cpp/libc.o [21/38] cxx dbg '' cpp/frontend_pyreadline.cc _build/obj/cxx-dbg/cpp/frontend_pyreadline.o [22/38] cxx dbg '' cpp/frontend_match.cc _build/obj/cxx-dbg/cpp/frontend_match.o [23/38] cxx dbg '' cpp/osh_tdop.cc _build/obj/cxx-dbg/cpp/osh_tdop.o [24/38] cxx dbg '' cpp/pylib.cc _build/obj/cxx-dbg/cpp/pylib.o [25/38] cxx dbg '' cpp/osh.cc _build/obj/cxx-dbg/cpp/osh.o [26/38] cxx dbg '' cpp/stdlib.cc _build/obj/cxx-dbg/cpp/stdlib.o [27/38] cxx dbg '' cpp/pgen2.cc _build/obj/cxx-dbg/cpp/pgen2.o [28/38] cxx dbg '' _gen/data_lang/nil8.asdl.cc _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o [29/38] cxx dbg '' _gen/frontend/arg_types.cc _build/obj/cxx-dbg/_gen/frontend/arg_types.o [30/38] cxx dbg '' _gen/frontend/consts.cc _build/obj/cxx-dbg/_gen/frontend/consts.o [31/38] cxx dbg '' _gen/frontend/help_meta.cc _build/obj/cxx-dbg/_gen/frontend/help_meta.o [32/38] cxx dbg '' _gen/frontend/signal.cc _build/obj/cxx-dbg/_gen/frontend/signal.o [33/38] cxx dbg '' _gen/osh/arith_parse.cc _build/obj/cxx-dbg/_gen/osh/arith_parse.o [34/38] cxx dbg '' mycpp/gc_str.cc _build/obj/cxx-dbg/mycpp/gc_str.o [35/38] cxx dbg '' _gen/ysh/grammar_tables.cc _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o [36/38] cxx dbg '' _gen/bin/oils_for_unix.mycpp.cc _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o [37/38] LINK cxx dbg '' _bin/cxx-dbg/oils-for-unix _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_builtins.o _build/obj/cxx-dbg/mycpp/gc_iolib.o _build/obj/cxx-dbg/mycpp/gc_mops.o _build/obj/cxx-dbg/mycpp/gc_mylib.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 [38/38] SYMLINK _bin/cxx-dbg oils-for-unix osh 'osh' -> 'oils-for-unix' parent/client BEFORE (PID 6288) total 0 lr-x------ 1 uke uke 64 Nov 18 07:03 0 -> pipe:[37047] l-wx------ 1 uke uke 64 Nov 18 07:03 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Nov 18 07:03 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Nov 18 07:03 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Nov 18 07:03 4 -> socket:[37048] lrwx------ 1 uke uke 64 Nov 18 07:03 5 -> socket:[37049] parent/client AFTER (PID 6288) total 0 lr-x------ 1 uke uke 64 Nov 18 07:03 0 -> pipe:[37047] l-wx------ 1 uke uke 64 Nov 18 07:03 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Nov 18 07:03 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Nov 18 07:03 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Nov 18 07:03 4 -> socket:[37048] [headless_demo.py] stdout_fd = 6 child/server (PID 6291) total 0 lrwx------ 1 uke uke 64 Nov 18 07:03 0 -> socket:[37049] lrwx------ 1 uke uke 64 Nov 18 07:03 1 -> socket:[37049] l-wx------ 1 uke uke 64 Nov 18 07:03 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Nov 18 07:03 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 6291' [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