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

6 tests fail on FreeBSD #5127

Closed
yurivict opened this issue Jan 7, 2022 · 12 comments
Closed

6 tests fail on FreeBSD #5127

yurivict opened this issue Jan 7, 2022 · 12 comments
Labels

Comments

@yurivict
Copy link

yurivict commented Jan 7, 2022

The following tests FAILED:
	 35 - feature_normal_estimation (Subprocess aborted)
	 50 - a_ii_normals_test (Subprocess aborted)
	 79 - io_io (Failed)
	 92 - a_octree_test (Subprocess aborted)
	102 - correspondence_rejectors (Failed)
	109 - search (Failed)
Errors while running CTest
Output from these tests are in: /disk-samsung/freebsd-ports/graphics/pcl-pointclouds/work/.build/test/Testing/Temporary/LastTest.log

The LastTest.log file doesn't exist, contrary to what the message says.

Version: 1.12.1

pcl-pointclouds-test-log.txt

@yurivict yurivict added kind: bug Type of issue status: triage Labels incomplete labels Jan 7, 2022
@mvieth
Copy link
Member

mvieth commented Jan 7, 2022

Interesting, thanks for the notification.
PCL has been available in FreeBSD for some time, right? Or only since recently? Is this the first time that PCL's tests are run under FreeBSD?
No idea about LastTest.log, that is probably printed by gtest/googletest.
I will try to look into these failed tests, I suspect they may be caused by different implementations of e.g. random generators.
For the failing io test: the problem is likely in raw_fallocate, maybe FreeBSD should do the same thing as Android there? I have zero experience with FreeBSD, could you make a suggestion?

@yurivict
Copy link
Author

yurivict commented Jan 7, 2022

PCL has been available in FreeBSD for some time, right? Or only since recently? Is this the first time that PCL's tests are run under FreeBSD?

The PCL port is available on FreeBSD since 2018, but tests weren't run before now.

For the failing io test: the problem is likely in raw_fallocate, maybe FreeBSD should do the same thing as Android there? I have zero experience with FreeBSD, could you make a suggestion?

posix_fallocate(2) is available on FreeBSD.

@jspricke
Copy link
Member

jspricke commented Jan 7, 2022

For reference, I enabled the tests in Debian recently and had to disable some of them because they where failing: https://sources.debian.org/src/pcl/1.12.1+dfsg-3/debian/patches/
Maybe that helps you as well. It would be even more awesome if we can fix them properly, I'm happy to test patches on the different archs.

@mvieth
Copy link
Member

mvieth commented Jan 10, 2022

The two pull request above should fix feature_normal_estimation, a_ii_normals_test, a_octree_test, and correspondence_rejectors. Feel free to have a look at them.
Remaining are:

  • io_io. raw_fallocate does not return 0 as it should, but no idea why it doesn't
  • search. I had no success with reproducing the issue so far. I tried to seed the random number generators with the current time and std::random_device, but the test always passed

Suggestions welcome. Is there an easy way to test under FreeBSD? As I understand, I can't run it in a docker container with Ubuntu being the host system

@yurivict
Copy link
Author

yurivict commented Jan 10, 2022

Is there an easy way to test under FreeBSD?

  1. Install the FreeBSD VM image into VirtualBox.
  2. Boot FreeBSD
  3. Install git: pkg install git
  4. Check out the ports tree: git clone https://git.FreeBSD.org/ports.git /usr/ports
  5. cd /usr/ports/graphics/pcl-pointclouds
  6. Install dependencies: pkg install -A make missing
  7. Build: make
  8. Run tests: make test

@mvieth
Copy link
Member

mvieth commented Jan 11, 2022

Thanks for the tip!
I found a solution to the failing search test (see pull request above).
However for the io_io test, I wasn't able to reproduce it under FreeBSD in the virtual machine, so I can't do anything about that test. I can only imagine it might have been caused by missing file system permissions, or a full hard drive, or similar? In the log you provided, it says No such file or directory and unknown file while writing a file/allocating space for the file. I have no hint that this is caused by something in the PCL code.

@mvieth
Copy link
Member

mvieth commented Jan 13, 2022

@yurivict @jspricke If you want to test the 3 linked pull requests before I merge them, please tell me. Otherwise I will merge them in a day or two

@yurivict
Copy link
Author

With 4 patches from the 3 linked PRs one failure remains on FreeBSD:

The following tests FAILED:
	 79 - io_io (Failed)

@jspricke
Copy link
Member

I've tested #5130 on arm64 and it reduces the failing tests to:

The following tests FAILED:
         14 - common_pca (Failed)
        125 - test_non_linear (Failed)

Thanks for working on this!

@mvieth
Copy link
Member

mvieth commented Jan 15, 2022

I've tested #5130 on arm64 and it reduces the failing tests to:

The following tests FAILED:
         14 - common_pca (Failed)
        125 - test_non_linear (Failed)

Thanks for working on this!

Sure! Great that the PR fixes most of the failing tests. For the remaining failing tests (common_pca and test_non_linear): looking at your patch, it seems to be an accuracy thing? We could consider integrating the patch in this repo, maybe choosing the tolerance with the preprocessor?

With 4 patches from the 3 linked PRs one failure remains on FreeBSD:

The following tests FAILED:
	 79 - io_io (Failed)

@yurivict I opened PR #5137 to at least narrow down the problem. Could you test that patch and post the output here? As I explained above, I can't reproduce the failing test, so I unfortunately can't test the patch

@yurivict
Copy link
Author

With #5137 100% of tests pass on FreeBSD.

Thank you for working on this!

@jspricke
Copy link
Member

jspricke commented Jan 15, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants