Skip to contentSkip to conversation

New: should we be disabling bash executable path caching?

Buildroot bugzilla at busybox.net 1 participant 4 messages May 8, 2020 – May 11, 2020

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=12866

Bug ID: 12866
Summary: should we be disabling bash executable path caching?
Product: buildroot
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at buildroot.uclibc.org
Reporter: matthew.weber at rockwellcollins.com
CC: buildroot at uclibc.org
Target Milestone: ---

I'm not sure if there is a use case (yet), maybe with parallel builds if the host folder contents ends up with per package staging?

https://unix.stackexchange.com/questions/5609/how-do-i-clear-bashs-cache-of-paths-to-executables/218681#218681

We ran into it when we were testing the internal toolchain of buildroot to be relocatable and the "mv" executable was used to rename the host folder. Then we used "mv" again to rename the host folder back. For the first "mv" it used the Buildroot host/bin/mv and then for the second "mv", bash tried to again use the same instead of continuing to traverse to /bin/mv which was in the path and the output of "which mv" at that point in the script.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 12866] should we be disabling bash executable path caching?

https://bugs.busybox.net/show_bug.cgi?id=12866

--- Comment #1 from Thomas Petazzoni <[email protected]> --- I don't quite follow what Buildroot can do here, i.e how would we disable this bash caching functionnality from the system-provided bash? I'm not even sure it makes sense for us to do this.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 12866] should we be disabling bash executable path caching?

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=12866

--- Comment #2 from Matt Weber <[email protected]> --- Thinking about it a little more, the actual shell script would need to set 'set +h' but my understanding is the executable hash table (for quick lookup after a commend is executed the first time) is just local to the current script's context. So to cause an issue, you would have to call the same command twice in the same script and move the location of the executable without updating the PATH. That doesn't sound normal. I'll close this bug :-)

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.