[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.

Tags: test

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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.