| Summary: | tcsh recognize value 2147483648 in variable as negative because of internal 32bit limitation | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | masanari iida <masanari.iida> |
| Component: | tcsh | Assignee: | David Kaspar // Dee'Kej <deekej> |
| Status: | CLOSED ERRATA | QA Contact: | Iveta Wiedermann <isenfeld> |
| Severity: | low | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.7 | CC: | bnater, isenfeld, ovasik |
| Target Milestone: | rc | Keywords: | EasyFix, Patch, Reproducer |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | tcsh-6.17-34.el6 | Doc Type: | Bug Fix |
| Doc Text: |
NO_DOCS
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-05-11 00:56:04 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: | |
| Bug Depends On: | |||
| Bug Blocks: | 1289025 | ||
Hello, and thank you for your bug report and the additional information you have provided to us. We really appreciate your contribution. --------- NOTE: Additional (follow-up) commit is necessary as well: > commit 90a08c664d09f275eb1ecb538944164bd92d6168 > Author: Christos Zoulas <christos> > Date: 6 years ago > > deal with systems that don't have long long Test tcsh RPM from RHEL6.8 alpha-1, it worked as expected!
Thanks.
[root@localhost ~]# cat test01.tcsh
#!/bin/tcsh
set InPutFSize=2147483648
echo $InPutFSize
if(${InPutFSize}>0) then;
echo $InPutFSize " is positive value";
endif
if(${InPutFSize}<0) then;
echo $InPutFSize " is negative value";
endif
[root@localhost ~]# ./test01.tcsh
2147483648
2147483648 is positive value <==
[root@localhost ~]# rpm -q tcsh
tcsh-6.17-34.el6.x86_64
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0938.html |
Description of problem: tcsh recognize value 2147483648 in variable as negative. Version-Release number of selected component (if applicable): tcsh-6.17-25.el6_6 How reproducible: Always Steps to Reproduce: Execute following test01.csh ====== script ==== set InPutFSize=2147483648 echo $InPutFSize if(${InPutFSize}>0) then; echo $InPutFSize "is positive value"; endif if(${InPutFSize}<0) then; echo $InPutFSize "is negative value"; endif ====== script end === Actual results: Result with tcsh from RHEL6. (tcsh-6.17-25.el6_6) 2147483648 2147483648 is negative value Expected results: Result with tcsh from RHEL7 (tcsh-6.18.01-8.el7) 2147483648 2147483648 is positive value Additional info: This symptom doesn't exist on tcsh from RHEL7. After spending some times for bisect, I found following commit between 6.17.00 and 6.17.01 fix the symptom. commit f81e094fc9baaa5e96487d684e71cd4fcde8a3a3 Author: Christos Zoulas <christos> Date: Tue Jan 26 16:10:08 2010 +0000 make internal calculations use 64 bits. Please consider backport this patch to tcsh on RHEL6.