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

conda Windows CI failure End of November 2023 #1542

Closed
traversaro opened this issue Nov 27, 2023 · 11 comments · Fixed by #1551
Closed

conda Windows CI failure End of November 2023 #1542

traversaro opened this issue Nov 27, 2023 · 11 comments · Fixed by #1551

Comments

@traversaro
Copy link
Member

Failure:

2023-11-27T03:21:48.8136306Z   -- Created target YarpUtilities for export BipedalLocomotionFramework.
2023-11-27T03:21:48.8146100Z   -- thrift code for thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift => D:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/autogenerated
2023-11-27T03:21:48.8154674Z   --     WORKING_DIRECTORY = [D:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities]
2023-11-27T03:21:48.8158917Z   --     COMMAND = [D:/a/robotology-superbuild/robotology-superbuild/build/install/bin/yarpidl_thrift.exe --gen yarp --I D:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities -v --out D:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/CMakeFiles/yarp_idl_to_dir/thrifts/BipedalLocomotion/YarpUtilities/vectorscollection thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift]
2023-11-27T03:21:48.8230558Z   Scanning D:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities/thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift for includes
2023-11-27T03:21:48.8233879Z   Parsing D:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities/thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift for types
2023-11-27T03:21:48.8237106Z   Program: D:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities/thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift
2023-11-27T03:21:48.8238274Z   Generating "yarp"
2023-11-27T03:21:48.8238619Z   
2023-11-27T03:21:48.8246435Z   [FAILURE:generation:1] failed to write the output to the file 'D:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/CMakeFiles/yarp_idl_to_dir/thrifts/BipedalLocomotion/YarpUtilities/vectorscollection//BipedalLocomotion/YarpUtilities/VectorsCollectionMetadataService.cpp', details: 'ios_base::failbit set: iostream stream error'CMake Error at D:/a/robotology-superbuild/robotology-superbuild/build/install/share/yarp/cmake/YarpIDL.cmake:157 (message):
2023-11-27T03:21:48.8248965Z     yarpidl_thrift
2023-11-27T03:21:48.8249603Z     (D:/a/robotology-superbuild/robotology-superbuild/build/install/bin/yarpidl_thrift.exe)
2023-11-27T03:21:48.8250681Z     failed, aborting.
2023-11-27T03:21:48.8251138Z   Call Stack (most recent call first):
2023-11-27T03:21:48.8252411Z     D:/a/robotology-superbuild/robotology-superbuild/build/install/share/yarp/cmake/YarpIDL.cmake:345 (_yarp_idl_to_dir_generate)
2023-11-27T03:21:48.8253347Z     cmake/AddBipedalLocomotionYARPThrift.cmake:27 (yarp_idl_to_dir)
2023-11-27T03:21:48.8253991Z     src/YarpUtilities/CMakeLists.txt:15 (add_bipedal_locomotion_yarp_thrift)
2023-11-27T03:21:48.8254451Z   
2023-11-27T03:21:48.8254628Z   
2023-11-27T03:21:48.8254866Z   -- Configuring incomplete, errors occurred!
@traversaro
Copy link
Member Author

The issue was shadowed by #1536, but the last successful CI is https://github.com/robotology/robotology-superbuild/actions/runs/6964809743 .

@traversaro
Copy link
Member Author

This is somehow related to ami-iit/bipedal-locomotion-framework#767 .

@traversaro
Copy link
Member Author

The error is:

2023-11-27T03:21:48.8246435Z   [FAILURE:generation:1] failed to write the output to the file 'D:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/CMakeFiles/yarp_idl_to_dir/thrifts/BipedalLocomotion/YarpUtilities/vectorscollection//BipedalLocomotion/YarpUtilities/VectorsCollectionMetadataService.cpp', details: 'ios_base::failbit set: iostream stream error'CMake Error at D:/a/robotology-superbuild/robotology-superbuild/build/install/share/yarp/cmake/YarpIDL.cmake:157 (message):

The file name is D:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/CMakeFiles/yarp_idl_to_dir/thrifts/BipedalLocomotion/YarpUtilities/vectorscollection//BipedalLocomotion/YarpUtilities/VectorsCollectionMetadataService.cpp, and its lenght is 260, quite close/similar to the limit of 255/260 lenght in some Windows API (see https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry).

@traversaro
Copy link
Member Author

I reproduced the problem locally with command prompt:

cd C:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities
C:/a/robotology-superbuild/robotology-superbuild/build/install/bin/yarpidl_thrift.exe --gen yarp --I C:/a/robotology-superbuild/robotology-superbuild/src/bipedal-locomotion-framework/src/YarpUtilities -v --out C:/a/robotology-superbuild/robotology-superbuild/build/src/bipedal-locomotion-framework/src/YarpUtilities/CMakeFiles/yarp_idl_to_dir/thrifts/BipedalLocomotion/YarpUtilities/vectorscollection thrifts/BipedalLocomotion/YarpUtilities/VectorsCollection.thrift

slightly reducing the output directory path length fixes the problem.

@traversaro
Copy link
Member Author

Even easier reproducer:

mkdir C:\a\robotology-superbuild\robotology-superbuild\build\src\bipedal-locomotion-framework\src\YarpUtilities\CMakeFiles\yarp_idl_to_dir\thrifts\BipedalLocomotion\YarpUtilities\vectorscollection\\BipedalLocomotion\TestTestTest1\
echo "test" > C:\a\robotology-superbuild\robotology-superbuild\build\src\bipedal-locomotion-framework\src\YarpUtilities\CMakeFiles\yarp_idl_to_dir\thrifts\BipedalLocomotion\YarpUtilities\vectorscollection\\BipedalLocomotion\TestTestTest1\VectorsCollectionMetadataService.cpp

fails with:

The system cannot find the path specified.

while just removing a char from the path (even just avoiding the repeated // ) works:

echo "test" > C:\a\robotology-superbuild\robotology-superbuild\build\src\bipedal-locomotion-framework\src\YarpUtilities\CMakeFiles\yarp_idl_to_dir\thrifts\BipedalLocomotion\YarpUtilities\vectorscollection\BipedalLocomotion\TestTestTest1\VectorsCollectionMetadataService.cpp

@traversaro
Copy link
Member Author

traversaro commented Nov 28, 2023

This issue will be definitely fixed by:

As robotology/yarp#3057 will take some time to be merged and released, probably we can think of a simpler solution for the CI in the short term.

@traversaro
Copy link
Member Author

fyi @GiulioRomualdi @S-Dafarra as you may encounter this after ami-iit/bipedal-locomotion-framework#767 .

@S-Dafarra
Copy link
Collaborator

As robotology/yarp#3057 will take some time to be merged and released, probably we can think of a simpler solution for the CI in the short term.

Can we shrink the build folder path from C:\a\robotology-superbuild\robotology-superbuild\build to C:\a\rs\rs\b?

@traversaro
Copy link
Member Author

As robotology/yarp#3057 will take some time to be merged and released, probably we can think of a simpler solution for the CI in the short term.

Can we shrink the build folder path from C:\a\robotology-superbuild\robotology-superbuild\build to C:\a\rs\rs\b?

Yes, I tried this in #1551 , for now just with the build to avoid having to change a lot of references to GITHUB_WORKSPACE that is automatically created by the checkout action.

@traversaro
Copy link
Member Author

Interestingly @evalli-iit is experiencing this problem, but on a freshly cloned PR.

@traversaro
Copy link
Member Author

Interestingly @evalli-iit is experiencing this problem, but on a freshly cloned PR.

The problem was that on his computer the long paths were not enabled https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later .

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

Successfully merging a pull request may close this issue.

2 participants