Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1186162
Summary: | illegal instruction fault in arithchk | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Dan Horák <dan> |
Component: | mp | Assignee: | Paulo Andrade <paulo.cesar.pereira.de.andrade> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | pandrade, paulo.cesar.pereira.de.andrade |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-01-30 16:17:16 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: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 467765 |
Description
Dan Horák
2015-01-27 08:46:15 UTC
The logic in fpinit_ASL() (src/asl/solvers/fpinit.c) seems to be x86-focused. Problem reported upstream. I tried to fix the build with a patch for arm, loosely following previous code there for other architectures, but maybe it have been being developed for too long on x86 only. https://github.com/ampl/mp/issues/25 On second thought, I think it may be another issue. The SFPC instruction should receive a single argument. From the manual I use for s390 reference. [RRE] is the instruction format, not an argument. SET FPC SFPC R [RRE] 'B384' //////// R1 //////// .---------------.-------.---.------. 0 16 24 31 The contents of bit positions 32-63 of of the general register designated by R1 are placed in the FPC (floating-point-control) register. All of bits 32-63 corresponding to unassigned bit positions in the FPC must be zero; otherwise, a specification exception is recognized. Bits 0-31 of the general register are ignored. Condition Code: The code remains unchanged. Bits other than 62 and 63 of the second-operand address are ignored. Condition Code: The code remains unchanged. IEEE Exception Conditions: None. Program Exceptions: * Data with DXC 2, BFP instruction * Operation (if the BFP facility is not installed) Translating 0x27f (639) to the FPC bits, it looks like some translation should be done, it maps to: 0x2f == 0b1001111111 0 IEEE-invalid-operation mask 1 1 IEEE-division-by-zero mask 1 2 IEEE-overflow mask 1 3 IEEE-underflow mask 1 4 IEEE-inexact mask 1 5 (reserved) 1 6 (reserved) 1 7 (reserved) 0 8 IEEE-invalid operation flag 0 9 IEEE-division by zero flag 0 ... so, the illegal instruction should be due to bits 5 and 6 set. ops, bit 9 above is 1... I tried $ s390-koji build --scratch rawhide /home/pcpa/fedora/mp/mp-1.3.0-3.fc22.src.rpm Did need to comment "BuildRequires: python-sphinx-latex", but it still failed, can you please give build it on an environment with a shell to see if you can have more details of the failure? http://s390.koji.fedoraproject.org/kojifiles/work/tasks/6258/1716258/build.log ... 21/29 Test #21: aslexpr-test ..................... Passed 0.00 sec Start 22: aslbuilder-test 22/29 Test #22: aslbuilder-test ..................***Failed 0.01 sec Start 23: aslproblem-test 23/29 Test #23: aslproblem-test .................. Passed 0.02 sec ... BTW, now it is using this patch: http://pkgs.fedoraproject.org/cgit/mp.git/commit/?id=069dff618dea604426b370448bf316ce1331375c Example, on x86_64, of what should help: ---8<--- <mock-chroot>[root@localhost mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed]# file build/bin/aslbuilder-test build/bin/aslbuilder-test: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3c3f96ac4804358526a10f0ad2d763e678e500ec, not stripped <mock-chroot>[root@localhost mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed]# build/bin/aslbuilder-test [==========] Running 22 tests from 2 test cases. [----------] Global test environment set-up. [----------] 1 test from NLTest [ RUN ] NLTest.ReadFullHeader [ OK ] NLTest.ReadFullHeader (0 ms) [----------] 1 test from NLTest (0 ms total) [----------] 21 tests from ASLBuilderTest [ RUN ] ASLBuilderTest.Ctor [ OK ] ASLBuilderTest.Ctor (0 ms) [ RUN ] ASLBuilderTest.InitASLTrivial [ OK ] ASLBuilderTest.InitASLTrivial (0 ms) [ RUN ] ASLBuilderTest.InitASLFull [ OK ] ASLBuilderTest.InitASLFull (0 ms) [ RUN ] ASLBuilderTest.ASLBuilderAdjFcn [ OK ] ASLBuilderTest.ASLBuilderAdjFcn (1 ms) [ RUN ] ASLBuilderTest.ASLBuilderInvalidProblemDim [ OK ] ASLBuilderTest.ASLBuilderInvalidProblemDim (0 ms) [ RUN ] ASLBuilderTest.ASLBuilderX0Len [ OK ] ASLBuilderTest.ASLBuilderX0Len (0 ms) [ RUN ] ASLBuilderTest.ASLBuilderLinear [ OK ] ASLBuilderTest.ASLBuilderLinear (1 ms) [ RUN ] ASLBuilderTest.ASLBuilderTrivialProblem [ OK ] ASLBuilderTest.ASLBuilderTrivialProblem (0 ms) [ RUN ] ASLBuilderTest.ASLBuilderDisallowCLPByDefault [ OK ] ASLBuilderTest.ASLBuilderDisallowCLPByDefault (0 ms) [ RUN ] ASLBuilderTest.ASLBuilderAllowCLP [ OK ] ASLBuilderTest.ASLBuilderAllowCLP (1 ms) [ RUN ] ASLBuilderTest.AddObj [ OK ] ASLBuilderTest.AddObj (0 ms) [ RUN ] ASLBuilderTest.AddCon [ OK ] ASLBuilderTest.AddCon (0 ms) [ RUN ] ASLBuilderTest.AddLogicalCon [ OK ] ASLBuilderTest.AddLogicalCon (0 ms) [ RUN ] ASLBuilderTest.RegisterFunction [ OK ] ASLBuilderTest.RegisterFunction (0 ms) [ RUN ] ASLBuilderTest.AddFunction [ OK ] ASLBuilderTest.AddFunction (0 ms) [ RUN ] ASLBuilderTest.AddFunctionMatchNumArgs [ OK ] ASLBuilderTest.AddFunctionMatchNumArgs (0 ms) [ RUN ] ASLBuilderTest.SetMissingFunction [ OK ] ASLBuilderTest.SetMissingFunction (0 ms) [ RUN ] ASLBuilderTest.SizeOverflow [ OK ] ASLBuilderTest.SizeOverflow (0 ms) [ RUN ] ASLBuilderTest.ColumnSizeHandler [ OK ] ASLBuilderTest.ColumnSizeHandler (0 ms) [ RUN ] ASLBuilderTest.BuildColumnwiseMatrix [ OK ] ASLBuilderTest.BuildColumnwiseMatrix (0 ms) [ RUN ] ASLBuilderTest.ASLHandler [ OK ] ASLBuilderTest.ASLHandler (0 ms) [----------] 21 tests from ASLBuilderTest (3 ms total) [----------] Global test environment tear-down [==========] 22 tests from 2 test cases ran. (3 ms total) [ PASSED ] 22 tests. ---8<--- Thanks to Dan, here are the results: [ RUN ] ASLBuilderTest.InitASLFull /root/rpmbuild/BUILD/mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed/test/asl/aslbuilder-test.cc:187: Failure Value of: actual.i.xscanf_ Actual: 0x800b64c0 Expected: expected.i.xscanf_ Which is: 0x800b6100 /root/rpmbuild/BUILD/mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed/test/asl/aslbuilder-test.cc:277: Failure Value of: actual.i.binary_nl_ Actual: 2 Expected: expected.i.binary_nl_ Which is: 0 /root/rpmbuild/BUILD/mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed/test/asl/aslbuilder-test.cc:384: Failure Value of: actual.i.iadjfcn Actual: 0x800c5390 Expected: expected.i.iadjfcn Which is: NULL /root/rpmbuild/BUILD/mp-35060ba2a59f2b0f0fd622ed9df678f142f846ed/test/asl/aslbuilder-test.cc:385: Failure Value of: actual.i.dadjfcn Actual: 0x800c5390 Expected: expected.i.dadjfcn Which is: NULL [ FAILED ] ASLBuilderTest.InitASLFull (1 ms) [ RUN ] ASLBuilderTest.ASLBuilderAdjFcn The package is only in rawhide and patches were made and build pass now. https://github.com/ampl/mp/issues/25 |