Results for append.test.sh

statusoshosh-cpp
pass 1112
ok 11
FAIL 87
total2020
caseoshosh-cppdescription
0pass pass Append string to string
1pass pass Append array to array
2FAIL FAIL Append string to undefined variable
detailsdetails
3FAIL FAIL Append to array to undefined variable
detailsdetails
4pass pass error: s+=(my array)
5pass pass error: myarray+=s
6pass pass typeset s+=(my array)
7pass pass error: typeset myarray+=s
8pass pass error: append used like env prefix
9pass pass myarray[1]+=s - Append to element
10pass pass myarray[-1]+=s - Append to last element
11pass pass Try to append list to element
12pass pass Strings have value semantics, not reference semantics
13FAIL FAIL typeset s+=
detailsdetails
14FAIL FAIL typeset s${dyn}+=
detailsdetails
15FAIL FAIL export readonly +=
detailsdetails
16FAIL FAIL local +=
detailsdetails
17FAIL FAIL assign builtin appending array: declare d+=(d e)
detailsdetails
18FAIL pass export+=array disallowed (strict_array)
details
19ok ok Type mismatching of lhs+=rhs should not cause a crash
detailsdetails
23 passed, 2 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped
8 failed under osh

Details on runs that didn't PASS

osh2 Append string to undefined variable

[osh stdout] Expected 's=foo\nt=foo\nt=foofoo\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp2 Append string to undefined variable

[osh-cpp stdout] Expected 's=foo\nt=foo\nt=foofoo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1251==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x561a8e30d0cf bp 0x7ffc364462b0 sp 0x7ffc36445c00 T0)
==1251==The signal is caused by a READ memory access.
==1251==Hint: address points to the zero page.
    #0 0x561a8e30d0ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x561a8e2caad3 in cmd_eval::CommandEvaluator::_DoShAssignment(syntax_asdl::command__ShAssignment*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37274
    #2 0x561a8e2d48ae in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38030
    #3 0x561a8e2d75be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #4 0x561a8e2d9312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #5 0x561a8e2263f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #6 0x561a8e3ea858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #7 0x561a8e156a73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #8 0x561a8e156fbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #9 0x561a8e3ecd97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #10 0x7f813ffdc09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #11 0x561a8e134fd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1251==ABORTING
osh3 Append to array to undefined variable

[osh stdout] Expected "['c', 'd']\n", got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp3 Append to array to undefined variable

[osh-cpp stdout] Expected "['c', 'd']\n", got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1285==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5641e9aa50cf bp 0x7fff2264cd60 sp 0x7fff2264c6b0 T0)
==1285==The signal is caused by a READ memory access.
==1285==Hint: address points to the zero page.
    #0 0x5641e9aa50ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x5641e9a62ad3 in cmd_eval::CommandEvaluator::_DoShAssignment(syntax_asdl::command__ShAssignment*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37274
    #2 0x5641e9a6c8ae in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38030
    #3 0x5641e9a6f5be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #4 0x5641e9a71312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #5 0x5641e99be3f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #6 0x5641e9b82858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #7 0x5641e98eea73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #8 0x5641e98eefbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #9 0x5641e9b84d97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #10 0x7faeff18f09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #11 0x5641e98ccfd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1285==ABORTING
osh13 typeset s+=

[osh stdout] Expected 's=foo\nt=foo\nt=foofoo\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp13 typeset s+=

