bugGNU Octave - Bugs: bug #55432, clang w/ ASAN:...

 
 

bug #55432: clang w/ ASAN: stack-use-after-scope (starting octave)

Submitter:  Dmitri A. Sergatskov <dasergatskov>
Submitted:  Thu 10 Jan 2019 12:00:54 AM UTC
   
 
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Invalid Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 5.0.1 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 22 Jan 2019 11:58:01 PM UTC, comment #9: 

Great.  Closing report as Invalid.

Rik <rik5>
Group administrator
Tue 22 Jan 2019 11:47:17 PM UTC, comment #8: 

I compile with clang w/o asan all the time -- no problem.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 22 Jan 2019 11:43:40 PM UTC, comment #7: 

In the output, I see


HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext


and indeed the problem is occurring downstream from an Octave unwind_protect block.  My guess is that this is just a false positive.

If you compile without ASAN, can you start Octave?  Does it pass 'make check'?

If yes, then I think we can close this report.

Rik <rik5>
Group administrator
Tue 22 Jan 2019 10:52:29 PM UTC, comment #6: 

OK, I managed to downgrade to clang-6.0.1
The problem is still there:


clang -v
clang version 6.0.1 (tags/RELEASE_601/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/8
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64


hg id
f6730533820e (stable) tip


../configure CC=clang CXX=clang++ CFLAGS="-ggdb3 -O0 -fsanitize=address" CXXFLAGS="-ggdb3 -O0 -fsanitize=address" FFLAGS="-ggdb3 -O0" --enable-address-sanitizer-flags --without-qt --disable-java --disable-docs



./run-octave -q -f
=================================================================
==8206==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffda1d94ce0 at pc 0x7f49e6f02301 bp 0x7ffda1d945f0 sp 0x7ffda1d945e8
READ of size 8 at 0x7ffda1d94ce0 thread T0
    #0 0x7f49e6f02300 in std::__shared_ptr<octave::symbol_scope_rep, (__gnu_cxx::_Lock_policy)2>::operator bool() const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/shared_ptr_base.h:1291:16
    #1 0x7f49e73bd35e in octave::symbol_scope::unbind_script_symbols() /home/dima/src/octave/clang_asan/../libinterp/corefcn/symscope.h:1007:11
    #2 0x7f49e73d16bf in void std::__invoke_impl<void, void (octave::symbol_scope::*&)(), octave::symbol_scope*&>(std::__invoke_memfun_deref, void (octave::symbol_scope::*&)(), octave::symbol_scope*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14
    #3 0x7f49e73d1551 in std::__invoke_result<void (octave::symbol_scope::*&)(), octave::symbol_scope*&>::type std::__invoke<void (octave::symbol_scope::*&)(), octave::symbol_scope*&>(void (octave::symbol_scope::*&)(), octave::symbol_scope*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14
    #4 0x7f49e73d14ca in void std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11
    #5 0x7f49e73d1346 in void std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()>::operator()<void>() /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17
    #6 0x7f49e73d0dfc in std::_Function_handler<void (), std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()> >::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2
    #7 0x7f49e6dfca1e in std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14
    #8 0x7f49e6dfbb38 in octave::action_container::fcn_elem::run() /home/dima/src/octave/clang_asan/../liboctave/util/action-container.h:76:25
    #9 0x7f49e6df6d27 in octave::unwind_protect::run_first() /home/dima/src/octave/clang_asan/../liboctave/util/unwind-prot.h:67:16
    #10 0x7f49e6dfa9ab in octave::action_container::run(unsigned long) /home/dima/src/octave/clang_asan/../liboctave/util/action-container.h:200:9
    #11 0x7f49e6dfa829 in octave::action_container::run() /home/dima/src/octave/clang_asan/../liboctave/util/action-container.h:203:23
    #12 0x7f49e6df5452 in octave::unwind_protect::~unwind_protect() /home/dima/src/octave/clang_asan/../liboctave/util/unwind-prot.h:56:30
    #13 0x7f49e739ea78 in octave::tree_evaluator::execute_user_script(octave_user_script&, int, octave_value_list const&) /home/dima/src/octave/clang_asan/../libinterp/parse-tree/pt-eval.cc:1522:3
    #14 0x7f49e70d46b1 in octave_user_script::call(octave::tree_evaluator&, int, octave_value_list const&) /home/dima/src/octave/clang_asan/../libinterp/octave-value/ov-usr-fcn.cc:168:13
    #15 0x7f49e7319be5 in octave::source_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan/../libinterp/parse-tree/oct-parse.yy:5065:11
    #16 0x7f49e7cad584 in octave::load_path::execute_pkg_add_or_del(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan/../libinterp/corefcn/load-path.cc:856:7
    #17 0x7f49e7cad0fc in octave::load_path::execute_pkg_add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan/../libinterp/corefcn/load-path.cc:834:5
    #18 0x7f49e7c7e31e in octave::interpreter::execute_pkg_add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan/../libinterp/corefcn/interpreter.cc:1224:21
    #19 0x7f49e7c7ed94 in octave::interpreter::initialize_load_path(bool)::$_0::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /home/dima/src/octave/clang_asan/../libinterp/corefcn/interpreter.cc:607:43
    #20 0x7f49e7c7ebd1 in std::_Function_handler<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), octave::interpreter::initialize_load_path(bool)::$_0>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2
    #21 0x7f49e7cc0748 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14
    #22 0x7f49e7c9efe9 in octave::load_path::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool) /home/dima/src/octave/clang_asan/../libinterp/corefcn/load-path.cc:291:11
    #23 0x7f49e7c9e016 in octave::load_path::initialize(bool) /home/dima/src/octave/clang_asan/../libinterp/corefcn/load-path.cc:234:5
    #24 0x7f49e7c78bdc in octave::interpreter::initialize_load_path(bool) /home/dima/src/octave/clang_asan/../libinterp/corefcn/interpreter.cc:609:21
    #25 0x7f49e7c7914b in octave::interpreter::initialize() /home/dima/src/octave/clang_asan/../libinterp/corefcn/interpreter.cc:636:5
    #26 0x7f49e7c7973b in octave::interpreter::execute() /home/dima/src/octave/clang_asan/../libinterp/corefcn/interpreter.cc:648:9
    #27 0x7f49e6259051 in octave::cli_application::execute() /home/dima/src/octave/clang_asan/../libinterp/octave.cc:391:25
    #28 0x5186f2 in main /home/dima/src/octave/clang_asan/../src/main-cli.cc:92:14
    #29 0x7f49dfc0e412 in __libc_start_main (/lib64/libc.so.6+0x24412)
    #30 0x41b55d in _start (/home/dima/src/octave/clang_asan/src/.libs/lt-octave-cli+0x41b55d)

Address 0x7ffda1d94ce0 is located in stack of thread T0 at offset 384 in frame
    #0 0x7f49e739ddaf in octave::tree_evaluator::execute_user_script(octave_user_script&, int, octave_value_list const&) /home/dima/src/octave/clang_asan/../libinterp/parse-tree/pt-eval.cc:1466

  This frame has 9 object(s):
    [32, 64) 'file_name' (line 1469)
    [96, 184) 'frame' (line 1479)
    [224, 228) 'ref.tmp' (line 1482)
    [240, 256) 'coerce'
    [272, 288) 'coerce10'
    [304, 352) 'block' (line 1504)
    [384, 400) 'script_scope' (line 1506) <== Memory access at offset 384 is inside this variable
    [416, 432) 'coerce14'
    [448, 464) 'ref.tmp15' (line 1508)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/shared_ptr_base.h:1291:16 in std::__shared_ptr<octave::symbol_scope_rep, (__gnu_cxx::_Lock_policy)2>::operator bool() const
Shadow bytes around the buggy address:
  0x1000343aa940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000343aa950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000343aa960: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
  0x1000343aa970: 00 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00
  0x1000343aa980: 00 00 00 f2 f2 f2 f2 f2 f8 f2 00 00 f2 f2 00 00
=>0x1000343aa990: f2 f2 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2[f8]f8 f2 f2
  0x1000343aa9a0: 00 00 f2 f2 f8 f8 f3 f3 00 00 00 00 00 00 00 00
  0x1000343aa9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000343aa9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000343aa9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000343aa9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==8206==ABORTING


Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 22 Jan 2019 09:44:55 PM UTC, comment #5: 

I will try, though it is kind of involved -- Fedora provide runtime for older clangs, but not the compiler...

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 22 Jan 2019 09:39:53 PM UTC, comment #4: 

Can you go forward or backwards a revision in clang to see if it an upstream issue?  If there is no trouble with a clang 6.X compilation then I think we can say it is a problem with the clang 7.0.1 release.

Rik <rik5>
Group administrator
Tue 22 Jan 2019 09:34:16 PM UTC, comment #3: 

Yes it is still a problem that I see. I cannot run
octave compiled with clang with ASAN.

It is quite possible it is a false positive.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 22 Jan 2019 06:35:20 PM UTC, comment #2: 

Is this still an issue?

Is it really just a false positive with clang 7.0.1 and ASAN?

Rik <rik5>
Group administrator
Thu 10 Jan 2019 01:51:54 AM UTC, comment #1: 

To determine whether this is just a clang issue, can you go backwards or forwards a version?

Rik <rik5>
Group administrator
Thu 10 Jan 2019 12:00:54 AM UTC, original submission:  

I tried to compile octave with clang and asan.
I cannot start the compiled binary:


ASAN_OPTIONS=detect_stack_use_after_scope=0 ./run-octave -f -q
=================================================================
==18596==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fffc2144420 at pc 0x7fcc26dcb1f1 bp 0x7fffc2143d30 sp 0x7fffc2143d28
READ of size 8 at 0x7fffc2144420 thread T0
    #0 0x7fcc26dcb1f0 in std::__shared_ptr<octave::symbol_scope_rep, (__gnu_cxx::_Lock_policy)2>::operator bool() const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/shared_ptr_base.h:1291:16
    #1 0x7fcc2728847e in octave::symbol_scope::unbind_script_symbols() /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/symscope.h:1007:11
    #2 0x7fcc2729c83f in void std::__invoke_impl<void, void (octave::symbol_scope::*&)(), octave::symbol_scope*&>(std::__invoke_memfun_deref, void (octave::symbol_scope::*&)(), octave::symbol_scope*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14
    #3 0x7fcc2729c6d1 in std::__invoke_result<void (octave::symbol_scope::*&)(), octave::symbol_scope*&>::type std::__invoke<void (octave::symbol_scope::*&)(), octave::symbol_scope*&>(void (octave::symbol_scope::*&)(), octave::symbol_scope*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14
    #4 0x7fcc2729c645 in void std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11
    #5 0x7fcc2729c4b6 in void std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()>::operator()<void>() /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17
    #6 0x7fcc2729bf6c in std::_Function_handler<void (), std::_Bind<void (octave::symbol_scope::* (octave::symbol_scope*))()> >::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2
    #7 0x7fcc26cc404e in std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14
    #8 0x7fcc26cc3158 in octave::action_container::fcn_elem::run() /home/dima/src/octave/clang_asan_min/../liboctave/util/action-container.h:76:25
    #9 0x7fcc26cbe2b7 in octave::unwind_protect::run_first() /home/dima/src/octave/clang_asan_min/../liboctave/util/unwind-prot.h:67:16
    #10 0x7fcc26cc1f8b in octave::action_container::run(unsigned long) /home/dima/src/octave/clang_asan_min/../liboctave/util/action-container.h:200:9
    #11 0x7fcc26cc1e09 in octave::action_container::run() /home/dima/src/octave/clang_asan_min/../liboctave/util/action-container.h:203:23
    #12 0x7fcc26cbc9f2 in octave::unwind_protect::~unwind_protect() /home/dima/src/octave/clang_asan_min/../liboctave/util/unwind-prot.h:56:30
    #13 0x7fcc272699ae in octave::tree_evaluator::execute_user_script(octave_user_script&, int, octave_value_list const&) /home/dima/src/octave/clang_asan_min/../libinterp/parse-tree/pt-eval.cc:1522:3
    #14 0x7fcc26f9df71 in octave_user_script::call(octave::tree_evaluator&, int, octave_value_list const&) /home/dima/src/octave/clang_asan_min/../libinterp/octave-value/ov-usr-fcn.cc:168:13
    #15 0x7fcc271e437a in octave::source_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan_min/../libinterp/parse-tree/oct-parse.yy:5065:11
    #16 0x7fcc27b87f58 in octave::load_path::execute_pkg_add_or_del(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/load-path.cc:856:7
    #17 0x7fcc27b87acc in octave::load_path::execute_pkg_add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/load-path.cc:834:5
    #18 0x7fcc27b58aee in octave::interpreter::execute_pkg_add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/interpreter.cc:1224:21
    #19 0x7fcc27b59564 in octave::interpreter::initialize_load_path(bool)::$_0::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/interpreter.cc:607:43
    #20 0x7fcc27b593a1 in std::_Function_handler<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), octave::interpreter::initialize_load_path(bool)::$_0>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2
    #21 0x7fcc27b9b288 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14
    #22 0x7fcc27b79990 in octave::load_path::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/load-path.cc:291:11
    #23 0x7fcc27b7893c in octave::load_path::initialize(bool) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/load-path.cc:234:5
    #24 0x7fcc27b530c1 in octave::interpreter::initialize_load_path(bool) /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/interpreter.cc:609:21
    #25 0x7fcc27b5362b in octave::interpreter::initialize() /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/interpreter.cc:636:5
    #26 0x7fcc27b53c1b in octave::interpreter::execute() /home/dima/src/octave/clang_asan_min/../libinterp/corefcn/interpreter.cc:648:9
    #27 0x7fcc26120f61 in octave::cli_application::execute() /home/dima/src/octave/clang_asan_min/../libinterp/octave.cc:391:25
    #28 0x52ce3c in main /home/dima/src/octave/clang_asan_min/../src/main-cli.cc:92:14
    #29 0x7fcc1fb32412 in __libc_start_main (/lib64/libc.so.6+0x24412)
    #30 0x41c4fd in _start (/home/dima/src/octave/clang_asan_min/src/.libs/lt-octave-cli+0x41c4fd)

Address 0x7fffc2144420 is located in stack of thread T0 at offset 384 in frame
    #0 0x7fcc27268cef in octave::tree_evaluator::execute_user_script(octave_user_script&, int, octave_value_list const&) /home/dima/src/octave/clang_asan_min/../libinterp/parse-tree/pt-eval.cc:1466

  This frame has 9 object(s):
    [32, 64) 'file_name' (line 1469)
    [96, 184) 'frame' (line 1479)
    [224, 228) 'ref.tmp' (line 1482)
    [240, 256) 'coerce'
    [272, 288) 'coerce30'
    [304, 352) 'block' (line 1504)
    [384, 400) 'script_scope' (line 1506) <== Memory access at offset 384 is inside this variable
    [416, 432) 'coerce41'
    [448, 464) 'ref.tmp44' (line 1508)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope /usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/shared_ptr_base.h:1291:16 in std::__shared_ptr<octave::symbol_scope_rep, (__gnu_cxx::_Lock_policy)2>::operator bool() const
Shadow bytes around the buggy address:
  0x100078420830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100078420840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100078420850: 00 00 00 00 f1 f1 f1 f1 00 00 00 00 f2 f2 f2 f2
  0x100078420860: 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 f2
  0x100078420870: f8 f2 00 00 f2 f2 00 00 f2 f2 f8 f8 f8 f8 f8 f8
=>0x100078420880: f2 f2 f2 f2[f8]f8 f2 f2 00 00 f2 f2 f8 f8 f3 f3
  0x100078420890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000784208a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000784208b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000784208c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000784208d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==18596==ABORTING


May be it is an issue with clang (7.0.1) -- the detect_stack_use_after_scope=0 should suppress this diagnostic
but it does not.

But may be there is something in
../libinterp/corefcn/symscope.h:1007:11

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by dasergatskov (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-01-22 rik5 StatusNeed Info Invalid
        Open/ClosedOpen Closed
    2019-01-22 rik5 StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code