469,927 Members | 1,904 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,927 developers. It's quick & easy.

ThreadAbortException: Thread was aborted exception???

I've got a WebServices application that uses Crystal Reports to produce and
then export Invoices to PDF format. Without getting into too many details,
it's just a big loop statement that goes out to SQL using a SqlDataAdapter,
brings back a dataset which is pushed into the Crystal Report, and the
report is exported - nothing fancy.

Everything works great in that on my development machine, I can run through
2,000 reports without hitting any snags. But when we deploy and try to run
the WebService on a production machine, it throws out a
ThreadAbortExceptions at random times. The exception does not get raised at
one particular line of code or at any predicable interval within the loop -
it's very random, although it's almost always thrown once within the first
15 reports, and then the remaining 1,875 or so run without raising the
exception again.

The only significant difference that I can point to between my development
machine and the production machine is that the production machine is a
dual-processor Xeon, while my dev machine is a lowly single processor -
could that have anything to do with it? Please know too that my code does
nothing with threads - I just run one long process in the existing thread.
It seems that the Exception is either being thrown from the Crystal Engine,
or from the SqlClient library as it retrieves the data - and actually I've
seen evidence that it's throwing from both.

In any case, if anybody has any ideas on this, please let me know.

Thanks,

Chris
Jul 19 '05 #1
1 2753
Are you redirecting or transfering from one page to another? That gets
executed on another thread. Thread Abort exceptions 'cant be caught'. You
can catch them but the CLR immediately rethrows it.

You've violated a rule of thumbs here. If you are developing for a dual
processor, you absolutely must test on a dual processor to catch concurrency
and synchronization issues.

If this is not possible (and it often is not due to company beaurocracy),
you need to remote attach the debugger to the server process. MSDN tells you
how to do this. Then set your exceptions (off of the debug menu) to break
into the debugger on CLR exceptions.

Fire the application up. When the thread exception occurs it will stop at
the offending line. If it is coming from a module that you don't have soure
code for, you are out of luck.

hth
"Christopher D. Wiederspan" <wi********@netquote.com> wrote in message
news:#0**************@TK2MSFTNGP11.phx.gbl...
I've got a WebServices application that uses Crystal Reports to produce and then export Invoices to PDF format. Without getting into too many details,
it's just a big loop statement that goes out to SQL using a SqlDataAdapter, brings back a dataset which is pushed into the Crystal Report, and the
report is exported - nothing fancy.

Everything works great in that on my development machine, I can run through 2,000 reports without hitting any snags. But when we deploy and try to run
the WebService on a production machine, it throws out a
ThreadAbortExceptions at random times. The exception does not get raised at one particular line of code or at any predicable interval within the loop - it's very random, although it's almost always thrown once within the first
15 reports, and then the remaining 1,875 or so run without raising the
exception again.

The only significant difference that I can point to between my development
machine and the production machine is that the production machine is a
dual-processor Xeon, while my dev machine is a lowly single processor -
could that have anything to do with it? Please know too that my code does
nothing with threads - I just run one long process in the existing thread.
It seems that the Exception is either being thrown from the Crystal Engine, or from the SqlClient library as it retrieves the data - and actually I've
seen evidence that it's throwing from both.

In any case, if anybody has any ideas on this, please let me know.

Thanks,

Chris

Jul 19 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Mark Phillips | last post: by
6 posts views Thread by David Waz... | last post: by
reply views Thread by Chee | last post: by
3 posts views Thread by Steve - DND | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.