[ColdBox 5.3.0] Issue with implicit accessors

Our development team recently discovered that we are getting multiple errors when using implicit get accessor (person.firstName) instead of generated get accessor (person.getFirstName()). Here are instructions of how to reproduce the error:

  1. Create a new ColdBox application (see attached file ImplicitAccessorCBTest.zip) or create a new app with CommandBox (coldbox create app implicitAccessorTestCB) and modify the following files:

Condig/ColdBox.cfc, add following line:

customErrorTemplate = “/coldbox/system/includes/BugReport.cfm”

Application.cfc, add following line:

this.invokeImplicitAccessor = true;

Main.cfm, replace with this:

#renderView()#

models/Person.cfc, create new file:

component accessors=true {

property firstName;

}

handlers/Main.cfc. add these:

function index(event,rc,prc){

prc.person = wirebox.getInstance( “Person” );

prc.person.firstName=“Zachary”;

event.setView(“main/index”);

}

function index2(event,rc,prc){

prc.person = wirebox.getInstance( “Person” );

prc.person.firstName=“Zachary”;

event.setView(“main/index2”);

}

views/main/index.cfm, replace with this:

for( local.i = 0; local.i < 1000; local.i++ ) {

writeOutput(“firstName: #prc.person.firstName#
”);

}

views/main/index2.cfm, create new file:

for( local.i = 0; local.i < 1000; local.i++ ) {

writeOutput(“firstName: #prc.person.getFirstName()#
”);

}

  1. Test the index.cfm?event=Main.index with JMeter, use 200 threads, 10s Ram-Up Period and Loop count 1 (test plan: <?xml version="1.0" encoding="UTF-8"?><jmeterTestPlan version="1.2" properties - Pastebin.com)

  2. In our tests the page always fails with the same error message:

Element PERSON.FIRSTNAME is undefined in PRC

  1. The error % we are getting with the above settings usually falls somewhere between 2 to 5 %, meaning that 4 to 10 requests out of 200 requests fails.

  2. When index.cfm?event=Main.index2 gets tested with the same settings, we don’t get any errors

Here are some details about the test environment:

Does anyone have any idea why this is happening? Is there some ColdFusion settings we could tweak? The above example application is >very minimal, and we are not doing anything special, so I don’t see any reasons why implicit accessors should fail, especially when generated accessors seems to pass the same test without any issues.

We appreciate any help or suggestions of what to try to get the implicit accessors working.

br,
Antti Koskenalho