empty onSessionEnd creating NullPointerExceptions?
Some background: we recently upgraded from CF 10 to CF 2016, and moved to a new server (Windows Server 2012 R2, IIS 8). All updates are installed for all of the above (cf version 2016.0.03.300466 and jvm version: 25.72-b15).
Here's the issue: In my Application.cfc I've got a completely empty onSessionEnd.
<cffunction name="onSessionEnd" returnType="void">
<cfargument name="SessionScope" required="true" />
<cfargument name="ApplicationScope" required="false" />
</cffunction>
I've got onError is currently set up to send me an email.
I am periodically getting this:
arguments - struct
| EVENTNAME | onSessionEnd | ||||||||||||||||||||||||
| EXCEPTION |
| ||||||||||||||||||||||||
I'm basically at a loss as to how it's generating a nullPointerException (which, to my understanding, can sometimes be basically a variable undefined error when encountered in onSessionEnd or onApplicationEnd which aren't handled well by onError, but as there's literally nothing in it, that's not relevant).
So I dug into the logs.
Exception log:
"Error","scheduler-2","12/02/16","15:13:59","","'' The specific sequence of files included or processed is: '''' "
java.lang.NullPointerException
at coldfusion.runtime.NeoJspWriter.writeOutput(NeoJspWriter.java:228)
at coldfusion.runtime.NeoJspWriter.flush(NeoJspWriter.java:362)
at coldfusion.cfc.CFCProxy.flush(CFCProxy.java:357)
at coldfusion.cfc.CFCProxy.doInvoke(CFCProxy.java:332)
at coldfusion.cfc.CFCProxy.invoke(CFCProxy.java:302)
at coldfusion.runtime.AppEventInvoker.onSessionEnd(AppEventInvoker.java:462)
at coldfusion.runtime.SessionTracker.invokeOnSessinEnd(SessionTracker.java:291)
at coldfusion.runtime.SessionTracker.cleanUp(SessionTracker.java:274)
at coldfusion.runtime.SessionTracker.access$000(SessionTracker.java:43)
at coldfusion.runtime.SessionTracker$SessionCleanUpAgent.run(SessionTracker.java:483)
at coldfusion.scheduling.ThreadPool.run(ThreadPool.java:260)
at coldfusion.scheduling.WorkerThread.run(WorkerThread.java:71)
application log:
"Error","scheduler-2","12/02/16","15:13:59","","'' The specific sequence of files included or processed is: '''' "
coldfusion-out log:
Dec 2, 2016 15:13:59 PM Error [scheduler-2] - '' The specific sequence of files included or processed is: ''''
Other notes: I am using J2EE session variables, and SESSSION management is enabled for the app.
My question(s): what weird thing is this scheduler thread doing, why would it be encountering a null pointer exception in onsessionend, and how would one go about stopping it from occurring again?
