[cpu/clocktest] Always fails on servers

Bug #833696 reported by Brendan Donegan
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
Medium
Daniel Manrique

Bug Description

cpu/clocktest always fails on servers with this not very descriptive message:

cpu/clocktest __cpu__ Unresolved Command not found.

At a pinch, I'd say this is because the command clocktest is a binary compiled from clocktest.c and this may not be getting built for amd64 architecture.

Related branches

Ara Pulido (ara)
tags: added: test
Revision history for this message
Jeff Lane (bladernr) wrote :

Confirming as both Brendan and I have seen this failure on the servers.

One thing I noticed was that the clocktest job was not configured to run as root. clocktest needs to be run as root, so the branch linked for now fixes that issue. I do not know yet if that will have any effect on the test itself within checkbox.

For the record, on a 64bit server, the clocktest binary, according to 'file' is a 32bit ELF binary, so perhaps that is the reason it's not actually doing anything.

Changed in checkbox:
status: New → Confirmed
Revision history for this message
Daniel Manrique (roadmr) wrote :

OK, so the version of clocktest that ships with checkbox is 32-bit:

/usr/share/checkbox/scripts/clocktest: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

If you run it directly you get:

/usr/share/checkbox/scripts/clocktest
-bash: /usr/share/checkbox/scripts/clocktest: No such file or directory

If I compile it on the server where it's failing (or any amd64 system) I get:

/tmp/ct: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

and it runs:

./ct
Testing for clock jitter on 8 cpus
PASSED, largest jitter seen was 0.003167
clock direction test: start time 1314374769, stop time 1314374829, sleeptime 60, delta 0
PASSED

One thing I tried is installing ia32-libs on the server, and when that is installed, the 32-bit binary *does* run.

All the runs were done as the ubuntu user.

So I see three solutions:

1- requiring ia32-libs for checkbox (100MB worth of stuff to install).
2- Building architecture-specific versions of checkbox (most elegant but potentially painful, for only two actual binaries we ship).
3- Having a prerrequisite test that builds the binary locally. Still, build-essential needs to be installed for this to work.

Changed in checkbox:
status: Confirmed → Triaged
importance: Undecided → Medium
Daniel Manrique (roadmr)
Changed in checkbox:
assignee: nobody → Daniel Manrique (roadmr)
status: Triaged → In Progress
Changed in checkbox:
status: In Progress → Fix Committed
Marc Tardif (cr3)
Changed in checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers