-
-
Notifications
You must be signed in to change notification settings - Fork 151
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
Cannot deal with undefined variables #4
Comments
Yes, this is a bug I just introduced in the process of making the AST more detailed. To convert osh to oil, I need to represent the different between After the AST is done evolving (based on three use cases I outlined at the end of this post: http://www.oilshell.org/blog/2017/01/06.html ) I need to make another pass on the executor to fix up stuff like this. Thanks for trying it! |
I fixed this with commit cb22624. That fixed the way we processed Now it complains about not having one argument, which isn't right either, but we're making progress :) If you are interested in helping let me know, or subscribe to oil-dev: http://lists.oilshell.org/private.cgi/oil-dev-oilshell.org/2017-March/thread.html
|
Why didn't this happen on my own machine? http://travis-ci.oilshell.org/srht-jobs/2021-02-06__19-34-07.wwz/_tmp/toil/logs/cpp-unit-all.txt --> COLLECT with 0 roots i = -2147483648 .AddressSanitizer:DEADLYSIGNAL ================================================================= ==3052==ERROR: AddressSanitizer: SEGV on unknown address 0x7f8666c53034 (pc 0x55618e7f6d5b bp 0x7ffc429f1190 sp 0x7ffc429f1180 T0) ==3052==The signal is caused by a READ memory access. #0 0x55618e7f6d5a in gc_heap::str_equals(gc_heap::Str*, gc_heap::Str*) /home/build/oil/mycpp/gc_heap.cc:260 #1 0x55618e7dafd0 in str_replace_test /home/build/oil/mycpp/my_runtime_test.cc:162 #2 0x55618e7e7bd6 in main /home/build/oil/mycpp/my_runtime_test.cc:779 #3 0x7f866924109a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) #4 0x55618e7d94b9 in _start (/home/build/oil/mycpp/_bin/my_runtime_test.asan+0xd4b9) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /home/build/oil/mycpp/gc_heap.cc:260 in gc_heap::str_equals(gc_heap::Str*, gc_heap::Str*)
But on a standard POSIX sh, the value of undefined variables are just nothing.
The text was updated successfully, but these errors were encountered: