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 1356207 - SuperLUMT FTBFS on aarch64 epel7
Summary: SuperLUMT FTBFS on aarch64 epel7
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: SuperLUMT
Version: epel7
Hardware: aarch64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Antonio T. (sagitter)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: epel7aarch64
TreeView+ depends on / blocked
 
Reported: 2016-07-13 17:00 UTC by D. Marlin
Modified: 2018-08-23 12:54 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-23 12:54:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description D. Marlin 2016-07-13 17:00:19 UTC
Description of problem:

SuperLUMT fails to build from source for Fedora EPEL7 on RHELSA-7.2.


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

SuperLUMT-3.1.0-6.el7


How reproducible:

consistently


Steps to Reproduce:
1.  On a RHELSA-7.2 host:
    mock rebuild SuperLUMT-3.1.0-6.el7.src.rpm
2.
3.

Actual results:

    :
~/build/BUILD/SuperLU_MT_3.1/EXAMPLE ~/build/BUILD/SuperLU_MT_3.1
+ cd /builddir/build/BUILD
+ cd SuperLU_MT_3.1
+ pushd EXAMPLE
+ export LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.aarch64/usr/lib64:/usr/lib64
+ LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.aarch64/usr/lib64:/usr/lib64
+ ./pslinsol -p 2
Title: 32-bit adder, from Steve Hamm (Motorola) hamm.mot.com       Key: add32
Dimension     4960x    4960; # nonzeros    23884
Use minimum degree ordering on A'*A.
Factor time  =     0.01
Factor flops = 1.480820e+05     Mflops =    25.97
Solve time   =     0.00
Solve flops = 7.297400e+04      Mflops =   165.09
||X - Xtrue||/||X|| = 1.609323e-06
#NZ in factor L =    21442
#NZ in factor U =    20005
#NZ in L+U =    36487
L\U MB 0.482    total MB needed 3.396   expansions        0
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
    Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
Child return code was: 1
EXCEPTION: [Error()]
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 88, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 547, in do
    raise exception.Error("Command failed. See logs for output.\n # %s" % (command,), child.returncode)
Error: Command failed. See logs for output.
 # bash --login -c /usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/SuperLUMT.spec


Expected results:

builds without errors.


Additional info:

This package is ExclusiveArch: x86_64 %{ix86} armv7hl, according to the changelog:

 - Set ExclusiveArch because of openblas

but openblas now builds for ppc64le:

  http://koji.fedoraproject.org/koji/buildinfo?buildID=753900

and a patch has been submitted so it builds for AArch64 as well.  Using a test build of openblas to meet the dependency, I tried building SuperLUMT for AArch64.  Everything seemed to go well until the EXAMPLE (above).

I'm not sure what the actual error is, but I have a test setup where I can collect additional information or try patches, if that would be helpful.

