Bug 1261196

Summary: test-metrics fails on aarch64
Product: [Fedora] Fedora Reporter: Peter Robinson <pbrobinson>
Component: cockpitAssignee: Marius Vollmer <mvollmer>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: mjuszkie, sgallagh, stefw
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cockpit-0.78-1.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-02 13:25:42 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: 922257    

Description Peter Robinson 2015-09-08 21:01:08 UTC
cockpit-0.74-1.fc24

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3172467

make  check-recursive
make[1]: Entering directory '/builddir/build/BUILD/cockpit-0.74'
Making check in .
make[2]: Entering directory '/builddir/build/BUILD/cockpit-0.74'
make  test-server 
make[3]: Entering directory '/builddir/build/BUILD/cockpit-0.74'
make[3]: 'test-server' is up to date.
make[3]: Leaving directory '/builddir/build/BUILD/cockpit-0.74'
make  check-TESTS
make[3]: Entering directory '/builddir/build/BUILD/cockpit-0.74'
make[4]: Entering directory '/builddir/build/BUILD/cockpit-0.74'
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb4fbe4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff883de4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb593e4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7f5be9e0>)
SKIP: pkg/base1/test-base64.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7779e998>)
SKIP: pkg/base1/test-chan.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff80f6e998>)
SKIP: pkg/base1/test-utf8.html skipping due to: phantomjs
((<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb26feab8>)
SKIP: pkg/base1/test-permissions.html skipping due to: phantomjs
<type 'exceptions.IOError'>, (<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff935feab8>)
SKIP: pkg/base1/test-spawn-proc.html skipping due to: phantomjs
IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7f01e998>)
SKIP: pkg/base1/test-echo.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffaa42eab8>)
SKIP: pkg/base1/test-no-jquery.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff823ce998>)
SKIP: pkg/shell/test-util.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb6d0e998>)
SKIP: pkg/base1/test-dbus.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffa921e998>)
SKIP: pkg/base1/test-user.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb303e998>)
SKIP: pkg/shell/test-dummy.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8bd9eab8>)
SKIP: pkg/base1/test-dbus-framed.html skipping due to: phantomjs
((<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff98c2e998>)
SKIP: pkg/shell/test-dbusx.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7e9be4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffac4fea28>)
SKIP: pkg/shell/test-controls.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8899e4d0>)
<type 'exceptions.IOError'>(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff9dede9e0>)
SKIP: pkg/base1/test-metrics.html skipping due to: phantomjs
, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffaa34e998>)
SKIP: pkg/base1/test-spawn.html skipping due to: phantomjs
((<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8105e4d0>)
((<type 'exceptions.IOError'>, <type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff89cfe4d0><traceback object at 0x3ff8e4fe4d0>))
SKIP: pkg/base1/test-framed.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8957e9e0>)
<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff824fe9e0>)
SKIP: pkg/docker/test-docker.html skipping due to: phantomjs
((<type 'exceptions.IOError'><type 'exceptions.IOError'>, , IOError(25, 'Inappropriate ioctl for device')IOError(25, 'Inappropriate ioctl for device'), , <traceback object at 0x3ff91a8e4d0><traceback object at 0x3ff9719e998>))
SKIP: pkg/base1/test-async.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb60be998>)
SKIP: pkg/base1/test-time.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff85a1e4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7bc4e4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffb70ae4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffaef0e4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8108e998>)
SKIP: pkg/base1/test-file.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7f0ce4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff9588e4d0>)
((<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff8fece4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ffa845eab8>)
SKIP: pkg/base1/test-framed-cache.html skipping due to: phantomjs
(((<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff9edee9e0>)
SKIP: pkg/base1/test-format.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff9900e4d0>)
<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff7f1ae998>)
SKIP: pkg/systemd/test-journal-renderer.html skipping due to: phantomjs
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff9d2be4d0>)
(<type 'exceptions.IOError'>, IOError(25, 'Inappropriate ioctl for device'), <traceback object at 0x3ff77a8e4d0>)
PASS: test-paths 1 /paths/add-remove

Comment 2 Peter Robinson 2015-09-14 10:51:57 UTC
Still broken in 0.75
http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=315087

Comment 3 Stef Walter 2015-09-14 19:34:50 UTC
I do not see the 'Inappropriate ioctl for device' in the build log anymore. Are you talking about a separate problem?

This bug has gone into commit messages as fixing exactly the problem you reported. If you wish to report a separate problem, please do so.

Comment 4 Peter Robinson 2015-09-14 22:33:56 UTC
(In reply to Stef Walter from comment #3)
> I do not see the 'Inappropriate ioctl for device' in the build log anymore.
> Are you talking about a separate problem?

Maybe, the build still fails. Spilt the hair how ever you like...

Comment 5 Stephen Gallagher 2015-09-22 12:11:35 UTC
./test-metrics terminated with SIGABRT
FAIL: test-metrics 5 /metrics/interpolate

So it looks like it's building successfully but failing in the test suite now.

Comment 6 Stef Walter 2015-09-22 16:33:17 UTC
Since we're using one bugzilla bug for multiple bugs, renaming the title to the next one. In the future please report one issue per bugzilla bug.

Please provide Marius with shell access to the machine that this problem is happening on. He's the one familiar with this code but I doubt he has a machine of this architecture.

Comment 7 Peter Robinson 2015-09-22 16:45:49 UTC
> Please provide Marius with shell access to the machine that this problem is
> happening on. He's the one familiar with this code but I doubt he has a
> machine of this architecture.

They are provision-able through beaker

Comment 8 Marcin Juszkiewicz 2015-09-23 17:30:14 UTC
cockpit 0.77 built fine for aarch64 with "-ffp-context=off" given for compiler.

Comment 9 Marius Vollmer 2015-09-24 06:56:15 UTC
(In reply to Marcin Juszkiewicz from comment #8)

> cockpit 0.77 built fine for aarch64 with "-ffp-context=off" given for
> compiler.

The test is fundamentally broken in that it compares results of floating point calculations for exact equality:

cockpit-bridge:ERROR:src/bridge/test-metrics.c:392:test_interpolate: [[19.999999999999996,99.999999999999957]] != [[20,100]]

Trying to make it pass by finding the right combination of compiler flags would be wrong, we just need to fix that test.

A acceptable quick workaround is to just skip the test.  The actual Cockpit code seems correct.

(Yeah, I knew this when writing the test, but... well, sorry for the pain.)

Comment 10 Marcin Juszkiewicz 2015-09-24 09:08:07 UTC
(In reply to Marius Vollmer from comment #9)

The code is fine. But (as with rest of CERN software) the issue is related to FMA instructions as they give more precise results while test data is from build without FMA.

We had that in HepMC, cockpit and alglib so far.

Comment 11 Peter Robinson 2015-09-24 09:10:47 UTC
(In reply to Marcin Juszkiewicz from comment #10)
> (In reply to Marius Vollmer from comment #9)
> 
> The code is fine. But (as with rest of CERN software) the issue is related
> to FMA instructions as they give more precise results while test data is
> from build without FMA.
> 
> We had that in HepMC, cockpit and alglib so far.

cockpit isn't CERN software. It's server management console stuff

Comment 12 Marcin Juszkiewicz 2015-09-24 09:21:48 UTC
Sorry. too much discussions about CERN recently D:

Comment 13 Stef Walter 2015-09-30 07:21:59 UTC
Marius will fix the test-interpolate test here for the 0.78 release, and I think that'll fix the issue.

Marcin, since we do continuous deployment, the Fedora cockpit master and branched koji branches both get their spec file from upstream:

https://github.com/cockpit-project/cockpit/blob/master/tools/cockpit.spec

I'll put a note in the cockpit.spec file: that any changes get clobbered regularly, unless they make their way upstream.

Comment 14 Marius Vollmer 2015-09-30 08:35:17 UTC
Fixed here: https://github.com/cockpit-project/cockpit/pull/2871

Comment 15 Fedora Update System 2015-09-30 14:42:16 UTC
cockpit-0.78-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-977ba13a92

Comment 16 Fedora Update System 2015-10-01 23:53:31 UTC
cockpit-0.78-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update cockpit'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-977ba13a92

Comment 17 Fedora Update System 2015-10-02 01:49:22 UTC
cockpit-0.78-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update cockpit'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-977ba13a92

Comment 18 Fedora Update System 2015-10-02 13:25:40 UTC
cockpit-0.78-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.