Bug 1146958
Summary: | after new bash-4.1.2-15.el6_5.2.x86_64 and environment-modules-3.2.10-1.el6_5.x86_64 installed results with at jobs stopped working | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Rikard <rikard.oberg> |
Component: | at | Assignee: | Tomas Mraz <tmraz> |
Status: | CLOSED DUPLICATE | QA Contact: | qe-baseos-daemons |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.5 | CC: | dirk.gfroerer, fweimer, koen.schram, ooprala, poulacou2, uncoolbob |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-10-04 07:16:18 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Rikard
2014-09-26 12:34:59 UTC
Easily reproducible with just running "at" and then checking email. I'm not sure where the piece of code you're seeing is coming from. I'll investigate further. Currently, this is a problem with "at" generating output from the environment and passing everything as is. Until bash was fixed, this worked well, because functions were simply output as functions. With the bash fix, though, functions are output with a special "BASH_FUNC_" prefix and that breaks when one attempts to source the output back to the shell. Before shellshock fix, "at" generated (taken from /var/spool/at/): ... module=\(\)\ {\ \ eval\ \`/usr/bin/modulecmd\ bash\ \$\*\`" "}; export module ... After the fix: ... BASH_FUNC_module()=\(\)\ {\ \ eval\ \`/usr/bin/modulecmd\ bash\ \$\*\`" "}; export BASH_FUNC_module() ... The module() function gets sourced from /etc/profile.d/modules.sh, which in turn sources /usr/share/Modules/init/$shell, where shell == "bash" in this case. The corresponding definition and export looks like this: module() { eval `/usr/bin/modulecmd bash $*`; } export -f module I suggest a workaround in "at" that will check for the "BASH_FUNC_" prefix and strip it if present. It would be better if bash didn't prefix the function exports with anything, though. Reassigning to "at" and CCing bash maintainer. Ondrej, could you please share your thoughts on comment 3? Hi again Just trying to help I saw bugzilla created after this one about the same issue: https://bugzilla.redhat.com/show_bug.cgi?id=1147043#c8 There Florian Weimer suggests a "limited workaround" by editing "/etc/profile.d/modules.sh" but he is not sure about functionality impact on environment-modules, so it needs more testing. Thanks Rikard. Florian is currently discussing this with at's upstream, so I think it's best to wait for some statement from them. *** This bug has been marked as a duplicate of bug 1147043 *** |