<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>190128</bug_id>
          
          <creation_ts>2007-08-25 03:50 0000</creation_ts>
          <short_desc>bash-3.2_p20+ aborts &quot;source&quot; commands when encountering read only variables</short_desc>
          <delta_ts>2008-01-05 22:24:44 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://lists.gnu.org/archive/html/bug-bash/2007-08/msg00075.html</bug_file_loc>
          
          <keywords>InSVN</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>200044</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>anarchy@gentoo.org</reporter>
          <assigned_to>dev-portage@gentoo.org</assigned_to>
          <cc>andriy155@gmail.com</cc>
    
    <cc>base-system@gentoo.org</cc>
    
    <cc>david@watzke.cz</cc>
    
    <cc>ferringb@gmail.com</cc>
    
    <cc>jakub@gentoo.org</cc>
    
    <cc>jieryn@gmail.com</cc>
    
    <cc>polynomial-c@gentoo.org</cc>
    
    <cc>rose@rz.uni-potsdam.de</cc>
    
    <cc>samvimes@fastmail.fm</cc>
    
    <cc>shawn.t.rutledge@gmail.com</cc>

      

      
          <long_desc isprivate="0">
            <who>anarchy@gentoo.org</who>
            <bug_when>2007-08-25 03:50:23 0000</bug_when>
            <thetext>hasq is no longer a part of bash resulting in many hasq commands not found, not sure if it is just an alias drop or what happened.

Reproducible: Always




Portage 2.1.3.7 (default-linux/amd64/2007.0, gcc-4.2.1, glibc-2.6.1-r0, 2.6.23-rc3 x86_64)
=================================================================
System uname: 2.6.23-rc3 x86_64 AMD Athlon(tm) 64 Processor 3800+
Gentoo Base System release 1.12.10
Timestamp of tree: Sat, 25 Aug 2007 03:30:01 +0000
ccache version 2.4 [disabled]
dev-lang/python:     2.4.4-r4, 2.5.1-r2
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17.50.0.18
sys-devel/gcc-config: 1.4.0
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS=&quot;amd64 ~amd64&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;x86_64-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=athlon64 -msse3 -ffast-math -ftracer -fprefetch-loop-arrays -pipe -fforce-addr -ftree-vectorize&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/share/X11/xkb&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo&quot;
CXXFLAGS=&quot;-O2 -march=athlon64 -msse3 -ffast-math -ftracer -fprefetch-loop-arrays -pipe -fforce-addr -ftree-vectorize&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo&quot;
LC_ALL=&quot;en_US.utf8&quot;
LDFLAGS=&quot;-Wl,-O1 -Wl,--sort-common -Wl,--as-needed&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/home/gentoo&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;3dnow 3dnowext X a52 aac acpi alsa amd64 amr amrweb berkdb bitmap-fonts branding bzip2 cdr cli cpudetection cracklib crypt cups dbus dri dvd dvdr dvdread encode ffmpeg firefox gdm gif gnome gtk hal iconv jpeg mad mmx mmxext moznopango mp3 ncurses networkmanager nptl nptlonly nsplugin nss ogg opengl pam pcre perl pic png python readline sdl session spell sse sse2 sse3 ssl svg tcpd tiff truetype-fonts type1-fonts unicode vorbis x264 xinerama xorg xv xvid zlib&quot; ALSA_CARDS=&quot;atiixp atiixp-modem&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw copy dshare dsnoop extplug file hooks ladspa lfloat linear meter mulaw multi null rate route share shm&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;mouse keyboard synaptics&quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;radeon fglrx&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2007-08-25 07:13:01 0000</bug_when>
            <thetext>It seems like there&apos;s come kind of problem with nested &quot;source&quot; statements. I&apos;ve masked bash-3.2_p25 to prevent others from hitting this.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>genone@gentoo.org</who>
            <bug_when>2007-08-25 07:59:10 0000</bug_when>
            <thetext>Looks like this is caused by bash32-020, as bash-3.2_p19 works fine while bash-3.2_p20 shows this error.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2007-08-25 09:15:13 0000</bug_when>
            <thetext>Created an attachment (id=129123)
