{"action":"closed","issue":{"url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/282","labels_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/282/labels{/name}","comments_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/282/comments","events_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/282/events","html_url":"https://github.com/Axelrod-Python/Axelrod/issues/282","id":101785199,"number":282,"title":"Tournaments sometimes do not finish processing?","user":{"login":"marcharper","id":203345,"avatar_url":"https://avatars.githubusercontent.com/u/203345?v=3","gravatar_id":"","url":"https://api.github.com/users/marcharper","html_url":"https://github.com/marcharper","followers_url":"https://api.github.com/users/marcharper/followers","following_url":"https://api.github.com/users/marcharper/following{/other_user}","gists_url":"https://api.github.com/users/marcharper/gists{/gist_id}","starred_url":"https://api.github.com/users/marcharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcharper/subscriptions","organizations_url":"https://api.github.com/users/marcharper/orgs","repos_url":"https://api.github.com/users/marcharper/repos","events_url":"https://api.github.com/users/marcharper/events{/privacy}","received_events_url":"https://api.github.com/users/marcharper/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-19T01:24:59Z","updated_at":"2015-09-17T17:07:32Z","closed_at":"2015-09-17T17:07:32Z","body":"When running `run_axelrod` (now in the tournament repository) with multiple processes sometimes the tournament seems to hang in `self._process_done_queue`. Here's the traceback when it is manually killed (after the processes all become zombies):\r\n\r\n```\r\nuser@tower:~/repos/axelrod/tournament$ sh update_results.sh \r\n-- Regenerating noisy tournament figures\r\nStarting basic_strategies tournament with 10 round robins of 200 turns per pair.\r\nFinished all basic_strategies tasks in 1.1s\r\nStarting strategies tournament with 10 round robins of 200 turns per pair.\r\nFinished all strategies tasks in 41.3s\r\nStarting cheating_strategies tournament with 10 round robins of 200 turns per pair.\r\nFinished all cheating_strategies tasks in 6.8s\r\nStarting all_strategies tournament with 10 round robins of 200 turns per pair.\r\n^CTraceback (most recent call last):\r\n  File \"./run_axelrod\", line 116, in <module>\r\n    run_tournaments(**kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/utils.py\", line 69, in run_tournaments\r\n    manager.run_tournaments()\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/tournament_manager.py\", line 50, in run_tournaments\r\n    self._run_single_tournament(tournament)\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/tournament_manager.py\", line 71, in _run_single_tournament\r\n    tournament.play()\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/tournament.py\", line 50, in play\r\n    self._run_parallel_repetitions(self._outcome)\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/tournament.py\", line 96, in _run_parallel_repetitions\r\n    self._process_done_queue(workers, done_queue, outcome)\r\n  File \"/usr/local/lib/python2.7/dist-packages/axelrod/tournament.py\", line 119, in _process_done_queue\r\n    output = done_queue.get()\r\n  File \"/usr/lib/python2.7/multiprocessing/queues.py\", line 117, in get\r\n    res = self._recv()\r\nKeyboardInterrupt\r\n```\r\n\r\nHowever upon rerunning, all the tournaments often complete in just a few minutes. I have not collected much data, but it seems to happen about 20% of the time."}}