Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#8972 closed defect (fixed)

Fix valgrind test

Reported by: Pierre Labastie Owned by: Pierre Labastie
Priority: low Milestone: 8.1
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

At least one test, "pth_cond_destroy_busy", hangs. And there are errors in a lot of others.

Change History (11)

comment:1 by Pierre Labastie, 8 years ago

For the "pth_cond_destroy_busy" test, it seems there is a patch at https://sourceforge.net/p/valgrind/mailman/message/35440900/

comment:2 by Pierre Labastie, 8 years ago

Owner: changed from blfs-book@… to Pierre Labastie
Status: newassigned

comment:3 by Pierre Labastie, 8 years ago

Applying the above patch, and running autogen.sh (otherwise one needed program from the patch is not compiled), I get:

== 662 tests, 12 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==

Note that the stdout failures are in the same tests as 3 of the stderr failures. This means there are 12 failures out of 662.

Now I think the patch is overkill. To remove the faulty test:

sed -e 's@prereq:.*@prereq : ! ../../tests/true@' \
    -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest
Version 0, edited 8 years ago by Pierre Labastie (next)

comment:4 by Pierre Labastie, 8 years ago

Even easier:

sed -e 's@prereq:.*@prereq: false@' \
    -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest

comment:5 by Pierre Labastie, 8 years ago

  • One test is skipped if the host command is not there, so bind-utils may be used...
  • The openmp page tells that GCC is fully supporting openmp. But the openmp tests are skipped anyway. Not sure about those.
  • Apparently, my processor does not have avx: some tests are skipped.
  • for the tests who report errors, I am not sure we should worry. They are the same as reported by Bruce in October...

comment:6 by Pierre Labastie, 8 years ago

According to the shell script drd/tests/run_openmp_test, openmp tests are run only if the symbol gomp_barrier_init is found by nm on the libgomp library, and the presence or absence of that symbol is governed by the --enable-linux-futex switch. IIUC, the symbol exists only if disabled. Note that openmp should not be listed in the optional dependencies: we have it with gcc...

comment:7 by Pierre Labastie, 8 years ago

So here is what I plan to do:

  • Add instructions to show how to disable a test, with example for pth_cond_destroy_busy.
  • remove openmp from optional deps, and mention that to run openmp tests, libgomp needs to be recompiled with --disable-linux-futex (should I tell how?).
  • update the comment about documentation (off topic for this ticket, but it'll go into the same commit).

Will wait until tonight in case somebody wants to comment.

in reply to:  7 comment:8 by bdubbs@…, 8 years ago

Replying to pierre.labastie:

So here is what I plan to do:

  • Add instructions to show how to disable a test, with example for pth_cond_destroy_busy.

Sounds reasonable.

  • remove openmp from optional deps, and mention that to run openmp tests, libgomp needs to be recompiled with --disable-linux-futex (should I tell how?).

I don't think an explanation is needed. By the time users build valgrind they should know how to do that.

  • update the comment about documentation (off topic for this ticket, but it'll go into the same commit).

OK.

comment:9 by Pierre Labastie, 8 years ago

Resolution: fixed
Status: assignedclosed

What I came up with is at r18468

comment:10 by bdubbs@…, 7 years ago

Milestone: 8.1m8.1

Milestone renamed

comment:11 by bdubbs@…, 7 years ago

Milestone: m8.18.1

Milestone renamed

Note: See TracTickets for help on using tickets.