Bug 985582 - FTBFS: self check failures
Summary: FTBFS: self check failures
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: subversion
Version: 20
Hardware: powerpc
OS: Linux
medium
high
Target Milestone: ---
Assignee: Joe Orton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-17 19:44 UTC by Karsten Hopp
Modified: 2013-12-02 13:31 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-02 13:31:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karsten Hopp 2013-07-17 19:44:13 UTC
Description of problem:
Several self checks fail on PPC:

XFAIL: wc_tests.py 5: add file through versioned symlink
XFAIL: wc_tests.py 6: add file with not-parent symlink
At least one test FAILED, checking /builddir/build/BUILD/subversion-1.8.0/tests.log
FAIL:  wc_tests.py 7: inaccessible .svn/wc.db
FAIL:  wc_tests.py 8: corrupt .svn/wc.db
FAIL:  wc_tests.py 9: zero-length .svn/wc.db
FAIL:  wc_tests.py 10: missing .svn/wc.db
FAIL:  wc_tests.py 12: missing .svn/wc.db, maybe valid .svn/entries
Summary of test results:
  1908 tests PASSED
  51 tests SKIPPED
  28 tests XFAILED (1 WORK-IN-PROGRESS)
  5 tests FAILED
SUMMARY: Some tests failed.
make: *** [check] Error 1
[[[
W: Status when wc.db is not accessible
W: EXPECTED STDERR (regexp):
W: | [^ ]+ E155016: The working copy database at '.*' is corrupt
W: ACTUAL STDERR:
W: | svn: warning: W155016: The working copy database at '/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svn-test-work/working_copies/wc_tests-7' is corrupt.
W: CWD: /builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline
W: EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/main.py", line 1550, in run
    rc = self.pred.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 254, in run
    return self._delegate.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 176, in run
    return self.func(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/wc_tests.py", line 131, in status_with_inaccessible_wc_db
    "st", sbox.wc_dir)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 282, in run_and_verify_svn
    expected_exit, *varargs)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 321, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 445, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 418, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL:  wc_tests.py 7: inaccessible .svn/wc.db
]]]
[[[
W: Status when wc.db is corrupt
W: EXPECTED STDERR (regexp):
W: | [^ ]+ E155016: The working copy database at '.*' is corrupt
W: ACTUAL STDERR:
W: | svn: warning: W155016: The working copy database at '/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svn-test-work/working_copies/wc_tests-8' is corrupt.
W: CWD: /builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline
W: EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/main.py", line 1550, in run
    rc = self.pred.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 176, in run
    return self.func(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/wc_tests.py", line 143, in status_with_corrupt_wc_db
    "st", sbox.wc_dir)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 282, in run_and_verify_svn
    expected_exit, *varargs)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 321, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 445, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 418, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL:  wc_tests.py 8: corrupt .svn/wc.db
]]]
[[[
W: Status when wc.db has zero length
W: EXPECTED STDERR (regexp):
W: | [^ ]+ E200030:
W: ACTUAL STDERR:
W: | svn: warning: W200030: sqlite: no such table: wcroot (S1)
W: CWD: /builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline
W: EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/main.py", line 1550, in run
    rc = self.pred.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 176, in run
    return self.func(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/wc_tests.py", line 154, in status_with_zero_length_wc_db
    "st", sbox.wc_dir)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 282, in run_and_verify_svn
    expected_exit, *varargs)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 321, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 445, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 418, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL:  wc_tests.py 9: zero-length .svn/wc.db
]]]
[[[
W: Status when wc.db is missing
W: EXPECTED STDERR (regexp):
W: | [^ ]+ E155016: The working copy database at '.*' is missing
W: ACTUAL STDERR:
W: | svn: warning: W155016: The working copy database at '/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svn-test-work/working_copies/wc_tests-10' is missing.
W: CWD: /builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline
W: EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/main.py", line 1550, in run
    rc = self.pred.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 176, in run
    return self.func(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/wc_tests.py", line 165, in status_without_wc_db
    "st", sbox.wc_dir)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 282, in run_and_verify_svn
    expected_exit, *varargs)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 321, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 445, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 418, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL:  wc_tests.py 10: missing .svn/wc.db
]]]
[[[
W: Status when wc.db is missing and .svn/entries might be valid
W: EXPECTED STDERR (regexp):
W: | [^ ]+ E155036:
W: ACTUAL STDERR:
W: | svn: warning: W155036: The working copy at '/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svn-test-work/working_copies/wc_tests-12'
W: | is too old (format 12) to work with client version '1.8.0 (r1490375)' (expects format 31). You need to upgrade the working copy first.
W: | 
W: CWD: /builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline
W: EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/main.py", line 1550, in run
    rc = self.pred.run(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/testcase.py", line 176, in run
    return self.func(sandbox)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/wc_tests.py", line 191, in status_with_missing_wc_db_and_maybe_valid_entries
    "st", sbox.wc_dir)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 282, in run_and_verify_svn
    expected_exit, *varargs)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/actions.py", line 321, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 445, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/builddir/build/BUILD/subversion-1.8.0/subversion/tests/cmdline/svntest/verify.py", line 418, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL:  wc_tests.py 12: missing .svn/wc.db, maybe valid .svn/entries
]]]
RPM build errors:
+ : Test suite failure.
+ cat fails.log
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.M7faaa (%check)
    Bad exit status from /var/tmp/rpm-tmp.M7faaa (%check)
Child return code was: 1
EXCEPTION: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target ppc --nodeps builddir/build/SPECS/subversion.spec']
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/mockbuild/trace_decorator.py", line 70, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.6/site-packages/mockbuild/util.py", line 359, in do
    raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode)
Error: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target ppc --nodeps builddir/build/SPECS/subversion.spec']
LEAVE do --> EXCEPTION RAISED

Version-Release number of selected component (if applicable):
subversion-1.8.0-1.fc20

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f20 subversion-1.8.0-1.fc20.src.rpm
2.
3.

Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1235768

Comment 1 Joe Orton 2013-07-18 07:49:45 UTC
Is that reproducible, does it fail the same way every time?

Comment 2 Karsten Hopp 2013-07-18 13:58:28 UTC
Yes, here's another attempt:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1238790

Comment 3 Karsten Hopp 2013-07-18 14:05:33 UTC
If there's no quick fix, would you mind disabling those tests on ppc and %{power64} until you've got a fix ?
According to my build logs not having subversion-1.8.0 blocks at least 900 packages from being built on PPC secondary arch and any temporary fix/workaround would be welcome.

Comment 4 Joe Orton 2013-07-19 22:15:03 UTC
There is a test case which fails if running as root.  Are you running builds as root on ppc*?  (Surely a bad idea?)

I've pushed a commit/build which ignores test suite failures on ppc & ppc64 (hopefully correctly).

Comment 5 Joe Orton 2013-07-19 22:17:41 UTC
$ make check TESTS=subversion/tests/cmdline/wc_tests.py
[1/1] wc_tests.py..............................................................................................................success

The tests in question pass if run as a non-root user.  (kernel 3.9.5-301.fc19.ppc64p7)

Comment 6 Fedora End Of Life 2013-09-16 14:36:20 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20

Comment 7 Andreas Stieger 2013-11-18 21:13:45 UTC
As a friendly service from your fellow Subversion packagers over at openSUSE... We worked with upstream to fix this:

https://svn.apache.org/viewvc?view=revision&revision=1543145

------------------------------------------------------------------------
r1543145 | rhuijben | 2013-11-18 20:43:23 +0000 (Mon, 18 Nov 2013) | 9 lines
Changed paths:
   M /subversion/trunk/subversion/svn/status-cmd.c

Resolve a strange error that somehow occurred only on some specific powerpc
architectures. The real problem is that we didn't properly detect the end of
the variable argument list, so it can fail on all architectures.

Found by: astieger

* subversion/svn/status-cmd.c
  (svn_cl__status): Add missing end of warning status values marker.

Comment 8 Joe Orton 2013-11-18 21:46:41 UTC
Andreas, thanks a lot, nice find!

Comment 9 Andreas Stieger 2013-11-18 23:05:36 UTC
(In reply to Joe Orton from comment #8)
> Andreas, thanks a lot, nice find!

And while you are at it, your current build also fails due to dynamically linking against SQLite 3.8. Link statically against the recommended 3.7.15.1 or fetch fixes from trunkL
https://svn.apache.org/viewvc?view=revision&revision=1542774
(configure.ac) SQLITE_RECOMMENDED_VER="3.7.15.1"

Please note that svn with SQLite 3.8 has some performance issues.

Comment 10 Joe Orton 2013-11-26 16:56:59 UTC
Now I owe you two beers, Andreas!  Thanks so much for that, yes, it was breaking in that test.

Comment 11 Andreas Stieger 2013-12-01 21:13:39 UTC
In fact these three trunk revisions depend on each other:
r1542774, r1542767, r1542765

Comment 12 Joe Orton 2013-12-02 13:31:35 UTC
drink_of_choice_owed++

... and finally a working svn build again - thanks Andreas :)

I've put the fix for this in f20 & rawhide builds.


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