Bug 1248037

Summary: pure fails with "Illegal instruction" on ppc64le
Product: [Fedora] Fedora Reporter: Rafael Fonseca <rdossant>
Component: pureAssignee: Michel Lind <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 Lind 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.