avocado-framework / avocado

Avocado is a set of tools and libraries to help with automated testing. One can call it a test framework with benefits. Native tests are written in Python and they follow the unittest pattern, but any executable can serve as a test.
https://avocado-framework.github.io/
Other
345 stars 343 forks source link

avocado.core.exceptions.TestError: Unable to destroy test's process (2666588) #5043

Closed Geet2 closed 2 years ago

Geet2 commented 3 years ago

Describe the bug While running tests(fs/xfstests.py) I faced the following error : avocado.core.exceptions.TestError: Unable to destroy test's process (2666588)

Steps to reproduce Unsure, I noticed this error on running this test :

(2/2) avocado-misc-tests/fs/xfstests.py:Xfstests.test;run-disk_type-fs_type-fs_xfs-e0a0:
Avocado crashed: TestError: Unable to destroy test's process (2666588)
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-90.0-py3.6.egg/avocado/core/job.py", line 635, in run_tests
    summary |= suite.run(self)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-90.0-py3.6.egg/avocado/core/suite.py", line 314, in run
    return self.runner.run_suite(job, self)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-90.0-py3.6.egg/avocado/plugins/runner.py", line 392, in run_suite
    deadline):

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-90.0-py3.6.egg/avocado/plugins/runner.py", line 247, in run_test
    result_dispatcher)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-90.0-py3.6.egg/avocado/core/runner.py", line 246, in finish
    "process (%s)" % proc.pid)

avocado.core.exceptions.TestError: Unable to destroy test's process (2666588)

Please include the traceback info and command line used on your bug report
Report bugs visiting https://github.com/avocado-framework/avocado/issues/new

Expected behavior Test is expected to run and not throw error : avocado.core.exceptions.TestError

Current behavior Error: avocado.core.exceptions.TestError: Unable to destroy test's process (2666588)

System information (please complete the following information):

ana commented 3 years ago

@Geet2 Hi! thanks for your bug report. We have recently tested avocado with avocado-misc-tests and they worked fine (reference: https://github.com/avocado-framework/avocado/issues/4969#issuecomment-943864631) Could you please try against the latest version from github (commit a74bc734330c9c9f2b91df4e796c4422ac57b918) and the latest from avocado-misc-tests as well? Thanks

clebergnu commented 2 years ago

Hi @Geet2 , thanks for reporting this bug. Given the nature of the test, it's easy to assume that processes may have been in uninterruptible state. Having said that, Avocado should not have crashed, but signaled its failure to destroy the process.

This is reported against the legacy runner, which as its name imply, is under no further development. I suggest we take this use case (uninterruptible process) in consideration with the open issue #4994 .

Geet2 commented 2 years ago

As per suggestion on this thread, I ran the same test (avocado-misc-tests/fs/xfstests.py) with latest avocado (92) on the same system.

05:05:31 INFO    : Running Host Tests Suite nvdimm_xfstests_nvdimm_log
05:05:31 INFO    : Running: /usr/local/bin/avocado run --test-runner runner avocado-misc-tests/fs/xfstests.py -m /home/geet/avocado-fvt-wrapper/tests/avocado-misc-tests/fs/xfstests.py.data/nvdimm_log.yaml --force-job-id 34d61013e7d9e03401636e362a6d4b8d69590033  --job-results-dir /home/geet/avocado-fvt-wrapper/results
JOB ID     : 34d61013e7d9e03401636e362a6d4b8d69590033
JOB LOG    : /home/geet/avocado-fvt-wrapper/results/job-2021-11-09T05.05-34d6101/job.log
 (1/2) avocado-misc-tests/fs/xfstests.py:Xfstests.test;run-disk_type-fs_type-fs_ext4-80a6:  FAIL: One or more tests failed. Please check the logs. (9244.70 s)
 (2/2) avocado-misc-tests/fs/xfstests.py:Xfstests.test;run-disk_type-fs_type-fs_xfs-a353:
Avocado crashed: TestError: Unable to destroy test's process (2324796)
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-92.0-py3.6.egg/avocado/core/job.py", line 640, in run_tests
    summary |= suite.run(self)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-92.0-py3.6.egg/avocado/core/suite.py", line 338, in run
    return self.runner.run_suite(job, self)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-92.0-py3.6.egg/avocado/plugins/runner.py", line 382, in run_suite
    deadline):

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-92.0-py3.6.egg/avocado/plugins/runner.py", line 247, in run_test
    result_dispatcher)

  File "/usr/local/lib/python3.6/site-packages/avocado_framework-92.0-py3.6.egg/avocado/core/runner.py", line 246, in finish
    "process (%s)" % proc.pid)

avocado.core.exceptions.TestError: Unable to destroy test's process (2324796)

Please include the traceback info and command line used on your bug report
Report bugs visiting https://github.com/avocado-framework/avocado/issues/new

OS : RHEL 8.4 Avocado version: avocado -v Avocado 92.0 Avocado installation method: pip, rpm, github ? cloning from github

ana commented 2 years ago

Thanks @Geet2.

ana commented 2 years ago

@Geet2 Hi, I'm going to close this issue. I couldn't reproduce the problem at the time you reported it and the legacy runner (the one you're using) is being dropped from avocado. As @clebergnu mentioned, here avocado should not have crashed and instead signaled its failure to destroy the process. This is handled in a separate bug report because this will be properly fixed in our new default runner. Thanks for your bug report!