test script

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo-bugzilla@rejs.pl.eu.org</who>
            <bug_when>2007-08-25 16:22:19 0000</bug_when>
            <thetext>Anyway this bug can seriously damage system... if one will be upgrading packages. I made out to damage udev, hald &amp; nvidia-drivers. Pretty hard to get to know what is going on as for instance udev was clearing /proc/sys/kernel/hotplug :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2007-08-26 04:46:19 0000</bug_when>
            <thetext>*** Bug 190166 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-08-27 09:39:58 0000</bug_when>
            <thetext>*** Bug 190375 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-09-07 08:09:41 0000</bug_when>
            <thetext>*** Bug 191565 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-09-10 13:44:24 0000</bug_when>
            <thetext>*** Bug 191981 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2007-10-25 16:52:49 0000</bug_when>
            <thetext>considering the bash change is standards compliant, i think we need to put together a new &quot;source&quot; function that basically weeds out readonly variables from the file based on the active environment before sourcing it</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2007-11-19 10:31:38 0000</bug_when>
            <thetext>Created an attachment (id=136358)
use egrep to filter out readonly variables

This patch seems to work. The readonly variables are filtered out by egrep when the environment is saved. This solution is pretty simple. It would probably be a little more complex to implement a safe &quot;source&quot; function.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2007-11-19 16:17:26 0000</bug_when>
            <thetext>doing it at the save step should probably be fine for most uses

implementing source wouldnt be terribly hard, but if you already have stuff in place to do it at saving ...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2007-11-23 03:57:29 0000</bug_when>
            <thetext>In bash-3.2_p25.ebuild I&apos;ve added a blocker for &lt;sys-apps/portage-2.1.4_rc1 so that we can unmask bash-3.2_p25 and emerge will automatically adjust the merge
order such that portage is upgraded before bash.

