Component [preside.system.coldboxModifications.services.InterceptorService] has no private function with name [registerInterceptor]
Accessible functions are [ …, REGISTERINTERCEPTOR, …]
The code here looks like this:
component extends="coldbox.system.web.services.InterceptorService" {
// ...
public any function registerInterceptors() {
_registeringInterceptors = true;
super.registerInterceptors( argumentCollection=arguments );
_registeringInterceptors = false;
}
public any function registerInterceptor( string interceptorClass ) {
if ( StructKeyExists( arguments, "interceptorClass" ) ) {
_currentRegisteringInterceptor = arguments.interceptorClass;
}
// error happens here
return super.registerInterceptor( argumentCollection=arguments );
}
// ...
The registerInterceptor method exists in the base component. What is even more strange is that if I add a throw() or abort into the code of the base class method, it does get executed without this error.
Repro using commandbox
Requires a mysql database instance
box
preside new site // then follow the wizard to setup a preside app with default options
preside start cfengine=lucee@7 // complete the database connection setup wizard
Then wait for browser to open and app to start up. Error then shows.
Don’t forget to tell us about your stack!
OS: Debian based linux’s Java Version: 21 Tomcat Version: N/A Lucee Version: All 7.x versions
if (superAccess) {
Member member = _udfs.get(key);
if ( member != null ) return member;
}
That code has not changed in 7 years though so presumably related to something around how _udfs is populated or somesuch. Hopefully this is useful information to a permanent fix.
@dom_watson figured it out, then after fixing / bypassing some ( javax (headers, cfconcurrent) / servlet setStatus() / omg he’s on windows) tech debt, it’s working for me locally