I found this bug report. The question is, "Is that what's happening to me?".
I have a few situations where I do this sort of thing.
<cfthread name="thread1" action="run">
code for thread1
</cfthread>
<cfthread name="thread2" action="run">
code for thread2
</cfthread>
The next one will have an actual name.
<cfthread name="CIMSThread" action="run">
code for CIMSThread
</cfthread>
<cfthread name="thread1,thread2,CIMSThread" action="join"></cfthread>
Every so often, I will get these sorts of exceptions.
"Error","cfthread-638","04/10/13","15:14:14",,"CIMSTHREAD: null"
"Error","jrpp-1215","04/10/13","15:14:22","DWQueries","Error Executing Database
Query.<br><b>Query Of Queries runtime error.</b><br>
Table named CIMSThread.CIMSData was not found in memory. etc"
When it first happened, I ran the applicable report again and got the same type of error on a different thead and eventually got it to run successfully without changing any code or data.
When it first happened, I also thought something bad might be happening in the thread which would cause it to crash, so I did something to force that to happen. However, when I checked the exception log, the error in that thread showed up. In these cases, the exception log shows what's in this post.
We are running Version 9,0,1,274733 and have monitoring turned on.
Am I being affected by the reported bug, or might this be something else?
Reply to Comments
I am not able to reproduce the problem at will. After consulting with my administrator we have turned off monitoring, but the pages are not being run very often. If the errors don't appear for awhile, it won't necessarily prove anything.
The problematic threads contain long running queries. Something I just thought of is that there is a very frequently used page that has never caused an issue. There are two differences between the good page and the problem pages. The good page has runs just two threads and joins them. The problem pages run more than two. Also, the queries on the good page don't take as long to exectute.
For Those Who Suggest A Timeout, It's Not
Here is some code. The query takes about 4 seconds to run.
<cfthread name="ThreadWithTimeOut" action="run">
<cfquery name="thread.x" datasource="dw" timeout="1">
sql deleted
</cfquery>
</cfthread>
<cfthread action="join" name="ThreadWithTimeOut"></cfthread>
<cfdump var="#ThreadWithTimeOut.x#" metainfo="no">
The exception log shows this:
"Error","cfthread-6","04/16/13","14:19:15",,"THREADWITHTIMEOUT:
Error Executing Database Query. **
Error ** (11319) [Red Brick Warehouse JDBC Driver] :
Query timeout (1 seconds) has expired."
coldfusion.tagext.sql.QueryTag$DatabaseQueryException: Error Executing Database Query.
and this:
"Error","jrpp-238","04/16/13","14:19:15","Dan",
"Element X is undefined in THREADWITHTIMEOUT.
That's a different set of exceptions. The previous ones said the thread was null.