I&apos;ve left bash-3.2_p25 in package.mask for the time being, until portage-2.1.4_rc1 has had more testing.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ferringb@gmail.com</who>
            <bug_when>2008-01-05 22:24:44 0000</bug_when>
            <thetext>(In reply to comment #11)
&gt; doing it at the save step should probably be fine for most uses
&gt; 
&gt; implementing source wouldnt be terribly hard, but if you already have stuff in
&gt; place to do it at saving ...
Doing it at *just* the save step means that further extensions of readonly vars in the portage env can cause new breakages, and means you&apos;re slightly screwed with the collection of vdb envs that are already out there.

You&apos;re going to need the filtering at the reload level imo, not just saving (think this bug proves out why save filtering alone isn&apos;t enough).</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>129123</attachid>
            <date>2007-08-25 09:15 0000</date>
            <desc>test script</desc>
            <filename>test.sh</filename>
            <type>text/plain</type>
            <data encoding="base64">IyEvYmluL2Jhc2gtMy4yX3AyMAp1bnNldCBNT08gQ09XCmNhdCA8PCBFT0YgPiBzb3VyY2UtdGVz
dC5zaApNT089MQpVSUQ9MQpDT1c9MQpFT0YKc291cmNlIC4vc291cmNlLXRlc3Quc2gKZWNobyBX
QU5UOiBNT089MSBDT1c9MQplY2hvIEhBVkU6IE1PTz0kTU9PIENPVz0kQ09XCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136358</attachid>
            <date>2007-11-19 10:31 0000</date>
            <desc>use egrep to filter out readonly variables</desc>
            <filename>save_ebuild_env.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGJpbi9lYnVpbGQuc2gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmluL2VidWlsZC5zaAkocmV2aXNp
b24gODUyOCkKKysrIGJpbi9lYnVpbGQuc2gJKHdvcmtpbmcgY29weSkKQEAgLTEwNTQsOCArMTA1
NCw4IEBACiAJZWNobyAiJHtVU0V9IgkJPiBVU0UKIAllY2hvICIke0VBUEk6LTB9Igk+IEVBUEkK
IAlzZXQgK2YKLQlzZXQgICAgICAgICAgICAgICAgICAgICA+ICBlbnZpcm9ubWVudAotCWV4cG9y
dCB8IHNlZCAnczpeZGVjbGFyZSAtcng6ZGVjbGFyZSAteDonID4+IGVudmlyb25tZW50CisKKwlz
YXZlX2VidWlsZF9lbnYgPiBlbnZpcm9ubWVudAogCWJ6aXAyIC1mOSBlbnZpcm9ubWVudAogCiAJ
Y3AgIiR7RUJVSUxEfSIgIiR7UEZ9LmVidWlsZCIKQEAgLTE0NjcsNiArMTQ2Nyw0NyBAQAogCVBB
VEg9IiR7c3RyaXBwZWRfcGF0aH0iCiB9CiAKK3NhdmVfZWJ1aWxkX2VudigpIHsKKwkjIEluIGJh
c2gtMy4yX3AyMCsgYW4gYXR0ZW1wdCB0byBhc3NpZ24gQkFTSF8qLCBGVU5DTkFNRSwgR1JPVVBT
IG9yIGFueQorCSMgcmVhZG9ubHkgdmFyaWFibGUgY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQgd2hp
bGUgZXhlY3V0aW5nIHRoZSAic291cmNlIgorCSMgYnVpbHRpbiBjb21tYW5kLiBUbyBhdm9pZCB0
aGlzIHByb2JsZW0sIHRoaXMgZnVuY3Rpb24gZmlsdGVycyB0aG9zZQorCSMgdmFyaWFibGVzIG91
dCBhbmQgZGlzY2FyZHMgdGhlbS4gU2VlIGJ1ZyAjMTkwMTI4LgorCWxvY2FsIHJlYWRvbmx5X3Zh
cnM9JChyZWFkb25seSB8IHdoaWxlIHJlYWQgbGluZTsgXAorCQlkbyBbWyAke2xpbmV9ID09ICJk
ZWNsYXJlIC0iKiIgIioiPSIqIF1dIHx8IGNvbnRpbnVlIDsgXAorCQl4PSR7bGluZSUlPSp9IDsg
ZWNobyAke3gjIyogfSA7IGRvbmUpCisJbG9jYWwgeCB2YXJfZ3JlcD0iIgorCWZvciB4IGluIEJB
U0ggU0FOREJPWCA7IGRvCisJCXZhcl9ncmVwPSIke3Zhcl9ncmVwfXwoXnxeZGVjbGFyZVtbOnNw
YWNlOl1dKy1bXls6c3BhY2U6XV0rW1s6c3BhY2U6XV0rKSR7eH1fW19bOmFsbnVtOl1dKj0uKiIK
Kwlkb25lCisJZm9yIHggaW4gJHtyZWFkb25seV92YXJzfSB2YXJfZ3JlcCBMRF9QUkVMT0FEIEZB
S0VST09US0VZIEZVTkNOQU1FIEdST1VQUyA7IGRvCisJCXZhcl9ncmVwPSIke3Zhcl9ncmVwfXwo
XnxeZGVjbGFyZVtbOnNwYWNlOl1dKy1bXls6c3BhY2U6XV0rW1s6c3BhY2U6XV0rKSR7eH09Lioi
CisJZG9uZQorCXZhcl9ncmVwPSR7dmFyX2dyZXA6MX0gIyBzdHJpcCB0aGUgZmlyc3QgfAorCXVu
c2V0IHggcmVhZG9ubHlfdmFycworCSgKKwkJIyBUaGVyZSdzIG5vIG5lZWQgdG8gYmxvYXQgZW52
aXJvbm1lbnQuYnoyIHdpdGggaW50ZXJuYWxseSBkZWZpbmVkCisJCSMgZnVuY3Rpb25zIGFuZCB2
YXJpYWJsZXMsIHNvIGZpbHRlciB0aGVtIG91dCBpZiBwb3NzaWJsZS4KKworCQl1bnNldCAtZiBk
dW1wX3RyYWNlIGRpZWZ1bmMgcXVpZXRfbW9kZSB2ZWNobyBlbG9nX2Jhc2UgZXFhd2FybiBlbG9n
IFwKKwkJCWVzeXNsb2cgZWluZm8gZWluZm9uIGV3YXJuIGVlcnJvciBlYmVnaW4gX2VlbmQgZWVu
ZCBLVl9tYWpvciBcCisJCQlLVl9taW5vciBLVl9taWNybyBLVl90b19pbnQgZ2V0X0tWIHVuc2V0
X2NvbG9ycyBzZXRfY29sb3JzIGhhcyBcCisJCQloYXN2IGhhc3EgcWFfc291cmNlIHFhX2NhbGwg
YWRkcmVhZCBhZGR3cml0ZSBhZGRkZW55IGFkZHByZWRpY3QgXAorCQkJbGNob3duIGxjaGdycCBl
c3lzbG9nIHVzZSB1c2V2IHVzZXEgaGFzX3ZlcnNpb24gcG9ydGFnZXEgXAorCQkJYmVzdF92ZXJz
aW9uIHVzZV93aXRoIHVzZV9lbmFibGUgcmVnaXN0ZXJfZGllX2hvb2sgY2hlY2tfS1YgXAorCQkJ
a2VlcGRpciB1bnBhY2sgc3RyaXBfZHVwbGljYXRlX3NsYXNoZXMgZWNvbmYgZWluc3RhbGwgZ2Vu
X3dyYXBwZXIgXAorCQkJZHluX3NldHVwIGR5bl91bnBhY2sgZHluX2NsZWFuIGludG8gaW5zaW50
byBleGVpbnRvIGRvY2ludG8gXAorCQkJaW5zb3B0cyBkaXJvcHRzIGV4ZW9wdHMgbGlib3B0cyBh
Ym9ydF9oYW5kbGVyIGFib3J0X2NvbXBpbGUgXAorCQkJYWJvcnRfdGVzdCBhYm9ydF9pbnN0YWxs
IGR5bl9jb21waWxlIGR5bl90ZXN0IGR5bl9pbnN0YWxsIFwKKwkJCWR5bl9wcmVpbnN0IGR5bl9o
ZWxwIGRlYnVnLXByaW50IGRlYnVnLXByaW50LWZ1bmN0aW9uIFwKKwkJCWRlYnVnLXByaW50LXNl
Y3Rpb24gaW5oZXJpdCBFWFBPUlRfRlVOQ1RJT05TIG5ld2RlcGVuZCBuZXdyZGVwZW5kIFwKKwkJ
CW5ld3BkZXBlbmQgZG9fbmV3ZGVwZW5kIHJlbW92ZV9wYXRoX2VudHJ5IGtpbGxwYXJlbnQgXAor
CQkJc2F2ZV9lYnVpbGRfZW52CisKKwkJc2V0CisJCWV4cG9ydAorCSkgfCBlZ3JlcCAtdiAtZSAi
JHt2YXJfZ3JlcH0iCit9CisKICMgPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0g
PT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0KICMgPT09ID09PSA9PT0gPT09ID09
PSBmdW5jdGlvbnMgZW5kLCBtYWluIHBhcnQgYmVnaW5zID09PSA9PT0gPT09ID09PSA9PT0KICMg
PT09ID09PSA9PT0gPT09ID09PSBmdW5jdGlvbnMgZW5kLCBtYWluIHBhcnQgYmVnaW5zID09PSA9
PT0gPT09ID09PSA9PT0KQEAgLTE3NzksOSArMTgyMCw3IEBACiAJdW5zZXQgbXlhcmcKIAkjIFNh
dmUgY3VycmVudCBlbnZpcm9ubWVudCBhbmQgdG91Y2ggYSBzdWNjZXNzIGZpbGUuIChlY2hvIGZv
ciBzdWNjZXNzKQogCXVtYXNrIDAwMgotCXNldCB8IGVncmVwIC12IC1lICJeU0FOREJPWF8iIC1l
ICJeTERfUFJFTE9BRD0iIC1lICJeRkFLRVJPT1RLRVk9IiA+ICIke1R9L2Vudmlyb25tZW50IiAy
Pi9kZXYvbnVsbAotCWV4cG9ydCB8IGVncmVwIC12IC1lICJeZGVjbGFyZSAteCBTQU5EQk9YXyIg
LWUgIl5kZWNsYXJlIC14IExEX1BSRUxPQUQ9IiAtZSAiXmRlY2xhcmUgLXggRkFLRVJPT1RLRVk9
IiB8IFwKLQkJc2VkICdzOl5kZWNsYXJlIC1yeDpkZWNsYXJlIC14OicgPj4gIiR7VH0vZW52aXJv
bm1lbnQiIDI+L2Rldi9udWxsCisJc2F2ZV9lYnVpbGRfZW52ID4gIiR7VH0vZW52aXJvbm1lbnQi
IDI+L2Rldi9udWxsCiAJY2hvd24gcG9ydGFnZTpwb3J0YWdlICIke1R9L2Vudmlyb25tZW50IiAm
Pi9kZXYvbnVsbAogCWNobW9kIGcrdyAiJHtUfS9lbnZpcm9ubWVudCIgJj4vZGV2L251bGwKIGZp
Cg==
</data>        

          </attachment>
    </bug>

</bugzilla>