o3de / o3de

Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
https://o3de.org
Other
7.67k stars 2.19k forks source link

Atom "MaterialCanvas_Atom_BasicTests "automated tests not passing on Linux. #14565

Open jromnoa opened 1 year ago

jromnoa commented 1 year ago

Describe the bug

  1. A new set of automated tests is being added to the Atom MaterialCanvas tests: https://github.com/o3de/o3de/pull/14475
  2. These tests are timing out and failing on Linux but not Windows and we need to figure out why then fix it.
  3. For now the tests are disabled on Linux but continue to run on Windows until we fix this issue.

Assets required N/A

Steps to reproduce

  1. Have O3DE built for the AutomatedTesting project with all assets processed ahead of time.
  2. Launch the MaterialCanvas null render basic automated tests in the main suite on Linux:
    /home/new_user/git/o3de/python/python.sh -m pytest -vv -s --build-directory="/home/new_user/git/o3de/build/linux/bin/profile" /home/new_user/git/o3de/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Main_Null_Render_MaterialCanvas_01.py -k MaterialCanvas_Atom_BasicTests
  3. Result: The test can fail from a time out on Linux (doesn't occur on Windows).

Expected behavior The MaterialCanvas_Atom_BasicTests test runs and passes without issue.

Actual behavior The MaterialCanvas_Atom_BasicTests test is timing out on Linux but passing on Windows.

Screenshots/Video See failure logs here: https://jenkins.build.o3de.org/job/O3DE/job/PR-14475/

Found in Branch Part of the PR failures for https://github.com/o3de/o3de/pull/14475 Bug is being entered to fix it post merge so we can have some tests at least running on Windows for MaterialCanvas.

Commit ID from o3de/o3de Repository N/A will have when PR merges.

Desktop/Device (please complete the following information): N/A

jromnoa commented 1 year ago

MaterialCanvas hard locks when this issue occurs and no useful log information appears. In my testing I have only found this to be the possible cause of failure:

E   [material_canvas_test.log]  1900-01-00T00:00:00{0x7f027116aec0}[   QtForPython]     
E   [material_canvas_test.log]  ==================================================================
E   [material_canvas_test.log]  1900-01-00T00:00:00{0x7f027116aec0}[   QtForPython]     Trace::Error
E   [material_canvas_test.log]   /home/new_user/git/o3de/Gems/QtForPython/Code/Source/Platform/Linux/InitializeEmbeddedPyside2.h(46): 'static void *QtForPython::InitializeEmbeddedPyside2::LoadModule(const char *)'
E   [material_canvas_test.log]  1900-01-00T00:00:00{0x7f027116aec0}[   QtForPython]     Unable to load python library libpython3.10.so for Pyside2: libpython3.10.so: cannot open shared object file: No such file or directory
E   [material_canvas_test.log]  1900-01-00T00:00:00{0x7f027116aec0}[   QtForPython]     ==================================================================

There are no other Trace::Error messages or indicators as to why this would hard lock and time out.

jromnoa commented 1 year ago

Keeping this test disabled until https://github.com/o3de/o3de/issues/14813 is fixed and we can determine whether that resolves this hard lock or not.

nick-l-o3de commented 8 months ago

My understanding of the above error is that it should be trying to load libpython3.10.so.1.0, (missing the 1.0)