Bug 961007 - FTBFS: builds get stuck during self checks
FTBFS: builds get stuck during self checks
Product: Fedora
Classification: Fedora
Component: hdf (Show other bugs)
powerpc Linux
medium Severity high
: ---
: ---
Assigned To: Orion Poplawski
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2013-05-08 09:59 EDT by Karsten Hopp
Modified: 2014-05-22 13:38 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-05-22 13:38:11 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Karsten Hopp 2013-05-08 09:59:12 EDT
Description of problem:
Builds of hdf-4.2.9-1.fc19 on PPC64 and PPC32 get stuck during the sel checks without any indication what's going on.

make  check-TESTS
make[3]: Entering directory `/builddir/build/BUILD/hdf-4.2.9/hdf/test'
make[4]: Entering directory `/builddir/build/BUILD/hdf-4.2.9/hdf/test'
===Serial tests in test begin Tue May  7 14:50:03 MST 2013===
make[5]: Entering directory `/builddir/build/BUILD/hdf-4.2.9/hdf/test'
Testing testhdf 

At this point it waits until koji gets a timeout and kills it.

A test with 'make check Verbosity=9' didn't provide any further output either.

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

How reproducible:

Steps to Reproduce:
1.ppc-koji build --scratch f19 hdf-4.2.9-1.fc19.src.rpm
Actual results:


Comment 1 Orion Poplawski 2013-05-09 12:56:52 EDT
I'm at a complete loss.  It seems like even "strace -f testhdf" produces no output.  I have no ppc machines myself to test with.
Comment 2 Karsten Hopp 2013-05-13 13:06:17 EDT
It hangs in test_mgr_interlace(1) when dimsize[0] = 4 and dimsize[1] = 5
 (around line 2293 in mgr.c)

gdb shows more, mcache_look seems to be looping here:

0x00000000100bf100 in mcache_look (pgno=1, mp=0x102eb6e0) at mcache.c:1183
1183        for (bp = head->cqh_first; bp != (VOID *)head; bp = bp->hq.cqe_next)

(gdb) p *bp
$12 = {hq = {cqe_next = 0x1022ff20, cqe_prev = 0x1022ff20}, q = {cqe_next = 0x10284f50, cqe_prev = 0x102eb6e0}, page = 0x1022ff50, pgno = 4, 
  flags = 0 '\000'}

(gdb) p pgno
$13 = 1

(gdb) p bp
$14 = (BKT *) 0x1022ff20

(gdb) p bp->hq.cqe_next
$15 = (struct _bkt *) 0x1022ff20

(gdb) p head
$16 = (struct _hqh *) 0x102eb6f0

This looks to me like there is no way to get out of this loop:
    for (bp = head->cqh_first; bp != (VOID *)head; bp = bp->hq.cqe_next)
        if (bp->pgno == pgno)
          { /* hit....found page in cache */
              /* done */
              ret_value = RET_SUCCESS;
              goto done;
Comment 3 Dan Horák 2014-05-22 07:15:44 EDT
sounds like a gcc 4.8 issue, as the test suite passes in f21 with gcc 4.9

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