On 2/29/24 12:11 PM, Dennis Clarke via Bug reports for the GNU Bourne
Again SHell wrote:
Well this has me a bit baffled.
I downloaded the bash source tarball for 5.2.21 and then applied the
few patches to get me to :
io$
io$ which bash
/opt/bw/bin/bash
io$ bash --version
GNU bash, version 5.2.26(1)-release (armv7l-unknown-linux-gnueabihf)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
io$
I then did a configure for a very stripped down shell :
configure --prefix=/opt/bw --enable-minimal-config \
> --enable-history --enable-strict-posix-default \
> --enable-threads=posix --with-curses --with-gnu-ld
This is a pretty darn minimal config there.
When I try to use that shell ( for just about anything ) I get this
message very often :
malloc: ../bash-5.2.21/dispose_cmd.c:249: assertion botched
free: called with already freed block argument
I can't reproduce this on a generic RHEL system using this configuration,
but that's probably not close enough to what you're using.
You're running the release version, so you don't have any bash malloc
debugging, but you could rebuild a version with valgrind:
make clean
make valgrind
(this basically removes all the malloc wrappers bash uses to give you
the file and line number information you saw).
Then see what it tells you.
It might be something as simple as using an old version of bison, for
example.