[osh-cpp stdout] Expected 's=foo\nt=foo\nt=foofoo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1543==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x556dfa8100cf bp 0x7ffe12efe3b0 sp 0x7ffe12efdd00 T0)
==1543==The signal is caused by a READ memory access.
==1543==Hint: address points to the zero page.
    #0 0x556dfa8100ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x556dfa65e00a in assign_osh::_AssignVarForBuiltin(state::Mem*, value_asdl::value_t*, runtime_asdl::AssignArg*, runtime_asdl::scope_e, int) _gen/bin/oils_for_unix.mycpp.cc:11110
    #2 0x556dfa662140 in assign_osh::NewVar::Run(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:11388
    #3 0x556dfa7c3295 in cmd_eval::CommandEvaluator::_RunAssignBuiltin(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:36603
    #4 0x556dfa7c614c in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36798
    #5 0x556dfa7cc593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #6 0x556dfa7d7795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #7 0x556dfa7da5be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #8 0x556dfa7dc312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #9 0x556dfa7293f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #10 0x556dfa8ed858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #11 0x556dfa659a73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #12 0x556dfa659fbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #13 0x556dfa8efd97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #14 0x7f21a3f0209a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #15 0x556dfa637fd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1543==ABORTING
osh14 typeset s${dyn}+=

[osh stdout] Expected 'sx=foo\ntx=foo\ntx=foofoo\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp14 typeset s${dyn}+=

[osh-cpp stdout] Expected 'sx=foo\ntx=foo\ntx=foofoo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1574==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55ef81b1a0cf bp 0x7ffc6b97f8a0 sp 0x7ffc6b97f1f0 T0)
==1574==The signal is caused by a READ memory access.
==1574==Hint: address points to the zero page.
    #0 0x55ef81b1a0ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x55ef8196800a in assign_osh::_AssignVarForBuiltin(state::Mem*, value_asdl::value_t*, runtime_asdl::AssignArg*, runtime_asdl::scope_e, int) _gen/bin/oils_for_unix.mycpp.cc:11110
    #2 0x55ef8196c140 in assign_osh::NewVar::Run(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:11388
    #3 0x55ef81acd295 in cmd_eval::CommandEvaluator::_RunAssignBuiltin(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:36603
    #4 0x55ef81ad014c in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36798
    #5 0x55ef81ad6593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #6 0x55ef81ae1795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #7 0x55ef81ae45be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #8 0x55ef81ae6312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #9 0x55ef81a333f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #10 0x55ef81bf7858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #11 0x55ef81963a73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #12 0x55ef81963fbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #13 0x55ef81bf9d97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #14 0x7f9e6b88f09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #15 0x55ef81941fd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1574==ABORTING
osh15 export readonly +=

[osh stdout] Expected 'e=foo\nr=bar\ne=foofoo\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 269, in Run
    state.SetExport)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp15 export readonly +=

[osh-cpp stdout] Expected 'e=foo\nr=bar\ne=foofoo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1604==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55cc8ce3b0cf bp 0x7ffcae5cad00 sp 0x7ffcae5ca650 T0)
==1604==The signal is caused by a READ memory access.
==1604==Hint: address points to the zero page.
    #0 0x55cc8ce3b0ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x55cc8cc8900a in assign_osh::_AssignVarForBuiltin(state::Mem*, value_asdl::value_t*, runtime_asdl::AssignArg*, runtime_asdl::scope_e, int) _gen/bin/oils_for_unix.mycpp.cc:11110
    #2 0x55cc8cc89ea4 in assign_osh::Export::Run(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:11163
    #3 0x55cc8cdee295 in cmd_eval::CommandEvaluator::_RunAssignBuiltin(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:36603
    #4 0x55cc8cdf114c in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36798
    #5 0x55cc8cdf7593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #6 0x55cc8ce02795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #7 0x55cc8ce055be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #8 0x55cc8ce07312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #9 0x55cc8cd543f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #10 0x55cc8cf18858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #11 0x55cc8cc84a73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #12 0x55cc8cc84fbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #13 0x55cc8cf1ad97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #14 0x7f0a7709709a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #15 0x55cc8cc62fd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1604==ABORTING
osh16 local +=

