ThreadAbortException: Thread was aborted exception???

  • Thread starter Thread starter Christopher D. Wiederspan
  • Start date Start date
C

Christopher D. Wiederspan

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
 
Hi Christopher,

I searched through out internal database and didn't find any similar
problem yet. However I still have some suggestions for you.

Firstly please install all the latest version of software, such as OS
service packs, .NET framework 1.1.

Second, is it possible for you to test it on another single CPU machine to
see if the problem exists? If it still exists, I suggest you contact
Microsoft 1:1 support service. You could use one of the support incidents
included with your MSDN subscription and create a standard support incident
to address the problem. They may setup a same environment to reproduce the
problem or connect to your machine to check the problem. If this is indeed
a bug, there the incident will not be used up by the call.

Thanks very much for your understanding. Please get back to me and let me
know if you have any more concerns.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! ¨C www.microsoft.com/security
This posting is provided ¡°as is¡± with no warranties and confers no rights.
 
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
 
Hello Chris,

Thanks a lot for your information. I am very glad to hear that you have
resolved the problem.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! ¨C www.microsoft.com/security
This posting is provided ¡°as is¡± with no warranties and confers no rights.
 
Back
Top