Obscure error message in Unicode-related jinja2 template fail

Hi,

I was trying to template PHP 7’s default pool.conf file and ran into this unhelpful error message with Ansible 2.0.1.0:

[WARNING]: Failure when attempting to use callback plugin (<ansible.plugins.callback.default.CallbackModule object at 0x1015f3f10>): ‘ascii’ codec can’t
decode byte 0xc2 in position 9200: ordinal not in range(128)

I spent quite a bit of time trying to figure out what character was at position 9200, until I noticed that Ansible 2.0.0.2 and 1.9.6 give a much more useful error message:

fatal: [web01] => {‘msg’: ‘One or more items failed.’, ‘failed’: True, ‘changed’: False, ‘results’: [{‘msg’: “AnsibleError: file: /some/path/php7.0-pool.conf.j2, line number: 303, error: Encountered unknown tag ‘Y’.”, ‘failed’: True}]}

It turns out that line 303 is:

; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t

Deleting this line allows the template task to finish successfully. Should I file an issue on GitHub?

Thanks,

Thanks Alan, that was exactly my issue. Took me a good hour to figure it out, but only because of your post.

If there is none already, I would say yes.

Similar issue:
https://github.com/ansible/ansible/issues/14258

Johannes