<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->

I get an `ERROR! Unexpected Exception, this is probably a bug: 'Block' object has no attribute 'get_search_path'`.  It seems to require both an 'apply' on include_tasks and the `playbook_vars_root` configuration option set to trigger the exception.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->

Core

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.2
  config file = ./ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible
  executable location = /usr/local/virtualenv/py3/ansible_stable/bin/ansible
  python version = 3.7.3 (default, Apr  3 2019, 05:39:12) [GCC 8.3.0]

```

##### CONFIGURATION

    PLAYBOOK_VARS_ROOT(./ansible.cfg) = all

##### OS / ENVIRONMENT

Debian 10 ansible latest version of ansible installed via pip into venv.

##### STEPS TO REPRODUCE

ansible-playbook example.yml -vvv 2>&1

    ansible-playbook 2.9.2
      config file = ./ansible.cfg
      configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible
      executable location = /usr/local/virtualenv/py3/ansible_stable/bin/ansible-playbook
      python version = 3.7.3 (default, Apr  3 2019, 05:39:12) [GCC 8.3.0]
    Using ./ansible.cfg as config file
    host_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
    script declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
    auto declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
    Parsed /etc/ansible/hosts inventory source with ini plugin
    [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match
    'all'

    PLAYBOOK: example.yml *************************************************************************************************
    1 plays in example.yml

    PLAY [localhost] ******************************************************************************************************
    META: ran handlers

    TASK [ssh_client : No exception] **************************************************************************************
    task path: ./roles/ssh_client/tasks/main.yml:2
    included: ./roles/ssh_client/tasks/clean_known_hosts.yml for localhost

    TASK [ssh_client : Read /etc/ssh/ssh_known_hosts] *********************************************************************
    task path: ./roles/ssh_client/tasks/clean_known_hosts.yml:2
    <127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
    <127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
    <127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288 `" && echo ansible-tmp-1576004604.8780084-124655683624288="` echo /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288 `" ) && sleep 0'
    Using module file /usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/modules/net_tools/basics/slurp.py
    <127.0.0.1> PUT /root/.ansible/tmp/ansible-local-24449ljfccz75/tmpdopvwfyq TO /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288/AnsiballZ_slurp.py
    <127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288/ /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288/AnsiballZ_slurp.py && sleep 0'
    <127.0.0.1> EXEC /bin/sh -c '/usr/local/virtualenv/py3/ansible_stable/bin/python3 /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288/AnsiballZ_slurp.py && sleep 0'
    <127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1576004604.8780084-124655683624288/ > /dev/null 2>&1 && sleep 0'
    fatal: [localhost]: FAILED! => {
        "changed": false,
        "invocation": {
            "module_args": {
                "src": "/etc/ssh/ssh_known_hosts"
            }
        },
        "msg": "file not found: /etc/ssh/ssh_known_hosts"
    }
    ...ignoring

    TASK [ssh_client : debug] *********************************************************************************************
    task path: ./roles/ssh_client/tasks/clean_known_hosts.yml:10
    skipping: [localhost] => {}

    TASK [ssh_client : Unexpected Exception] ******************************************************************************
    task path: ./roles/ssh_client/tasks/main.yml:8
    included: ./roles/ssh_client/tasks/clean_known_hosts.yml for localhost
    ERROR! Unexpected Exception, this is probably a bug: 'Block' object has no attribute 'get_search_path'
    the full traceback was:

    Traceback (most recent call last):
      File "/usr/local/virtualenv/py3/ansible_stable/bin/ansible-playbook", line 123, in <module>
        exit_code = cli.run()
      File "/usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/cli/playbook.py", line 127, in run
        results = pbex.run()
      File "/usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/executor/playbook_executor.py", line 169, in run
        result = self._tqm.run(play=play)
      File "/usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/executor/task_queue_manager.py", line 240, in run
        play_return = strategy.run(iterator, play_context)
      File "/usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/plugins/strategy/linear.py", line 367, in run
        _hosts_all=self._hosts_cache_all,
      File "/usr/local/virtualenv/py3/ansible_stable/lib/python3.7/site-packages/ansible/vars/manager.py", line 195, in get_vars
        basedirs = task.get_search_path()
    AttributeError: 'Block' object has no attribute 'get_search_path'


./ansible.cfg

    [defaults]
    playbook_vars_root = all

./example.yml

    ---
    - hosts: localhost
      gather_facts: no
      roles:
      - ssh_client

./roles/ssh_client/tasks/main.yml

    ---
    - name: No exception
      include_tasks:
        file: clean_known_hosts.yml
      vars:
        known_hosts_file: /etc/ssh/ssh_known_hosts

    - name: Unexpected Exception
      include_tasks:
        file: clean_known_hosts.yml
        apply:
          become: yes
      vars:
        known_hosts_file: /etc/ssh/ssh_known_hosts

./roles/ssh_client/tasks/clean_known_hosts.yml

    ---
    - name: Read {{ known_hosts_file }}
      slurp:
        src: "{{ known_hosts_file }}"
      register: current_known_hosts
      ignore_errors: yes

    - when: current_known_hosts is not failed
      block:
      - debug:


##### EXPECTED RESULTS

No `ERROR! Unexpected Exception`

break
                
                
                last_host += 1
                if last_host > len(hosts_left) - 1:
                    last_host = 0
                
                if last_host == starting_host:
                    break
            results = self._process_pending_results(iterator)
            host_results.extend(results)
            
            workers_free += len(results)
            self.update_active_connections(results)
            included_files = IncludedFile.process_include_results(
                host_results,
                iterator=iterator,
                loader=self._loader,
                variable_manager=self._variable_manager
            )
            if len(included_files) > 0:
                all_blocks = dict((host, []) for host in hosts_left)
                for included_file in included_files:
                    display.debug("collecting new blocks for %s" % included_file)
                    try:
                        if included_file._is_role:
                            new_ir = self._copy_included_file(included_file)
                            new_blocks, handler_blocks = new_ir.get_block_list(
                                play=iterator._play,
                                variable_manager=self._variable_manager,