Bug 956160 - lsfc enters end-less loop when running checks on big-endian arches
lsfc enters end-less loop when running checks on big-endian arches
Product: Fedora
Classification: Fedora
Component: lfsc (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Jerry James
Fedora Extras Quality Assurance
Depends On:
Blocks: ZedoraTracker
  Show dependency treegraph
Reported: 2013-04-24 07:17 EDT by Dan Horák
Modified: 2013-05-04 22:24 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-04-30 00:31:29 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Dan Horák 2013-04-24 07:17:12 EDT
Description of problem:
lsfc enters end-less loop when running checks on big-endian arches like s390/s390x and ppc/ppc64

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

How reproducible:

from build.log:
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.bacBiY
+ umask 022
+ cd /builddir/build/BUILD
+ cd lfsc-0.20120321
+ opt/lfsc /builddir/build/SOURCES/sat.plf /builddir/build/SOURCES/check.plf

and nothing else there even after days
Comment 1 Jerry James 2013-04-25 13:06:10 EDT
I spent some time yesterday on a fruitless attempt at setting up a ppc64 VM on my Fedora 18 x86_64 desktop.  Today I've looked a little at setting up an s390 VM, but it appears that I need to use the hercules emulator.  I've got no experience whatsoever with IBM mainframes, hercules, etc.  Do you know of a guide somewhere that will help me do this?  Something like, "follow these 37 easy steps and you'll have a running Fedora system in an s390 VM!"?  I've tried searching the web for such a guide but have so far found only instructions involving disk images containing ancient versions of Fedora.
Comment 2 Dan Horák 2013-04-25 13:11:46 EDT
I'll get you in contact with Brent Baude of IBM who can give you shell on ppc64 machine.
Comment 3 Dan Horák 2013-04-25 13:14:40 EDT
F-16 for s390x in the Hercules emulator should be matter of copying 2 files, but shell access on a real box will be better.
Comment 4 Jerry James 2013-04-25 13:17:18 EDT
That sounds great.  Thanks, Dan.  For future reference, though, in case I need to track down s390-specific bugs in the future, which 2 files would I need to copy to get F-16 for s390x going in Hercules?
Comment 5 Dan Horák 2013-04-25 13:24:18 EDT
Please wait a while, I will write a blog article about it (the files are at http://fedora.danny.cz/s390/fedora-16/). Also I hope to be more successful with F-19 inside Hercules than I was with F-17 or F-18.
Comment 6 Fedora Update System 2013-04-25 16:53:27 EDT
lfsc-0.20120321-3.fc19 has been submitted as an update for Fedora 19.
Comment 7 Fedora Update System 2013-04-25 16:54:56 EDT
lfsc-0.20120321-3.fc18 has been submitted as an update for Fedora 18.
Comment 8 Jerry James 2013-04-25 17:00:27 EDT
The issue turns out not be big-endianness after all, but rather that the type "char" defaults to "unsigned char", as opposed to x86 platforms where it defaults to "signed char".  This matters because the input files are read in a loop that checks for newline or EOF to stop.  One of the test input files does not have a newline at the end of the file, so we depend on the EOF test to stop the loop.  However, gcc decides that a comparison of a variable of type (implicitly unsigned) char against the negative value EOF is always false and optimizes it away => infinite loop.

Building with -fsigned-char fixes the problem.
Comment 9 Dan Horák 2013-04-25 17:10:46 EDT
it should then fail also on ARM, but I haven't checked this before

and it does - see http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1745087
Comment 10 Jerry James 2013-04-25 17:16:29 EDT
Now I'm feeling paranoid.  How many of my packages assume that char is signed?  I don't know how to begin auditing for this situation.
Comment 11 Fedora Update System 2013-04-26 10:29:19 EDT
lfsc-0.20120321-3.fc19 has been pushed to the Fedora 19 testing repository.
Comment 12 Fedora Update System 2013-04-30 00:31:33 EDT
lfsc-0.20120321-3.fc19 has been pushed to the Fedora 19 stable repository.
Comment 13 Fedora Update System 2013-05-04 22:24:00 EDT
lfsc-0.20120321-3.fc18 has been pushed to the Fedora 18 stable repository.

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