# "msg": "MODULE FAILURE: No start of json char found\\nSee stdout/stderr for the exact error"

**URL:** <https://forum.ansible.com/t/msg-module-failure-no-start-of-json-char-found-nsee-stdout-stderr-for-the-exact-error/42009>\
**Category:** Get Help\
**Tags:** aws\
**Created:** [April 24, 2025, 5:17pm UTC](https://forum.ansible.com/t/msg-module-failure-no-start-of-json-char-found-nsee-stdout-stderr-for-the-exact-error/42009 "2025-04-24T17:17:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vonks](https://avatars.discourse-cdn.com/v4/letter/v/71c47a/32.png) [@vonks](https://forum.ansible.com/u/vonks)\
**Post date:** [April 24, 2025, 5:17pm UTC](https://forum.ansible.com/t/msg-module-failure-no-start-of-json-char-found-nsee-stdout-stderr-for-the-exact-error/42009/1 "2025-04-24T17:17:05Z")

</div>

- I am trying to create an ec2 instance using the ansible playbook, by running the playbook from my local machine (mac)
- ansible --version  
ansible [core 2.18.5]  
config file = None  
configured module search path = [‘/Users/von/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’]  
ansible python module location = /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible  
ansible collection location = /Users/von/.ansible/collections:/usr/share/ansible/collections  
executable location = /Library/Frameworks/Python.framework/Versions/3.13/bin/ansible  
python version = 3.13.3 (v3.13.3:6280bb54784, Apr 8 2025, 10:47:54) [Clang 15.0.0 (clang-1500.3.9.4)] (/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13)  
jinja version = 3.1.6  
libyaml = True
- Include relevant logs from the issue
- Use backticks (```) to help format your logs and code (easy-to-read posts are easier to answer too!), like this:

```auto
- my code!
---
# tasks file for ec2
- name: start an instance with a public IP address
  amazon.aws.ec2_instance:
    name: "ansible-instance"
    # key_name: "prod-ssh-key"
    # vpc_subnet_id: subnet-013744e41e8088axx
    instance_type: t2.micro
    security_group: default
    region: us-east-1
    aws_access_key: "{{ec2_access_key}}" # From vault as defined
    aws_secret_key: "{{ec2_secret_key}}" # From vault as defined
    network:
      assign_public_ip: true
    image_id: ami-04b70fa74e45c3917

```

ERROR:  
ansible-playbook -i inventory.ini ec2\_create.yaml --vault-password-file vault.pass -vvv  
ansible-playbook [core 2.18.5]  
config file = None  
configured module search path = [‘/Users/von/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’]  
ansible python module location = /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible  
ansible collection location = /Users/von/.ansible/collections:/usr/share/ansible/collections  
executable location = /Library/Frameworks/Python.framework/Versions/3.13/bin/ansible-playbook  
python version = 3.13.3 (v3.13.3:6280bb54784, Apr 8 2025, 10:47:54) [Clang 15.0.0 (clang-1500.3.9.4)] (/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13)  
jinja version = 3.1.6  
libyaml = True  
No config file found; using defaults  
host\_list declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify\_file() method  
script declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify\_file() method  
auto declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify\_file() method  
yaml declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify\_file() method  
Parsed /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini inventory source with ini plugin  
Skipping callback ‘default’, as we already have a stdout callback.  
Skipping callback ‘minimal’, as we already have a stdout callback.  
Skipping callback ‘oneline’, as we already have a stdout callback.

PLAYBOOK: ec2\_create.yaml \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
1 plays in ec2\_create.yaml

PLAY [localhost] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [Gathering Facts] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /Users/von/Downloads/devopspractise/ansible/ec2/ec2\_create.yaml:2  
\<127.0.0.1\> ESTABLISH LOCAL CONNECTION FOR USER: von  
\<127.0.0.1\> EXEC /bin/sh -c ‘echo ~von && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “`echo /Users/von/.ansible/tmp`”&& mkdir “`echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698`” && echo ansible-tmp-1745514372.303872-2215-118248513378698=“`echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698`” ) && sleep 0’  
Using module file /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible/modules/setup.py  
\<127.0.0.1\> PUT /Users/von/.ansible/tmp/ansible-local-22149jbyf33g/tmpb1jy5rm9 TO /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ\_setup.py  
\<127.0.0.1\> EXEC /bin/sh -c ‘chmod u+x /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/ /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ\_setup.py && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13 /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ\_setup.py && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘rm -f -r /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/ \> /dev/null 2\>&1 && sleep 0’  
ok: [localhost]

TASK [ec2 : start an instance with a public IP address] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /Users/von/Downloads/devopspractise/ansible/ec2/ec2/tasks/main.yml:3  
\<127.0.0.1\> ESTABLISH LOCAL CONNECTION FOR USER: von  
\<127.0.0.1\> EXEC /bin/sh -c ‘echo ~von && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “`echo /Users/von/.ansible/tmp`”&& mkdir “`echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019`” && echo ansible-tmp-1745514372.6376588-2247-242935107075019=“`echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019`” ) && sleep 0’  
Using module file /Users/von/.ansible/collections/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py  
\<127.0.0.1\> PUT /Users/von/.ansible/tmp/ansible-local-22149jbyf33g/tmp55krfkzi TO /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py  
\<127.0.0.1\> EXEC /bin/sh -c ‘chmod u+x /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/ /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13 /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py && sleep 0’  
\<127.0.0.1\> EXEC /bin/sh -c ‘rm -f -r /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/ \> /dev/null 2\>&1 && sleep 0’  
The full traceback is:  
Traceback (most recent call last):  
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py”, line 107, in   
\_ansiballz\_main()  
~~~~~~~~~~~~~~~ ^^  
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py”, line 99, in \_ansiballz\_main  
invoke\_module(zipped\_mod, temp\_path, ANSIBALLZ\_PARAMS)  
~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py”, line 47, in invoke\_module  
runpy.run\_module(mod\_name=‘ansible\_collections.amazon.aws.plugins.modules.ec2\_instance’, init\_globals=dict(\_module\_fqn=‘ansible\_collections.amazon.aws.plugins.modules.ec2\_instance’, \_modlib\_path=modlib\_path),  
~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
run\_name=‘ **main** ’, alter\_sys=True)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “”, line 226, in run\_module  
File “”, line 98, in \_run\_module\_code  
File “”, line 88, in \_run\_code  
File “/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py”, line 2897, in   
File “/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py”, line 2864, in main  
File “/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py”, line 2644, in build\_filters  
File “/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py”, line 2628, in build\_network\_filters  
File “/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py”, line 2608, in describe\_default\_subnet  
TypeError: ‘NoneType’ object is not subscriptable  
fatal: [localhost]: FAILED! =\> {  
“changed”: false,  
“module\_stderr”: “Traceback (most recent call last):\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py", line 107, in \n \_ansiballz\_main()\n ~~~~~~~~~~~~~~~^^\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py", line 99, in \_ansiballz\_main\n invoke\_module(zipped\_mod, temp\_path, ANSIBALLZ\_PARAMS)\n~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ\_ec2\_instance.py", line 47, in invoke\_module\n runpy.run\_module(mod\_name=‘ansible\_collections.amazon.aws.plugins.modules.ec2\_instance’, init\_globals=dict(\_module\_fqn=‘ansible\_collections.amazon.aws.plugins.modules.ec2\_instance’, \_modlib\_path=modlib\_path),\n ~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n run\_name=‘ **main** ’, alter\_sys=True)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "", line 226, in run\_module\n File "", line 98, in \_run\_module\_code\n File "", line 88, in \_run\_code\n File "/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py", line 2897, in \n File "/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py", line 2864, in main\n File "/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py", line 2644, in build\_filters\n File "/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py", line 2628, in build\_network\_filters\n File "/var/folders/6y/ylm\_dbyx0nndcv1h93qssdy40000gn/T/ansible\_amazon.aws.ec2\_instance\_payload\_63yedp12/ansible\_amazon.aws.ec2\_instance\_payload.zip/ansible\_collections/amazon/aws/plugins/modules/ec2\_instance.py", line 2608, in describe\_default\_subnet\nTypeError: ‘NoneType’ object is not subscriptable\n”,  
“module\_stdout”: “”,  
“msg”: “MODULE FAILURE: No start of json char found\nSee stdout/stderr for the exact error”,  
“rc”: 1  
}

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

Thank You in advance for the suggestions

---

<div class="post-metadata">

**Author:** ![mikemorency](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/mikemorency/32/2672_2.png) [@mikemorency](https://forum.ansible.com/u/mikemorency)\
**Post date:** [May 15, 2025, 2:08pm UTC](https://forum.ansible.com/t/msg-module-failure-no-start-of-json-char-found-nsee-stdout-stderr-for-the-exact-error/42009/2 "2025-05-15T14:08:40Z")

</div>

> [@vonks](#):
>
> describe\_default\_subnet\nTypeError: ‘NoneType’ object is not subscriptable

Seems like your VPC or subnets are misconfigured. Do you have a default subnet defined in AWS?
