Escalated to Bugzilla from IssueTracker
Description of problem: when running tcsh globbing causes failed automounts. How reproducible: /bin/tcsh cd /home echo FAILURES * you'll see syslog entries like: Aug 18 09:58:24 archangel automount[19211]: failed to mount /home/FAILURE5 Steps to Reproduce: see above Actual results: mount attempts that fail Expected results: No mount attempts Additional info: bash works as expected This event sent from IssueTracker by mmatsuya [SEG - Base OS] issue 291117
cwyse@buffalo [:/home] % echo FAILURES * [11:44:03] FAILURES cwyse oracle cwyse@buffalo [:/home] % grep FAILURE /var/log/messages [11:44:05] Apr 29 11:44:05 buffalo automount[3174]: attempting to mount entry /home/FAILURES Apr 29 11:44:05 buffalo automount[3174]: >> mount: castor:/vol/rwc07/home/FAILURES failed, reason given by server: Permission denied Apr 29 11:44:05 buffalo automount[3174]: mount(nfs): nfs: mount failure castor:/vol/rwc07/home/FAILURES on /home/FAILURES Apr 29 11:44:05 buffalo automount[3174]: failed to mount /home/FAILURES This is what it looks like when we run the echo command in RHEL5.3. Please escalate to engineering. cwyse assigned to issue for DreamWorks Animation. Status set to: Waiting on Tech Version set to: '2.1' This event sent from IssueTracker by mmatsuya [SEG - Base OS] issue 291117
General Escalation Information State the problem 1. Provide time and date of the problem N/A - Reproducible and ongoing. 2. Indicate the platform(s) (architectures) the problem is being reported against. x86_64 3. Provide clear and concise problem description as it is understood at the time of escalation * Observed behavior As stated by the customer, "tcsh globbing causes failed automounts." When using tcsh as a shell, running a command like "echo FAIL *" while the working directory the root of a wildcard automount directory will produce lots of invalid automount attempts. repo: /bin/tcsh cd /home echo FAILURES * you'll see syslog entries like: Aug 18 09:58:24 archangel automount[19211]: failed to mount /home/FAILURE5 * Desired behavior No automount attempts or failures. 4. State specific action requested of SEG Analyze and patch. 5. State whether or not a defect in the product is suspected A defect is suspected. This is happening on RHEL4 and RHEL5. Here is the BZ for the RHEL 4 issue. https://bugzilla.redhat.com/show_bug.cgi?id=466204 6. If there is a proposed patch, make sure it is in unified diff format (diff -pruN) Not that I am aware of. 7. Refrain from using the word "hang", as it can mean different things to different people in different contexts. Use a better and more specific description of your problem. tcsh globbing causes failed automounts. 8. This is especially important for severity one and two issues. What is the impact to the customer when they experience this problem? DreamWorks systems use the automounter extensively, and this is causing additional automount traffic that just adds to the overall load on their systems. Issue escalated to Support Engineering Group by: spurrier. Internal Status set to 'Waiting on SEG' This event sent from IssueTracker by mmatsuya [SEG - Base OS] issue 291117
xecho() in sh.func.c. 1180 gflag = 0, tglob(v); 1181 if (gflag) { 1182 v = globall(v); 1183 if (v == 0) 1184 stderror(ERR_NAME | ERR_NOMATCH); 1185 } 1186 else { 1187 v = gargv = saveblk(v); 1188 trim(v); 1189 } When one of the arguments of 'echo' includes glob, 1 is set to gflag in tglob() at line 1180. Otherwise, 0 is set to gflag in tglob(). When gflag is 1, globall(v) is executed at line 1182. globall() calls libglob(). libglob() calls glob() per word in arguments. glob is expanded in the functions called from glob(). When "echo FAILURES *" is executed, 1 is set to gflag in tglob() of line 1180 in xecho(). As the result, globall() is called at line 1182. globall() calls libglob(), and it calls glob() for 'echo', 'FAILURES' and '*'. libglob() 493 do { 494 ptr = short2qstr(*vl); 495 switch (glob(ptr, gflgs, 0, &globv)) { I think that 'ptr' should be checked if it includes glob char, and glob() should be called only if there is. glob() should not be called for 'FAILURES'. I think. This event sent from IssueTracker by mmatsuya [SEG - Base OS] issue 291117
Created attachment 349233 [details] proposed patch for tcsh-6.14.00 Proposed patch. Slightly tested and worked fine.
Event posted on 06-24-2009 02:30pm EDT by cwyse Jun 24 11:39:41 batman automount[3481]: attempting to mount entry /home/--color=tty Jun 24 11:39:41 batman automount[3481]: failed to mount /home/--color=tty Jun 24 11:39:41 batman automount[3481]: attempting to mount entry /home/FAILURE Jun 24 11:39:41 batman automount[3481]: failed to mount /home/FAILURE Jun 24 11:39:41 batman automount[3481]: attempting to mount entry /home/FAILURE Jun 24 11:39:41 batman automount[3481]: failed to mount /home/FAILURE Jun 24 11:39:41 batman automount[3481]: attempting to mount entry /home/FAILURE Jun 24 11:39:41 batman automount[3481]: failed to mount /home/FAILURE This patch didn't seem to do much. Also, tcsh --version shows some pretty old info. I tried to update the patchlevel.h file but that didn't seem to help. Not really related to this bug, just pointing it out. This event sent from IssueTracker by cwyse issue 291117
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2010-0190.html