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 1248037

Summary: pure fails with "Illegal instruction" on ppc64le
Product: [Fedora] Fedora Reporter: Rafael Fonseca <rdossant>
Component: pureAssignee: Michel Alexandre Salim <michel>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: hannsj_uhl, i, michel
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-19 17:15:09 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: 1051573    
Attachments:
Description Flags
GDB log
none
core dump
none
strace log none

Description Rafael Fonseca 2015-07-29 13:24:50 UTC
Created attachment 1057320 [details]
GDB log

Description of problem: running pure on a ppc64le machine results in an Illegal instruction error message.


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


How reproducible: just run pure on a ppc64le machine.


Actual results: Illegal instruction


Additional info: gdb log, strace output and core dump attached.

Comment 1 Rafael Fonseca 2015-07-29 13:26:17 UTC
Created attachment 1057321 [details]
core dump

Comment 2 Rafael Fonseca 2015-07-29 13:26:56 UTC
Created attachment 1057322 [details]
strace log

Comment 3 Rafael Fonseca 2015-07-29 13:49:32 UTC
On a related note, it also fails on ppc64be with a different error though:

LLVM ERROR: Cannot select: 0x10021d89cf8: ch = PPCISD::TC_RETURN 0x10021d8ff28, 0x10021d891a0, 0x10021d95968, 0x10021d8c330, 0x10021d90f98, 0x10021d92120, 0x10021d8ff28:1 [ORD=6] [ID=60]
  0x10021d891a0: i64 = Register %X11 [ID=8]
  0x10021d95968: i64 = Register %CTR8 [ID=13]
  0x10021d8c330: i32 = Constant<0> [ID=14]
  0x10021d90f98: i64 = Register %X3 [ID=7]
  0x10021d92120: Untyped = RegisterMask [ID=10]
  0x10021d8ff28: ch,glue = PPCISD::MTCTR 0x10021d8e6d8, 0x10021d8be30, 0x10021d8e6d8:1 [ORD=6] [ID=59]
    0x10021d8be30: i64,ch,glue = PPCISD::LOAD 0x10021d8c858, 0x10021d92540, 0x10021d8c858:1 [ORD=6] [ID=55]
      0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
        0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
        0x10021d8bb18: i64 = Register %X2 [ID=16]
      0x10021d8c858: ch,glue = callseq_end 0x10021d91bf8, 0x10021d8cb70, 0x10021d8b1d0 [ORD=6] [ID=54]
        0x10021d8cb70: i64 = TargetConstant<112> [ID=5]
        0x10021d8b1d0: i64 = TargetConstant<0> [ID=12]
    0x10021d8e6d8: ch,glue = PPCISD::LOAD_TOC 0x10021d92d10, 0x10021d8d098, 0x10021d92d10:1 [ORD=6] [ID=58]
      0x10021d8d098: i64 = add 0x10021d92540, 0x10021d90d88 [ORD=6] [ID=26]
        0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
          0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
          0x10021d8bb18: i64 = Register %X2 [ID=16]
        0x10021d90d88: i64 = Constant<8> [ID=9]
      0x10021d92d10: ch,glue = CopyToReg 0x10021d89e00:1, 0x10021d891a0, 0x10021d89e00, 0x10021d89e00:2 [ORD=6] [ID=57]
        0x10021d891a0: i64 = Register %X11 [ID=8]
        0x10021d89e00: i64,ch,glue = PPCISD::LOAD 0x10021d8be30:1, 0x10021d90450, 0x10021d8be30:2 [ORD=6] [ID=56]
          0x10021d90450: i64 = add 0x10021d92540, 0x10021d92750 [ORD=6] [ID=25]
            0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
              0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
              0x10021d8bb18: i64 = Register %X2 [ID=16]
            0x10021d92750: i64 = Constant<16> [ID=2]
          0x10021d8be30: i64,ch,glue = PPCISD::LOAD 0x10021d8c858, 0x10021d92540, 0x10021d8c858:1 [ORD=6] [ID=55]
            0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
              0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
              0x10021d8bb18: i64 = Register %X2 [ID=16]
            0x10021d8c858: ch,glue = callseq_end 0x10021d91bf8, 0x10021d8cb70, 0x10021d8b1d0 [ORD=6] [ID=54]
              0x10021d8cb70: i64 = TargetConstant<112> [ID=5]
              0x10021d8b1d0: i64 = TargetConstant<0> [ID=12]
        0x10021d89e00: i64,ch,glue = PPCISD::LOAD 0x10021d8be30:1, 0x10021d90450, 0x10021d8be30:2 [ORD=6] [ID=56]
          0x10021d90450: i64 = add 0x10021d92540, 0x10021d92750 [ORD=6] [ID=25]
            0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
              0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
              0x10021d8bb18: i64 = Register %X2 [ID=16]
            0x10021d92750: i64 = Constant<16> [ID=2]
          0x10021d8be30: i64,ch,glue = PPCISD::LOAD 0x10021d8c858, 0x10021d92540, 0x10021d8c858:1 [ORD=6] [ID=55]
            0x10021d92540: i64 = PPCISD::TOC_ENTRY 0x10021d92018, 0x10021d8bb18 [ORD=6] [ID=21]
              0x10021d92018: i64 = TargetGlobalAddress<%struct.__pure__expr* (%struct.__pure__expr*)* @"$$fastcc.$$type.real"> 0 [ORD=6] [ID=15]
              0x10021d8bb18: i64 = Register %X2 [ID=16]
            0x10021d8c858: ch,glue = callseq_end 0x10021d91bf8, 0x10021d8cb70, 0x10021d8b1d0 [ORD=6] [ID=54]
              0x10021d8cb70: i64 = TargetConstant<112> [ID=5]
              0x10021d8b1d0: i64 = TargetConstant<0> [ID=12]
In function: $$fastcc.$$type.real

Comment 4 Michel Alexandre Salim 2015-08-14 09:25:42 UTC
Thanks for the report. Will add it to ExcludeArch for now - been meaning to wait until there's a version that's buildable on F23 / rawhide (LLVM JIT changes) but upstream said it might take until the end of summer before one is available.

Comment 5 Fedora End Of Life 2016-07-19 17:15:09 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.