bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Various small leaks


From: Grisha Levit
Subject: Re: Various small leaks
Date: Wed, 21 Jun 2023 13:36:51 -0400

On Wed, Jun 21, 2023, 10:08 Chet Ramey <chet.ramey@case.edu> wrote:
>
> On 6/17/23 4:02 AM, Grisha Levit wrote:
> > Found mostly by normal usage running a no-bash-malloc build with clang's
> > LeakSanitizer enabled.
>
> Are you running this on macOS or some other system?

I actually couldn't figure out how to get useful results from
LeakSanitizer on macOS.  It's disabled in Apple's build of clang and
though it's enabled in homebrew's it seemed to be producing bogus
results with unusable traces.

So I was testing on Linux, configured with:

~/src/bash/configure -C CC=clang CFLAGS='-g -O0 -fsanitize=leak
-fno-common -fno-omit-frame-pointer -fno-optimize-sibling-calls
-Wno-parentheses -Wno-format-security' --without-bash-malloc

This produces rather useful reports like:

$ LSAN_OPTIONS=detect-leaks=1:strip_path_prefix=$HOME/src/bash/ ./bash
-c 'BASH_ALIASES[foo]=bar'

=================================================================
==58001==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4 byte(s) in 1 object(s) allocated from:
    #0 0xaaaad6573fa4 in malloc
(/home/parallels/bld/bash-lsan/bash+0x63fa4) (BuildId:
f61b4a39b5a8121d7dce584eee376250b9b2a92a)
    #1 0xaaaad66333dc in xmalloc xmalloc.c:107:10
    #2 0xaaaad65d3e54 in string_list_internal subst.c:2798:13
    #3 0xaaaad65d40ec in string_list subst.c:2840:11
    #4 0xaaaad65e298c in expand_subscript_string subst.c:10935:13
    #5 0xaaaad660dff4 in assign_array_element_internal arrayfunc.c:386:9
    #6 0xaaaad660dc60 in assign_array_element arrayfunc.c:353:11
    #7 0xaaaad65d74a8 in do_assignment_internal subst.c:3588:15
    #8 0xaaaad65d7810 in do_word_assignment subst.c:3646:10
    #9 0xaaaad65f7608 in do_assignment_statements subst.c:12971:14
    #10 0xaaaad65e335c in expand_word_list_internal subst.c:13049:6
    #11 0xaaaad65e3290 in expand_words subst.c:12372:11
    #12 0xaaaad659f210 in execute_simple_command execute_cmd.c:4501:15
    #13 0xaaaad659caa8 in execute_command_internal execute_cmd.c:889:4
    #14 0xaaaad663f74c in parse_and_execute builtins/evalstring.c:549:17
    #15 0xaaaad657a308 in run_one_command shell.c:1452:12
    #16 0xaaaad6577e80 in main shell.c:757:7
    #17 0xffffbdd773f8 in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #18 0xffffbdd774c8 in __libc_start_main csu/../csu/libc-start.c:392:3
    #19 0xaaaad654866c in _start
(/home/parallels/bld/bash-lsan/bash+0x3866c) (BuildId:
f61b4a39b5a8121d7dce584eee376250b9b2a92a)

SUMMARY: LeakSanitizer: 4 byte(s) leaked in 1 allocation(s).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]