Comment 1 Antonio T. (sagitter) 2016-07-14 09:36:19 UTC
(In reply to D. Marlin from comment #0)
> Description of problem:
> 
> SuperLUMT fails to build from source for Fedora EPEL7 on RHELSA-7.2.
> 
> 
> Version-Release number of selected component (if applicable):
> 
> SuperLUMT-3.1.0-6.el7
> 
> 
> How reproducible:
> 
> consistently
> 
> 
> Steps to Reproduce:
> 1.  On a RHELSA-7.2 host:
>     mock rebuild SuperLUMT-3.1.0-6.el7.src.rpm
> 2.
> 3.
> 
> Actual results:
> 
>     :
> ~/build/BUILD/SuperLU_MT_3.1/EXAMPLE ~/build/BUILD/SuperLU_MT_3.1
> + cd /builddir/build/BUILD
> + cd SuperLU_MT_3.1
> + pushd EXAMPLE
> + export
> LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.
> aarch64/usr/lib64:/usr/lib64
> +
> LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.
> aarch64/usr/lib64:/usr/lib64
> + ./pslinsol -p 2
> Title: 32-bit adder, from Steve Hamm (Motorola) hamm.mot.com    
> Key: add32
> Dimension     4960x    4960; # nonzeros    23884
> Use minimum degree ordering on A'*A.
> Factor time  =     0.01
> Factor flops = 1.480820e+05     Mflops =    25.97
> Solve time   =     0.00
> Solve flops = 7.297400e+04      Mflops =   165.09
> ||X - Xtrue||/||X|| = 1.609323e-06
> #NZ in factor L =    21442
> #NZ in factor U =    20005
> #NZ in L+U =    36487
> L\U MB 0.482    total MB needed 3.396   expansions        0
> RPM build errors:
> error: Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
>     Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
> Child return code was: 1
> EXCEPTION: [Error()]
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line
> 88, in trace
>     result = func(*args, **kw)
>   File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 547, in do
>     raise exception.Error("Command failed. See logs for output.\n # %s" %
> (command,), child.returncode)
> Error: Command failed. See logs for output.
>  # bash --login -c /usr/bin/rpmbuild -bb --target aarch64 --nodeps
> /builddir/build/SPECS/SuperLUMT.spec
> 
> 

It's a strange behavior, like a missed exit of test. It happens also on ppc64le.

Comment 2 Antonio T. (sagitter) 2016-07-17 12:56:03 UTC
(In reply to Antonio Trande from comment #1)
> (In reply to D. Marlin from comment #0)
> > Description of problem:
> > 
> > SuperLUMT fails to build from source for Fedora EPEL7 on RHELSA-7.2.
> > 
> > 
> > Version-Release number of selected component (if applicable):
> > 
> > SuperLUMT-3.1.0-6.el7
> > 
> > 
> > How reproducible:
> > 
> > consistently
> > 
> > 
> > Steps to Reproduce:
> > 1.  On a RHELSA-7.2 host:
> >     mock rebuild SuperLUMT-3.1.0-6.el7.src.rpm
> > 2.
> > 3.
> > 
> > Actual results:
> > 
> >     :
> > ~/build/BUILD/SuperLU_MT_3.1/EXAMPLE ~/build/BUILD/SuperLU_MT_3.1
> > + cd /builddir/build/BUILD
> > + cd SuperLU_MT_3.1
> > + pushd EXAMPLE
> > + export
> > LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.
> > aarch64/usr/lib64:/usr/lib64
> > +
> > LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-6.aabs.1.el7.
> > aarch64/usr/lib64:/usr/lib64
> > + ./pslinsol -p 2
> > Title: 32-bit adder, from Steve Hamm (Motorola) hamm.mot.com    
> > Key: add32
> > Dimension     4960x    4960; # nonzeros    23884
> > Use minimum degree ordering on A'*A.
> > Factor time  =     0.01
> > Factor flops = 1.480820e+05     Mflops =    25.97
> > Solve time   =     0.00
> > Solve flops = 7.297400e+04      Mflops =   165.09
> > ||X - Xtrue||/||X|| = 1.609323e-06
> > #NZ in factor L =    21442
> > #NZ in factor U =    20005
> > #NZ in L+U =    36487
> > L\U MB 0.482    total MB needed 3.396   expansions        0
> > RPM build errors:
> > error: Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
> >     Bad exit status from /var/tmp/rpm-tmp.GNQvkU (%check)
> > Child return code was: 1
> > EXCEPTION: [Error()]
> > Traceback (most recent call last):
> >   File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line
> > 88, in trace
> >     result = func(*args, **kw)
> >   File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 547, in do
> >     raise exception.Error("Command failed. See logs for output.\n # %s" %
> > (command,), child.returncode)
> > Error: Command failed. See logs for output.
> >  # bash --login -c /usr/bin/rpmbuild -bb --target aarch64 --nodeps
> > /builddir/build/SPECS/SuperLUMT.spec
> > 
> > 
> 
> It's a strange behavior, like a missed exit of test. It happens also on
> ppc64le.


It looks a memory issue but I fear that upstream does not support PPC64 and ARM64 architectures.
If you have a patch feel free to post.

+ cd SuperLU_MT_3.1
+ pushd EXAMPLE
+ export LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-7.el7.ppc64le/usr/lib64:/usr/lib64
+ LD_LIBRARY_PATH=/builddir/build/BUILDROOT/SuperLUMT-3.1.0-7.el7.ppc64le/usr/lib64:/usr/lib64
+ valgrind --leak-check=full -v ./pslinsol
==6257== Memcheck, a memory error detector
==6257== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==6257== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==6257== Command: ./pslinsol
==6257== 
--6257-- Valgrind options:
--6257--    --leak-check=full
--6257--    -v
--6257-- Contents of /proc/version:
--6257--   Linux version 4.4.6-300.fc23.ppc64le (mockbuild.fedoraproject.org) (gcc version 5.3.1 20151207 (Red Hat 5.3.1-2) (GCC) ) #1 SMP Wed Mar 23 19:27:26 UTC 2016
--6257-- Arch and hwcaps: PPC64, LittleEndian, ppc64-int-flt-vmx-FX-GX-VX-DFP-ISA2_07
--6257-- Page sizes: currently 65536, max supported 65536
--6257-- Valgrind library directory: /usr/lib64/valgrind
--6257-- Reading syms from /usr/lib64/ld-2.17.so
--6257-- Reading syms from /builddir/build/BUILD/SuperLU_MT_3.1/EXAMPLE/pslinsol
--6257-- Reading syms from /usr/lib64/valgrind/memcheck-ppc64le-linux
--6257--    object doesn't have a symbol table
--6257--    object doesn't have a dynamic symbol table
--6257-- Scheduler: using generic scheduler lock implementation.
--6257-- Reading suppressions file: /usr/lib64/valgrind/default.supp
==6257== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-6257-by-mockbuild-on-
==6257== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-6257-by-mockbuild-on-
==6257== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-6257-by-mockbuild-on-
==6257== 
==6257== TO CONTROL THIS PROCESS USING vgdb (which you probably
==6257== don't want to do, unless you know exactly what you're doing,
==6257== or are doing some strange experiment):
==6257==   /usr/lib64/valgrind/../../bin/vgdb --pid=6257 ...command...
==6257== 
==6257== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==6257==   /path/to/gdb ./pslinsol
==6257== and then give GDB the following command
==6257==   target remote | /usr/lib64/valgrind/../../bin/vgdb --pid=6257
==6257== --pid is optional if only one valgrind process is running
==6257== 
--6257-- REDIR: 0x4024e9c (ld64.so.2:strlen+8) redirected to 0x380a0164 (???)
--6257-- REDIR: 0x4023380 (ld64.so.2:index+8) redirected to 0x380a01a8 (???)
--6257-- Reading syms from /usr/lib64/valgrind/vgpreload_core-ppc64le-linux.so
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/valgrind/vgpreload_memcheck-ppc64le-linux.so
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /builddir/build/BUILDROOT/SuperLUMT-3.1.0-7.el7.ppc64le/usr/lib64/libsuperlumt_s.so.3.1
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/libopenblaso-r0.2.18.so
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/libopenblasp-r0.2.18.so
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/power8/libm-2.17.so
--6257-- Reading syms from /usr/lib64/power8/libpthread-2.17.so
--6257-- Reading syms from /usr/lib64/libgomp.so.1.0.0
--6257-- ELF section outside all mapped regions
--6257-- Reading syms from /usr/lib64/libgomp.so.1.0.0
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/power8/libc-2.17.so
--6257-- Reading syms from /usr/lib64/libgcc_s-4.8.5-20150702.so.1
--6257-- ELF section outside all mapped regions
--6257-- Reading syms from /usr/lib64/libgcc_s-4.8.5-20150702.so.1
--6257--    object doesn't have a symbol table
--6257-- Reading syms from /usr/lib64/libgfortran.so.3.0.0
--6257-- ELF section outside all mapped regions
--6257-- Reading syms from /usr/lib64/libgfortran.so.3.0.0
--6257--    object doesn't have a symbol table
--6257-- REDIR: 0x6261cd0 (libc.so.6:strchrnul) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x6266650 (libc.so.6:memrchr) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x625c890 (libc.so.6:strlen) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x625f930 (libc.so.6:memcpy) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x625e930 (libc.so.6:memset) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x625c940 (libc.so.6:strnlen) redirected to 0x4050808 (_vgnU_ifunc_wrapper)
--6257-- REDIR: 0x626aa60 (libc.so.6:__memset_power7) redirected to 0x408ca10 (memset)
--6257-- REDIR: 0x62669e0 (libc.so.6:__memcpy_power7) redirected to 0x408a720 (memcpy)
--6257-- REDIR: 0x626c7e0 (libc.so.6:__strlen_power7) redirected to 0x4088050 (strlen)
--6257-- REDIR: 0x625ce28 (libc.so.6:rindex+8) redirected to 0x40874b0 (rindex)
--6257-- REDIR: 0x6255e60 (libc.so.6:calloc) redirected to 0x4086424 (calloc)
--6257-- REDIR: 0x6253fe0 (libc.so.6:malloc) redirected to 0x4083d24 (malloc)
--6257-- REDIR: 0x6253fe8 (libc.so.6:malloc+8) redirected to 0x4083d24 (malloc)
--6257-- REDIR: 0x625e4a8 (libc.so.6:memmove+8) redirected to 0x408caf0 (memmove)
--6257-- REDIR: 0x626d708 (libc.so.6:__GI_strncmp+8) redirected to 0x4088bd0 (__GI_strncmp)
--6257-- REDIR: 0x6254428 (libc.so.6:free+8) redirected to 0x4085314 (free)
--6257-- REDIR: 0x626c040 (libc.so.6:__GI_memchr) redirected to 0x4089fa0 (__GI_memchr)
--6257-- REDIR: 0x626dba0 (libc.so.6:__strchrnul_power7) redirected to 0x408d210 (strchrnul)
--6257-- REDIR: 0x626bd48 (libc.so.6:__GI_mempcpy+8) redirected to 0x408d5a0 (__GI_mempcpy)
--6257-- REDIR: 0x6254420 (libc.so.6:free) redirected to 0x4085314 (free)
--6257-- REDIR: 0x6255190 (libc.so.6:realloc) redirected to 0x408665c (realloc)
Title: 32-bit adder, from Steve Hamm (Motorola) hamm.mot.com       Key: add32   
Dimension     4960x    4960; # nonzeros    23884
Use minimum degree ordering on A'*A.
Factor time  =     0.28
Factor flops = 1.477690e+05	Mflops =     0.54
Solve time   =     0.02
Solve flops = 7.269000e+04	Mflops =     3.50
||X - Xtrue||/||X|| = 1.609323e-06
#NZ in factor L =    21365
#NZ in factor U =    19940
#NZ in L+U =    36345
L\U MB 0.482	total MB needed 2.071	expansions        0
==6257== 
==6257== HEAP SUMMARY:
==6257==     in use at exit: 4,048 bytes in 7 blocks
==6257==   total heap usage: 112 allocs, 105 frees, 16,545,281 bytes allocated
==6257== 
==6257== Searching for pointers to 7 not-freed blocks
==6257== Checked 26,085,784 bytes
==6257== 
==6257== 1,728 bytes in 3 blocks are possibly lost in loss record 4 of 5
==6257==    at 0x40864E4: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-ppc64le-linux.so)
==6257==    by 0x4019F5B: _dl_allocate_tls (in /usr/lib64/ld-2.17.so)
==6257==    by 0x614976F: pthread_create@@GLIBC_2.17 (in /usr/lib64/power8/libpthread-2.17.so)
==6257==    by 0x6193953: ??? (in /usr/lib64/libgomp.so.1.0.0)
==6257==    by 0x618DEF7: GOMP_parallel_start (in /usr/lib64/libgomp.so.1.0.0)
==6257==    by 0x40C0247: psgstrf (in /builddir/build/BUILDROOT/SuperLUMT-3.1.0-7.el7.ppc64le/usr/lib64/libsuperlumt_s.so.3.1)
==6257==    by 0x40B6BE7: psgssv (in /builddir/build/BUILDROOT/SuperLUMT-3.1.0-7.el7.ppc64le/usr/lib64/libsuperlumt_s.so.3.1)
==6257==    by 0x1000100F: main (pslinsol.c:105)
==6257== 
==6257== LEAK SUMMARY:
==6257==    definitely lost: 0 bytes in 0 blocks
==6257==    indirectly lost: 0 bytes in 0 blocks
==6257==      possibly lost: 1,728 bytes in 3 blocks
==6257==    still reachable: 2,320 bytes in 4 blocks
==6257==         suppressed: 0 bytes in 0 blocks
==6257== Reachable blocks (those to which a pointer was found) are not shown.
==6257== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==6257== 
==6257== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==6257== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
error: Bad exit status from /var/tmp/rpm-tmp.v7H3UB (%check)


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