[osh stdout] Expected 's=foo\ns=foofoo\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 575, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 420, in RunSimpleCommand
    status = self.cmd_ev.RunProc(proc, cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 2323, in RunProc
    status = self._Execute(proc.body)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1754, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 1985, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp16 local +=

[osh-cpp stdout] Expected 's=foo\ns=foofoo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1640==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x558a4a0040cf bp 0x7fffdbaa5b50 sp 0x7fffdbaa54a0 T0)
==1640==The signal is caused by a READ memory access.
==1640==Hint: address points to the zero page.
    #0 0x558a4a0040ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x558a49e5200a in assign_osh::_AssignVarForBuiltin(state::Mem*, value_asdl::value_t*, runtime_asdl::AssignArg*, runtime_asdl::scope_e, int) _gen/bin/oils_for_unix.mycpp.cc:11110
    #2 0x558a49e56140 in assign_osh::NewVar::Run(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:11388
    #3 0x558a49fb7295 in cmd_eval::CommandEvaluator::_RunAssignBuiltin(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:36603
    #4 0x558a49fba14c in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36798
    #5 0x558a49fc0593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #6 0x558a49fcb795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #7 0x558a49fce5be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #8 0x558a49fcf37c in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:38367
    #9 0x558a49fcc720 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38126
    #10 0x558a49fce5be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #11 0x558a49fd22ae in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:38641
    #12 0x558a49f13eba in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:24211
    #13 0x558a49fba0b4 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36792
    #14 0x558a49fc0593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #15 0x558a49fcb795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #16 0x558a49fce5be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #17 0x558a49fd0312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #18 0x558a49f1d3f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #19 0x558a4a0e1858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #20 0x558a49e4da73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #21 0x558a49e4dfbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #22 0x558a4a0e3d97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #23 0x7f53d4b0809a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #24 0x558a49e2bfd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1640==ABORTING
osh17 assign builtin appending array: declare d+=(d e)

[osh stdout] Expected 'd e\nd e c l\nr e\nl o\nl o c a\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh-cpp17 assign builtin appending array: declare d+=(d e)

[osh-cpp stdout] Expected 'd e\nd e c l\nr e\nl o\nl o c a\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1674==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55bcee2fb0cf bp 0x7ffdfac0e8f0 sp 0x7ffdfac0e240 T0)
==1674==The signal is caused by a READ memory access.
==1674==Hint: address points to the zero page.
    #0 0x55bcee2fb0ce in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:42390
    #1 0x55bcee14900a in assign_osh::_AssignVarForBuiltin(state::Mem*, value_asdl::value_t*, runtime_asdl::AssignArg*, runtime_asdl::scope_e, int) _gen/bin/oils_for_unix.mycpp.cc:11110
    #2 0x55bcee14d140 in assign_osh::NewVar::Run(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:11388
    #3 0x55bcee2ae295 in cmd_eval::CommandEvaluator::_RunAssignBuiltin(runtime_asdl::cmd_value__Assign*) _gen/bin/oils_for_unix.mycpp.cc:36603
    #4 0x55bcee2b114c in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36798
    #5 0x55bcee2b7593 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37192
    #6 0x55bcee2c2795 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:38022
    #7 0x55bcee2c55be in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38302
    #8 0x55bcee2c7312 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38473
    #9 0x55bcee2143f9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24883
    #10 0x55bcee3d8858 in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:59433
    #11 0x55bcee144a73 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10814
    #12 0x55bcee144fbf in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:10846
    #13 0x55bcee3dad97 in main _gen/bin/oils_for_unix.mycpp.cc:59458
    #14 0x7f42bb64709a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #15 0x55bcee122fd9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x13afd9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV _gen/bin/oils_for_unix.mycpp.cc:42390 in sh_expr_eval::OldValue(value_asdl::sh_lvalue_t*, state::Mem*, optview::Exec*, syntax_asdl::loc_t*)
==1674==ABORTING
osh18 export+=array disallowed (strict_array)

[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 269, in Run
    state.SetExport)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
osh19 Type mismatching of lhs+=rhs should not cause a crash

stdout:
stderr: 
  s+=(1)
  ^~~
[ stdin ]:6: fatal: Can't append array to string
osh-cpp19 Type mismatching of lhs+=rhs should not cause a crash

stdout:
stderr: 
  s+=(1)
  ^~~
[ stdin ]:6: fatal: Can't append array to string