Just a tip for anyone migrating to Lucee from other CFML platforms (Invalid Identifier, the following character cannot be part of a identifier)

We migrated from OpenBD to Lucee in December, 2017 and spent considerable time fixing various code pieces to suit Lucee’s taste of CFML - there were actually quite many differences there, albeit small ones, that had to be tackled.

But in one of the semi-abandoned sites of ours, there was a mysterious error haunting us for all this time, almost 18 months, that identified itself to a specific template, but the error message stated only:

“Invalid Identifier, the following character cannot be part of a identifier”

…as the site was really, really an abandoned one, we didn’t want to spend the required hours to even find out what the heck the issue was. But last night I had too much time and somehow decided to look into this.

The problem was that you cannot use “dot-separated” variable names in cfthread. As in this:

<cfthread blabla.thingy="oh yes!" blabla.otherthingy="oh no!">
 <cfdosomething>#blabla.thingy#</cfdosomething>
</cfthread>

Getting rid of the “dot” when passing the data to cfthread fixed the issue.

So, not a big issue, but error log was pretty vague about it (no line number available on what was the problematic line) - and we didn’t have time/energy sooner to look into this.

Just hoping this will help out at least one person trying to google around on what is wrong after migrating to Lucee :slight_smile:

1 Like

Which version of Lucee?

I just tried that example with 5.3.3.4-SNAPSHOT and the cfml stacktrace pointed to line 1, column 17

The error message was the following

Invalid Identifier, the following character cannot be part of a identifier [.]

We’re still using the 5.2.6.60 and at least in this particular case, the stacktrace didn’t inform which line the problem occurred at.

Cool, at least we know it’s been fixed. Thanks for sharing the info!