bug-bash
[Top][All Lists]
Advanced

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

malloc: ../bash-5.2.21/dispose_cmd.c:249: assertion botched


From: Dennis Clarke
Subject: malloc: ../bash-5.2.21/dispose_cmd.c:249: assertion botched
Date: Thu, 29 Feb 2024 12:11:25 -0500
User-agent: Mozilla Thunderbird


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


That seems to be a message about a double free() call somewhere?

Here is an example of what I see when I have that minimal shell as my login shell and I try something like a "configure" of GNU make :

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$ pwd
/opt/bw/build/make-4.4.1_debian_10_armv7l.002
io$
io$ echo $-
his
io$ set -x

io$ echo $-
+ echo hixs
hixs
io$

io$ /opt/bw/bin/bash -x ./configure --prefix=/opt/bw --program-prefix=g
+ /opt/bw/bin/bash -x ./configure --prefix=/opt/bw --program-prefix=g
+ DUALCASE=1
+ export DUALCASE
+ as_nop=:
+ test
+ :
+ case `(set -o) 2>/dev/null` in
+ :
+ set -o posix
+ as_nl='
'
+ export as_nl
+ IFS='
'
+ PS1='$ '
+ PS2='> '
+ PS4='+ '
+ LC_ALL=C
+ export LC_ALL
+ LANGUAGE=C
+ export LANGUAGE
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${BASH_ENV+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${ENV+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${MAIL+y}'
./configure: line 68: bad substitution: no closing `}' in ����������

+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${MAILPATH+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${CDPATH+y}'
++ test
+ :
+ :
+ :
+ exec
+ :
+ :
+ PATH_SEPARATOR=:
+ as_myself=
+ case $0 in
+ as_myself=./configure
+ test x./configure = x
+ test '!' -f ./configure
+ test x '!=' xno
+ test x/opt/bw/bin/bash '!=' x
+ _as_can_reexec=no
+ export _as_can_reexec
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ unset BASH_ENV ENV
+ case $- in
+ as_opts=-x
+ exec /opt/bw/bin/bash -x ./configure --prefix=/opt/bw --program-prefix=g
+ DUALCASE=1
+ export DUALCASE
+ as_nop=:
+ test
+ :
+ case `(set -o) 2>/dev/null` in
+ :
+ set -o posix
+ as_nl='
'
+ export as_nl
+ IFS='
'
+ PS1='$ '
+ PS2='> '
+ PS4='+ '
+ LC_ALL=C
+ export LC_ALL
+ LANGUAGE=C
+ export LANGUAGE
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${BASH_ENV+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${ENV+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${MAIL+y}'
./configure: line 68: bad substitution: no closing `}' in ����������

+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${MAILPATH+y}'
++ test
+ :
+ for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+ eval test '${CDPATH+y}'
++ test
+ :
+ :
+ :
+ exec
+ :
+ :
+ PATH_SEPARATOR=:
+ as_myself=
+ case $0 in
+ as_myself=./configure
+ test x./configure = x
+ test '!' -f ./configure

malloc: ../bash-5.2.21/dispose_cmd.c:249: assertion botched
free: called with already freed block argument
Aborting...Aborted
io$

Well ... I have to go back to using the bash provided by the Linaro
folks and see if there is a way to track this down. I see this problem
on an ASUS TinkerBoard armv7l thing which is a pretty cool little board
and very minimal.

--
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken



reply via email to

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