Bug 821796 - Upstream multibyte tests are failing on i386 architecture
Upstream multibyte tests are failing on i386 architecture
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: tcsh (Show other bugs)
i686 Unspecified
low Severity medium
: rc
: ---
Assigned To: Roman Kollár
Iveta Wiedermann
: Regression
Depends On:
Blocks: 868365
  Show dependency treegraph
Reported: 2012-05-15 10:03 EDT by Branislav Náter
Modified: 2013-02-21 05:44 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Mistakenly removed casting when calling a function in the history locking patch. Consequence: Multibyte tests were failing. Fix: Reverted state before the patch. Result: Tests no longer fail.
Story Points: ---
Clone Of:
: 868365 (view as bug list)
Last Closed: 2013-02-21 05:44:24 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:0446 normal SHIPPED_LIVE tcsh bug fix update 2013-02-20 15:47:55 EST

  None (edit)
Description Branislav Náter 2012-05-15 10:03:31 EDT
Description of problem:
Multibyte tests from tcsh upsream suite are failing on i386 architecture.

Version-Release number of selected component (if applicable):

How reproducible:
always on i386 architecture

Steps to Reproduce:
1. run upsream test suite (/CoreOS/tcsh/Sanity/upstream)
Actual results:
121: EUC-JP multibyte test                           FAILED (mb-eucjp.at:90)
122: UTF-8 multibyte test                            FAILED (mb-utf8.at:90)

Expected results:
121: EUC-JP multibyte test                           ok
122: UTF-8 multibyte test                            ok
Comment 2 Pavel Raiskup 2012-09-24 07:03:51 EDT
This seems like like working fix:

  diff --git history-file-locking.patch history-file-locking.patch
  index 7e8b02f..b6db21e 100644
  --- a/tcsh-6.17.00-history-file-locking.patch
  +++ b/tcsh-6.17.00-history-file-locking.patch
  @@ -417,7 +417,7 @@ index 536097e..2543552 100644
           stream is not seekable */
        err = errno;
   -    lseek(fildes, -(off_t)partial, L_INCR);
  -+    lseek(fildes, -partial, SEEK_CUR);
  ++    lseek(fildes, -(off_t)partial, SEEK_CUR);
        errno = err;
        return res != 0 ? res : r;

There was probably mistakenly removed (off_t) retype expression in
history-file-locking patch.

Another problem with this patch was found by Coverity (use after free):

  diff --git a/sh.c b/sh.c
  index 5fdffb4..7ed1f8d 100644
  --- a/sh.c
  +++ b/sh.c
  @@ -2095,7 +2095,7 @@ dosource_flg(Char **t, struct command *c, int flg)
       t = glob_all_or_error(t);
       fd = srcfile(file, 0, (hflg | flg), t);
       if ((!fd) && (!hflg) && (!bequiet))
  -       stderror(ERR_SYSTEM, f, strerror(errno));
  +       stderror(ERR_SYSTEM, fd, strerror(errno));
       /* We need to preserve fd and it's cleaning routines on the top of the
        * cleaning stack. Don't call cleanup_until() but clean it manually. */

Comment 10 errata-xmlrpc 2013-02-21 05:44:24 EST
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.


Note You need to log in before you can comment on or make changes to this bug.