{"action":"opened","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/10738","labels_url":"https://api.github.com/repos/ansible/ansible/issues/10738/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/10738/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/10738/events","html_url":"https://github.com/ansible/ansible/issues/10738","id":68800390,"number":10738,"title":"plugin loader should not return an exception if a subdir is unreadable","user":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-15T22:24:21Z","updated_at":"2015-04-15T22:24:21Z","closed_at":null,"body":"##### Issue Type:\r\n“Bug Report”\r\n\r\n##### Ansible Version:\r\n\r\n1.9.1\r\n\r\n##### Environment:\r\n\r\nOS X\r\n\r\n##### Summary:\r\n\r\nplugin loader can return exceptions when traversing subdirs.\r\n\r\n##### Steps To Reproduce:\r\n\r\nOn OS X the default file system is case insensitive, if someone uses a play in a user's home dir the plugin loader will traverse the Library directory, which can have files that are not readable by the user and produce an exception\r\n\r\n##### Expected Results:\r\n\r\nNo exception\r\n\r\n##### Actual Results:\r\n\r\nAs from ticket #10610\r\n```\r\n⊙  ansible -m ping all                                                                                                                                                                                                                                                                                                                                      Julian@Macnetic\r\n127.0.0.1 | FAILED => Traceback (most recent call last):\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/__init__.py\", line 582, in _executor\r\n    exec_rc = self._executor_internal(host, new_stdin)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/__init__.py\", line 785, in _executor_internal\r\n    return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/__init__.py\", line 1028, in _executor_internal_inner\r\n    result = handler.run(conn, tmp, module_name, module_args, inject, complex_args)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/action_plugins/normal.py\", line 57, in run\r\n    return self.runner._execute_module(conn, tmp, module_name, module_args, inject=inject, complex_args=complex_args)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/__init__.py\", line 466, in _execute_module\r\n    ) = self._configure_module(conn, module_name, args, inject, complex_args)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/runner/__init__.py\", line 1342, in _configure_module\r\n    module_path = utils.plugins.module_finder.find_plugin(module_name, module_suffixes)\r\n  File \"/Users/Julian/.local/share/virtualenvs/ansible/lib/python2.7/site-packages/ansible/utils/plugins.py\", line 176, in find_plugin\r\n    full_paths = (os.path.join(path, f) for f in os.listdir(path))\r\nOSError: [Errno 13] Permission denied: '/Users/Julian/library/Saved Application State/com.adobe.flashplayer.installmanager.savedState'\r\n```"}}