https://bz.apache.org/bugzilla/show_bug.cgi?id=66265
--- Comment #2 from Felix Schumacher <felix.schumac...@internetallee.de> --- After sending the last comment, it struck me, that the problem here is, that the missing argument to counter lets JMeter use the original text as a script and that leads to Groovy seeing ${...} somewhere, where it expects a function (or variable). $ is a valid name for a function and the syntax of Groovy is flexible enough to let the parser believe, that the {...} is a closure ready to be send to that function. Alas the function named $ can't be found and the Groovy exception is thrown. To take small steps. "log.info(${__threadNum})" gets replaced by JMeter to "log.info(23)", which is then handled by Groovy. "log.info(${__threadNum)} // ${counter}" leads to an exception in the templating process and therefore that string is given as is to Groovy, which then looks for the "$" function, which would be happy to get passed a closure with "__threadNum" as content. Note, the "// ${counter}" gets ignored by Groovy. -- You are receiving this mail because: You are the assignee for the bug.