Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

murdock: enable hifive1 #11041

Closed
wants to merge 4 commits into from

Conversation

kaspar030
Copy link
Contributor

@kaspar030 kaspar030 commented Feb 20, 2019

Contribution description

This PR enables running CI tests on hifive1.
Unfortunately we have only one board, so maybe enabling at this point is impractical, as running all tests will take a while...

Testing procedure

Let CI run with "run tests"

Issues/PRs references

waiting for #11046, #11165.

@kaspar030 kaspar030 added State: waiting for other PR State: The PR requires another PR to be merged first CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Area: CI Area: Continuous Integration of RIOT components CI: run tests If set, CI server will run tests on hardware for the labeled PR labels Feb 20, 2019
@kaspar030 kaspar030 force-pushed the murdock_enable_hifive1 branch from 7c7ec35 to 1b4aca8 Compare March 12, 2019 15:16
@kaspar030
Copy link
Contributor Author

Unfortunately we have only one board, so maybe enabling at this point is impractical, as running all tests will take a while...

I'm thinking of enabling some boards only for nightly builds.

@kaspar030 kaspar030 removed the CI: run tests If set, CI server will run tests on hardware for the labeled PR label Mar 12, 2019
@kaspar030
Copy link
Contributor Author

disabling CI build for now, this is waiting anyways and the queue is non-zero.

@kaspar030 kaspar030 removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Mar 12, 2019
@kaspar030 kaspar030 added CI: run tests If set, CI server will run tests on hardware for the labeled PR State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet labels Apr 9, 2019
@kaspar030 kaspar030 force-pushed the murdock_enable_hifive1 branch from 1b4aca8 to ea8f47e Compare April 9, 2019 13:53
@kaspar030 kaspar030 added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Apr 9, 2019
@kaspar030 kaspar030 added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Apr 11, 2019
@kaspar030
Copy link
Contributor Author

Very weird, some tests seem to always fail when run through murdock, but not when I send the murdock jobs manually...

@kaspar030 kaspar030 added the CI: disable test cache If set, CI will always run all tests regardless of whether they have been run successfully before label Apr 11, 2019
@kaspar030 kaspar030 force-pushed the murdock_enable_hifive1 branch from 133e181 to 748e238 Compare April 11, 2019 15:27
@kaspar030 kaspar030 removed the CI: disable test cache If set, CI will always run all tests regardless of whether they have been run successfully before label Apr 11, 2019
@kaspar030 kaspar030 force-pushed the murdock_enable_hifive1 branch from 8bf472b to 748e238 Compare April 11, 2019 15:38
@kaspar030
Copy link
Contributor Author

Very weird, some tests seem to always fail when run through murdock, but not when I send the murdock jobs manually...

Seems to be a toolchain issue. The riscv-gcc 7.2 in our current build container builds the broken test applications. My local 8.1 builds working binaries.

The hifive1 has only 16kB of memory. The tests tries to allocate 12
thread stacks with 1kB (default) stacksize each. The corresponding
malloc() fails for the last two threads, making the test fail silently.
In some circumstances (e.g., on Hifive1), the xtimer call in
"_thread_fn()" is blocking. That causes the test threads to never block,
which in turn prevents main() from starting the shell.

Change the tests threads' priorities to be lower (higher value) than
main so never blocking test threads don't prevent the shell from
running.
Tests get stuck on Hifive1.
@kaspar030 kaspar030 force-pushed the murdock_enable_hifive1 branch from 3570f30 to 5d6b9ef Compare July 19, 2019 18:42
@kaspar030
Copy link
Contributor Author

My local 8.1 builds working binaries.

I just did another round of tests.

These work when built with gcc 8.2 but not 7.2:

  • tests/pkg_littlefs
  • tests/pkg_monocypher
  • tests/pkg_libb2
  • tests/pkg_spiffs
  • tests/gnrc_ipv6_nib
  • tests/gnrc_ipv6_nib_6ln
  • tests/pkg_hacl
  • tests/pkg_libhydrogen
  • tests/pkg_tiny-asn1

They should all be fixed by RIOT-OS/riotdocker#71.

these fail for other reasons:

  • tests/gnrc_ipv6_fwd_w_sub
  • tests/stdin ??
  • tests/xtimer_periodic_wakeup
  • tests/xtimer_usleep (the xtimer tests probably fail because of quantization of 32khz xtimer)

@stale
Copy link

stale bot commented Jan 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Jan 20, 2020
@stale stale bot closed this Feb 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: CI Area: Continuous Integration of RIOT components CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: run tests If set, CI server will run tests on hardware for the labeled PR State: stale State: The issue / PR has no activity for >185 days State: waiting for other PR State: The PR requires another PR to be merged first State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant