( ^ [ 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 astlex.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.22.0$ 0 /home/uke/oil /gc_mops.o [8/37] cxx dbg '' mycpp/hash.cc _build/obj/cxx-dbg/mycpp/hash.o [9/37] cxx dbg '' _gen/core/value.asdl.cc _build/obj/cxx-dbg/_gen/core/value.asdl.o [10/37] cxx dbg '' mycpp/gc_builtins.cc _build/obj/cxx-dbg/mycpp/gc_builtins.o [11/37] cxx dbg '' _gen/cpp/build_stamp.cc _build/obj/cxx-dbg/_gen/cpp/build_stamp.o [12/37] cxx dbg '' _gen/bin/text_files.cc _build/obj/cxx-dbg/_gen/bin/text_files.o [13/37] cxx dbg '' mycpp/gc_mylib.cc _build/obj/cxx-dbg/mycpp/gc_mylib.o [14/37] cxx dbg '' mycpp/mark_sweep_heap.cc _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o [15/37] cxx dbg '' _gen/frontend/syntax.asdl.cc _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o [16/37] cxx dbg '' cpp/fanos.cc _build/obj/cxx-dbg/cpp/fanos.o [17/37] cxx dbg '' cpp/core.cc _build/obj/cxx-dbg/cpp/core.o [18/37] cxx dbg '' cpp/libc.cc _build/obj/cxx-dbg/cpp/libc.o [19/37] cxx dbg '' cpp/frontend_pyreadline.cc _build/obj/cxx-dbg/cpp/frontend_pyreadline.o [20/37] cxx dbg '' cpp/frontend_match.cc _build/obj/cxx-dbg/cpp/frontend_match.o [21/37] cxx dbg '' cpp/osh.cc _build/obj/cxx-dbg/cpp/osh.o [22/37] cxx dbg '' cpp/pylib.cc _build/obj/cxx-dbg/cpp/pylib.o [23/37] cxx dbg '' cpp/osh_tdop.cc _build/obj/cxx-dbg/cpp/osh_tdop.o [24/37] cxx dbg '' cpp/pgen2.cc _build/obj/cxx-dbg/cpp/pgen2.o [25/37] cxx dbg '' _gen/data_lang/nil8.asdl.cc _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o [26/37] cxx dbg '' _gen/data_lang/pretty.asdl.cc _build/obj/cxx-dbg/_gen/data_lang/pretty.asdl.o [27/37] cxx dbg '' cpp/stdlib.cc _build/obj/cxx-dbg/cpp/stdlib.o [28/37] cxx dbg '' _gen/frontend/arg_types.cc _build/obj/cxx-dbg/_gen/frontend/arg_types.o [29/37] cxx dbg '' _gen/frontend/signal.cc _build/obj/cxx-dbg/_gen/frontend/signal.o [30/37] cxx dbg '' _gen/frontend/consts.cc _build/obj/cxx-dbg/_gen/frontend/consts.o [31/37] cxx dbg '' _gen/frontend/help_meta.cc _build/obj/cxx-dbg/_gen/frontend/help_meta.o [32/37] cxx dbg '' _gen/osh/arith_parse.cc _build/obj/cxx-dbg/_gen/osh/arith_parse.o [33/37] cxx dbg '' mycpp/gc_str.cc _build/obj/cxx-dbg/mycpp/gc_str.o [34/37] cxx dbg '' _gen/ysh/grammar_tables.cc _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o [35/37] cxx dbg '' _gen/bin/oils_for_unix.mycpp.cc _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o [36/37] 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/data_lang/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_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 [37/37] SYMLINK _bin/cxx-dbg oils-for-unix osh 'osh' -> 'oils-for-unix' parent/client BEFORE (PID 5638) total 0 lr-x------ 1 uke uke 64 Jul 17 00:35 0 -> pipe:[35937] l-wx------ 1 uke uke 64 Jul 17 00:35 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jul 17 00:35 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jul 17 00:35 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Jul 17 00:35 4 -> socket:[35345] lrwx------ 1 uke uke 64 Jul 17 00:35 5 -> socket:[35346] parent/client AFTER (PID 5638) total 0 lr-x------ 1 uke uke 64 Jul 17 00:35 0 -> pipe:[35937] l-wx------ 1 uke uke 64 Jul 17 00:35 1 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jul 17 00:35 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jul 17 00:35 3 -> /home/uke/oil/_tmp/soil/INDEX.tsv lrwx------ 1 uke uke 64 Jul 17 00:35 4 -> socket:[35345] [headless_demo.py] stdout_fd = 6 child/server (PID 5641) total 0 lrwx------ 1 uke uke 64 Jul 17 00:35 0 -> socket:[35346] lrwx------ 1 uke uke 64 Jul 17 00:35 1 -> socket:[35346] l-wx------ 1 uke uke 64 Jul 17 00:35 2 -> /home/uke/oil/_tmp/soil/logs/headless.txt l-wx------ 1 uke uke 64 Jul 17 00:35 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 5641' [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