Description of problem: Commands spooled with "at" tool do not Version-Release number of selected component (if applicable): at-3.1.13-14.fc20.x86_64 How reproducible: Always Steps to Reproduce: 1. at now + 1 minute 2. echo OK > filename 3. Actual results: No file created. Expected results: file called filename created containing string OK. Additional info: This is the content of the error mail sent: sh: line 89: syntax error near unexpected token `$'=\\(\\)\\ {\\ \\ eval\\ \\`/usr/bin/modulecmd\\ bash\\ \\$\\*\\`"\n"}'' sh: line 89: `"}; export BASH_FUNC_module()' The problem appeared on 2014-09-27, though I did not use at for a few weeks before. Might be related to recent bash changes.
Created attachment 942247 [details] Spool file created by at The spool file created by at, in case it is relevant.
Where is the BASH_FUNC_module() environment variable coming from? This does not look like at problem but something wrong in your system.
13:06:56:/mnt/video/disk/b/15/03$ rpm -qf /etc/profile.d/modules.sh environment-modules-3.2.10-6.fc20.x86_64 13:07:23:/mnt/video/disk/b/15/03$ cat /etc/profile.d/modules.sh shell=`/bin/basename \`/bin/ps -p $$ -ocomm=\`` if [ -f /usr/share/Modules/init/$shell ] then . /usr/share/Modules/init/$shell else . /usr/share/Modules/init/sh fi 13:07:32:/mnt/video/disk/b/15/03$ rpm -qf /usr/share/Modules/init/sh environment-modules-3.2.10-6.fc20.x86_64 13:07:43:/mnt/video/disk/b/15/03$ cat /usr/share/Modules/init/sh module() { eval `/usr/bin/modulecmd sh $*`; } MODULESHOME=/usr/share/Modules export MODULESHOME if [ "${LOADEDMODULES:-}" = "" ]; then LOADEDMODULES= export LOADEDMODULES fi if [ "${MODULEPATH:-}" = "" ]; then MODULEPATH=`sed -n 's/[ #].*$//; /./H; $ { x; s/^\n//; s/\n/:/g; p; }' ${MODULESHOME}/init/.modulespath` export MODULEPATH fi
I'd like to get the bash folk's take on this as the recent bash changes seem to have triggered this. Previously we would end up with this in the environment: module=() { eval `/usr/bin/modulecmd bash $*` } now we get: BASH_FUNC_module()=() { eval `/usr/bin/modulecmd bash $*` }
This actually does seem to be related to how at writes out the environment to the script that at generates and runs. It ends up writing: BASH_FUNC_module()=\\(\\)\\ {\\ \\ eval\\ \\`/usr/bin/modulecmd\\ bash\\ \\$\\*\\`\" \"}; export BASH_FUNC_module() which fails to parse: bash: syntax error near unexpected token `=\\' Not sure what it is supposed to do though.
Hi and thanks for the report. We are well aware of this issue. For the time being, please consider using a workaround my colleague suggests in https://bugzilla.redhat.com/show_bug.cgi?id=1147043#c8
This message is a reminder that Fedora 20 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 20. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '20'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 20 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
I believe this was fixed in: * Thu Oct 2 2014 Tomáš Mráz <tmraz> - 3.1.16-1 - new upstream release fixing regression from security fix in bash - drop sysvinit subpackage