# Backtrace ??

**URL:** <https://forum.ansible.com/t/backtrace/13900>\
**Category:** Ansible Project\
**Created:** [November 13, 2013, 3:35pm UTC](https://forum.ansible.com/t/backtrace/13900 "2013-11-13T15:35:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andy\_L](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@Andy\_L](https://forum.ansible.com/u/Andy_L)\
**Post date:** [November 13, 2013, 3:35pm UTC](https://forum.ansible.com/t/backtrace/13900/1 "2013-11-13T15:35:26Z")

</div>

I went to run a playbook and got this error message.

ERROR: changed is not a legal parameter in an Ansible task or handler

At this point, I have dozens of roles which are changing rapidly. It isn’t easy to find the source of this error.

How to I generate a backtrace, so I can see what file/line has the error?

(running with -vvvv didn’t help.)

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [November 13, 2013, 3:39pm UTC](https://forum.ansible.com/t/backtrace/13900/2 "2013-11-13T15:39:29Z")

</div>

Install ack (ack-grep on Debian), search for " changed:"

That’s not a trace back but Ansible telling you about an invalid keyword. Trace backs include code and occur when errors are not caught.

– Michael

---

<div class="post-metadata">

**Author:** ![Andy\_L](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@Andy\_L](https://forum.ansible.com/u/Andy_L)\
**Post date:** [November 13, 2013, 4:18pm UTC](https://forum.ansible.com/t/backtrace/13900/3 "2013-11-13T16:18:14Z")

</div>

Yes - I did use ack.

But - that’s the answer? Ack?

The ansible parser can not report which file/line contained an invalid keyword? Seriously?

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [November 13, 2013, 4:57pm UTC](https://forum.ansible.com/t/backtrace/13900/4 "2013-11-13T16:57:30Z")

</div>

This is not done at parse time.

– Michael

---

<div class="post-metadata">

**Author:** ![Andy\_L](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@Andy\_L](https://forum.ansible.com/u/Andy_L)\
**Post date:** [November 13, 2013, 7:20pm UTC](https://forum.ansible.com/t/backtrace/13900/5 "2013-11-13T19:20:38Z")

</div>

Aah OK - some YAML lib does the parsing/loading…

IMHO a better error message would be super helpful, especially or newbies.

I could send a pull-request to include the task name in the error message. Michael - let me know if you would like me to do this.

Cheers, Andy
