forked from ManageIQ/integration_tests
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update sprout readme #1
Open
mshriver
wants to merge
1
commit into
master
Choose a base branch
from
mshriver-card-test
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mshriver
pushed a commit
that referenced
this pull request
Aug 26, 2019
The qa_contact.py is spawning `git blame` to get some info about the code. Right after spawning it, `wait()` is called to wait for the `git blame` to exit. But no read is being done between these two actions. This creates a danger for git blame to fill the stdout buffer and get stopped. The parent process is waiting as well on this point so no read from the git blame's stdout pipe will ever be done and no process is allowed to advance -> DEADLOCK. In fact, even the Python doc does warn about this situation: https://docs.python.org/3.7/library/subprocess.html#subprocess.Popen.wait pytest being blocked: Traceback (most recent call first): <built-in method waitpid of module object at remote 0x7efcd68d7350> File "/usr/lib64/python3.7/subprocess.py", line 1582, in _try_wait (pid, sts) = os.waitpid(self.pid, wait_flags) File "/usr/lib64/python3.7/subprocess.py", line 1624, in _wait (pid, sts) = self._try_wait(0) File "/usr/lib64/python3.7/subprocess.py", line 990, in wait return self._wait(timeout=timeout) File "/cfme/cfme_tests/cfme/fixtures/qa_contact.py", line 20, in dig_code proc.wait() File "/cfme/cfme_tests/cfme/fixtures/qa_contact.py", line 43, in pytest_runtest_teardown results = dig_code(item) File "/cfme/cfme_tests/.cfme_venv/lib64/python3.7/site-packages/pluggy/callers.py", line 180, in _multicall git blame being blocked: (gdb) bt #0 0x00007f70c93340f8 in __GI___libc_write (fd=1, buf=0x56289f2a1620, nbytes=1799) at ../sysdeps/unix/sysv/linux/write.c:26 #1 0x00007f70c92c4d4d in _IO_new_file_write (f=0x7f70c9409780 <_IO_2_1_stdout_>, data=0x56289f2a1620, n=1799) at fileops.c:1183 #2 0x00007f70c92c40a6 in new_do_write (fp=0x7f70c9409780 <_IO_2_1_stdout_>, data=0x56289f2a1620 " +0200 553) with LogValidator(evm_log,\ne4df8147c6 (<[email protected]> 2019-08-05 16:03:32 +0200 554)", ' ' <repeats 23 times>, "matched_patterns=['Starting to execute failover'],\ne4df8147c6 (<"..., to_do=to_do@entry=1799) at libioP.h:904 ManageIQ#3 0x00007f70c92c5e99 in _IO_new_do_write (to_do=1799, data=<optimized out>, fp=<optimized out>) at fileops.c:430 ManageIQ#4 _IO_new_do_write (fp=<optimized out>, data=<optimized out>, to_do=1799) at fileops.c:430 ManageIQ#5 0x00007f70c92c7a5a in _IO_flush_all_lockp (do_lock=do_lock@entry=0) at libioP.h:904 ManageIQ#6 0x00007f70c92c7c69 in _IO_cleanup () at genops.c:858 ManageIQ#7 0x00007f70c9282722 in __run_exit_handlers (status=status@entry=0, listp=<optimized out>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:130 ManageIQ#8 0x00007f70c92827b0 in __GI_exit (status=status@entry=0) at exit.c:139 ManageIQ#9 0x000056289dc303db in handle_builtin (argc=<optimized out>, argv=<optimized out>) at git.c:440 ManageIQ#10 0x000056289dc312a4 in run_argv (argv=0x7ffc54799c40, argcp=0x7ffc54799c4c) at git.c:702 ManageIQ#11 cmd_main (argc=<optimized out>, argv=<optimized out>) at git.c:799 ManageIQ#12 0x000056289dc2ff34 in main (argc=5, argv=0x7ffc54799eb8) at common-main.c:45 (gdb) The reproducer: from unittest.mock import MagicMock from cfme.tests.cli.test_appliance_console_db_restore import get_ha_appliances_with_providers from cfme.fixtures.qa_contact import dig_code m=MagicMock() m.function = get_ha_appliances_with_providers print("Deadlock may happen now!") print(dig_code(m)) will output (depending on git blame output) something like: Deadlock may happen now! ('[email protected]', 91.04477611940298), ('[email protected]', ... ...and ends when not reproduced. When reproduced, it will not output anything after: Deadlock may happen now!
mshriver
added a commit
that referenced
this pull request
Sep 25, 2019
Setting of testrun ID via configuration isn't working in cfme-testcases 0.15.1, change came in at 0.13. dump2polarion downgrade as well, upgrade both together when cfme-testcases issue #1 is resolved
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
testing project cards
https://github.com/mshriver/integration_tests/projects/1#card-11979503
FIXES #2