Bug 1445946

Summary: OpenShift Origin 1.5.0 build on armv7hl produces a runtime error with illegal instruction in resulting binary
Product: [Fedora] Fedora Reporter: Adam Miller <admiller>
Component: golangAssignee: Vincent Batts <vbatts>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: admiller, amurdaca, dan, golang-updates, jcajka, jclere, lemenkov, pbrobinson, renich, s, ttomecek, vbatts
Target Milestone: ---   
Target Release: ---   
Hardware: armv7hl   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-30 22:37:23 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: 245418    

Description Adam Miller 2017-04-26 21:08:56 UTC
Description of problem:
Unable to build OpenShift Origin 1.5.0 on armv7hl, there's an utility component called 'genman' which attempts to run during the build process but fails with a runtime error (output below).

Version-Release number of selected component (if applicable):
golang-1.8.1-2.fc27.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Download https://maxamillion.fedorapeople.org/origin-1.5.0-1.fc25.src.rpm
2. koji build --scratch rawhide ./origin-1.5.0-1.fc25.src.rpm
3.

Actual results:

SIGILL: illegal instruction
PC=0x4f960 m=0 sigcode=1

goroutine 1 [running, locked to thread]:
runtime.semrelease(0x1d1730e0)
        /usr/lib/golang/src/runtime/sema.go:164 +0x290 fp=0x1d111ac8 sp=0x1d111aa8

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        /usr/lib/golang/src/runtime/asm_arm.s:1017 +0x4

goroutine 5 [chan receive]:
github.com/openshift/origin/vendor/github.com/golang/glog.(*loggingT).flushDaemon(0xc7cb9f0)
        /builddir/build/BUILD/origin-031cbe45b7da52e19f0c0fae235776b38024517f/_output/local/go/src/github.com/openshift/origin/vendor/github.com/golang/glog/glog.go:879 +0x64
created by github.com/openshift/origin/vendor/github.com/golang/glog.init.1
        /builddir/build/BUILD/origin-031cbe45b7da52e19f0c0fae235776b38024517f/_output/local/go/src/github.com/openshift/origin/vendor/github.com/golang/glog/glog.go:410 +0x1a0

goroutine 11 [syscall]:
os/signal.signal_recv(0x1cb93000)
        /usr/lib/golang/src/runtime/sigqueue.go:116 +0x154
os/signal.loop()
        /usr/lib/golang/src/os/signal/signal_unix.go:22 +0x14
created by os/signal.init.1
        /usr/lib/golang/src/os/signal/signal_unix.go:28 +0x30

trap    0x6
error   0x0
oldmask 0x0
r0      0x90000000
r1      0x30000000
r2      0x9d07c172
r3      0x19040407
r4      0xffffffff
r5      0x9d07c172
r6      0x10c
r7      0x19040407
r8      0x9cedf00
r9      0x44
r10     0x1cb000f0
fp      0x10c
ip      0xffffffff
sp      0x1d111aa8
lr      0xb6e6196e
pc      0x4f960
cpsr    0xa0070030
fault   0x108


Expected results:

It would successfully build like all other architectures.

I have a koji scratch build here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=19218028

Comment 1 Adam Miller 2017-04-27 19:17:12 UTC
Here's some gdb output in case that helps

$ gdb _output/local/bin/linux/arm/genman
GNU gdb (GDB) Fedora 7.12.1-48.fc25
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv7hl-redhat-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from _output/local/bin/linux/arm/genman...done.
Loading Go Runtime support.
+(gdb) run
Starting program: /var/lib/mock/fedora-rawhide-armhfp/root/builddir/build/BUILD/origin-031cbe45b7da52e19f0c0fae235776b38024517f/_output/local/bin/linux/arm/genman
Cannot parse expression `.L1030 4@r4'.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xb6da1460 (LWP 31543)]
[New Thread 0xb65a1460 (LWP 31544)]
[New Thread 0xb5da1460 (LWP 31545)]
[New Thread 0xb53ff460 (LWP 31546)]
[New Thread 0xb4bff460 (LWP 31547)]
[New Thread 0xb433f460 (LWP 31548)]
[New Thread 0xb3a8f460 (LWP 31549)]
[New Thread 0xb328f460 (LWP 31550)]

Thread 1 "genman" received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/arm/armv6t2/strlen.S:146
146             sfi_breg src, \
+(gdb) bt
#0  strlen () at ../sysdeps/arm/armv6t2/strlen.S:146
#1  0xb6f4d3cc in __nscd_getgrnam_r (name=name@entry=0x10c <error: Cannot access memory at address 0x10c>,
    resultbuf=resultbuf@entry=0x10c,
    buffer=buffer@entry=0x9d07c172 <error: Cannot access memory at address 0x9d07c172>,
    buflen=buflen@entry=419693575, result=0xb7776f8 <runtime.algarray>, result@entry=0x8160) at nscd_getgr_r.c:51
#2  0xb6ed51d0 in __getgrnam_r (name=0x10c <error: Cannot access memory at address 0x10c>, resbuf=0x10c,
    buffer=0x9d07c172 <error: Cannot access memory at address 0x9d07c172>, buflen=419693575,
    result=0xb7776f8 <runtime.algarray>) at ../nss/getXXbyYY_r.c:245
#3  0x028c7428 in mygetgrnam_r (result=<optimized out>, buflen=<optimized out>, buf=<optimized out>,
    grp=<optimized out>, name=<optimized out>) at /usr/lib/golang/src/os/user/lookup_unix.go:43
#4  _cgo_3296a34e096e_Cfunc_mygetgrnam_r (v=0x2f83ca8) at cgo-gcc-prolog:65
#5  0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Comment 2 Jan Kurik 2017-08-15 08:10:58 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 3 Vincent Batts 2018-11-14 14:38:37 UTC
Can someone confirm whether this is still an issue?

Comment 4 Dan Horák 2018-11-14 15:21:37 UTC
I think it is not, there is origin-3.11.0-2.fc29.armv7hl.rpm built in koji now, but Jakub will know more.

Comment 5 Ben Cotton 2018-11-27 13:34:26 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Jakub Čajka 2018-11-27 14:34:54 UTC
I believe that it should work now(IIRC it was some sort of code gen bug), But I haven't tested it and I don't have 32bit ARM handy atm. I will tests it when I get to my 32bit board, but I will leave this bug to be auto closed on 30th(as I will be close to the board on the weekend).

Comment 7 Ben Cotton 2018-11-30 22:37:23 UTC
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 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.