abrt version: 1.1.18 architecture: x86_64 Attached file: backtrace, 162811 bytes cmdline: /bin/bash ./sample_min.sh component: bash Attached file: coredump, 21307392 bytes crash_function: _int_malloc executable: /bin/bash kernel: 2.6.35.13-92.fc14.x86_64 package: bash-4.1.7-4.fc14 rating: 4 reason: Process /bin/bash was killed by signal 11 (SIGSEGV) release: Fedora release 14 (Laughlin) time: 1312494974 uid: 500 comment ----- I was trying to debug the following bash script (which is a reduced example from a amuch bigger script, with added diagnostics), and it cause a core dump: #!/bin/bash # name_value_min.sh function padded_name_value { VAR_NAME=$1 VAR_DOLLAR="\$$VAR_NAME" VAR_VAL=$(eval "echo $VAR_DOLLAR") echo '1001' echo $FUNCNAME echo '1002' echo $VAR_NAME echo '1003' padded_name_value VAR_NAME padded_name_value 'VAR_NAME' padded_name_value $VAR_NAME padded_name_value "$VAR_NAME" echo '1004' echo $VAR_DOLLAR echo '1006' padded_name_value VAR_VAL padded_name_value 'VAR_VAL' padded_name_value $VAR_VAL padded_name_value "$VAR_VAL" echo '1007' PADDING_SIZE=30 FORMAT="%${PADDING_SIZE}s=[%s]\n" printf $FORMAT $VAR_NAME "$VAR_VAL" echo '1008' } function file_exists { VAR_NAME="$1" VAR_DOLLAR="\$$VAR_NAME" VAR_VAL=$(eval "echo $VAR_DOLLAR") MODE="$2" echo '2001' echo $FUNCNAME echo '2002' echo $VAR_NAME echo '2003' padded_name_value VAR_NAME padded_name_value 'VAR_NAME' padded_name_value $VAR_NAME padded_name_value "$VAR_NAME" echo '2004' echo $VAR_DOLLAR echo '2006' padded_name_value VAR_VAL padded_name_value 'VAR_VAL' padded_name_value $VAR_VAL padded_name_value "$VAR_VAL" echo '2007' } JB_FILE=$0 echo '3001' padded_name_value JB_FILE echo '3002' file_exists 'JB_FILE' 'r' echo '3003' padded_name_value JB_FILE echo '3004' ############## further comment In the 'production' script, the method 'padded_name_value' is used to print out formatted diagnostics, with the '=' lined up, but the method appears to fail when called within another method with strange results. The above reduced script was an an attempt to investigate further... JB_SRC_DIR_PARENT=[/home/software/updates/jboss] JB_SRC_DIR=[/home/software/updates/jboss/jboss-as-7.0.0.Final] How to reproduce ----- 1. ran bash script 2. 3.
Created attachment 516797 [details] File: backtrace
The sample output is from the production script, not the reduced example. However, it does show how name value pairs should be displayed - except that the '=' signs would actually be lined up.
Hmm... Reason for core dump is obvious: infinite recursion! (Isn't hindsight wonderful...)