[LU-4030] sanity test_236: exec: {FD}: not found Created: 30/Sep/13  Updated: 14/Jan/14  Resolved: 19/Nov/13

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.5.0
Fix Version/s: Lustre 2.6.0, Lustre 2.5.1

Type: Bug Priority: Minor
Reporter: Maloo Assignee: WC Triage
Resolution: Fixed Votes: 0
Labels: patch
Environment:

server and client: lustre-master build # 1687
client is running SLES11 SP2


Severity: 3
Rank (Obsolete): 10826

 Description   

This issue was created by maloo for sarah <sarah@whamcloud.com>

This issue relates to the following test suite run: http://maloo.whamcloud.com/test_sets/4489101e-290f-11e3-b598-52540035b04c.

The sub-test test_236 failed with the following error:

test_236 returned 127

== sanity test 236: Layout swap on open unlinked file ================================================ 13:52:42 (1380315162)
/usr/lib64/lustre/tests/sanity.sh: line 11650: exec: {FD}: not found


 Comments   
Comment by Andreas Dilger [ 01/Oct/13 ]

Looks like the five other cases of this failure are only being hit on SLES11 SP2. I suspect this is a test issue related to some difference in how bash interprets this stdout/stderr redirection.

Comment by Sarah Liu [ 21/Oct/13 ]

Also see this issue in SLES11 SP3 client:

https://maloo.whamcloud.com/test_sets/dc52a6a2-381a-11e3-844f-52540035b04c

Comment by Andreas Dilger [ 22/Oct/13 ]

While I consider myself daily good at bash, I don't understand the construct:

        exec {FD}<>$file2

This seems to make SLES bash unhappy, but RHEL bash is ok.

Comment by Vladimir Saveliev [ 29/Oct/13 ]

sanity.sh:test_236() uses

"{FD}<>$file2"

to assign newly allocated file descriptor to FD, which is a feature added in bash-4.1-alpha.

The below is how the feature is documented in bash changelog (http://tiswww.case.edu/php/chet/bash/CHANGES):
p. If the optional left-hand-side of a redirection is of the form {var}, the
shell assigns the file descriptor used to $var or uses $var as the file
descriptor to move or close, depending on the redirection operator.

SLES11SP3 uses bash-3.2 so the test_236 fails on SLES11SP3.

Comment by Andreas Dilger [ 29/Oct/13 ]

This should be rewritten so that older bash will also work.

Comment by Vladimir Saveliev [ 05/Nov/13 ]

http://review.whamcloud.com/8181
Please, take a look

Comment by Peter Jones [ 19/Nov/13 ]

Landed for 2.6

Comment by Jian Yu [ 06/Jan/14 ]

Lustre Build: http://build.whamcloud.com/job/lustre-b2_5/5/
Distro/Arch: RHEL6.4/x86_64(server), SLES11SP3/x86_64(client)

The same failure occurred:
https://maloo.whamcloud.com/test_sets/0c73c65e-763c-11e3-b3c0-52540035b04c

Here is the back-ported patch for Lustre b2_5 branch: http://review.whamcloud.com/8811

Generated at Sat Feb 10 01:39:02 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.