This is a migrated thread and some comments may be shown as answers.

.NET Runtime 2.0 Error

1 Answer 71 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Piotr Kochanowski
Top achievements
Rank 1
Piotr Kochanowski asked on 15 Sep 2009, 10:36 AM
Hello,

I've got a problem with an application using Telerik.WinControls.
Every few hours, seemingly random, it crashes with the following error:
EventType: clr20r3 P1: xcat.exe P2: 1.1.0.0 P3: 4aa9aa27 P4: telerik.wincontrols P5: 2009.2.9.701 P6: 4a535c8e P7: 1ac7 P8: 32 P9: system.nullreferenceexception
this error is also logged in windows event log as .NET Runtime 2.0 Error (Event ID: 5000).

From what I understand it's an unhandled NullReferenceException somewhere in Telerik.WinControls assembly.

Using above event data (P7: 1ac7) and windbg I got the following result:
Module: 00988b00 (Telerik.WinControls.dll)
Token: 0x06001ac7
MethodDesc: 04e95348
Name: Telerik.WinControls.RadControlAnimationTimer.Stop()

And than P8: 32 pointed me to the following disassembly line:
L_0032: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Timer::remove_Tick(class [mscorlib]System.EventHandler)

So I think it happens in Telerik.WinControls.RadControlAnimationTimer.Stop() when Tick event hadler is removed (although I'm not 100% sure).

The application does not use RadControlAnimationTimer but I use other Telerik controls (RadGridViews, RadButtons, RadComboBoxes, RadMenus) and they probably make use of the RadControlAnimationTimer. 

I also have a try-catch block around Application.Run() but that particular exception does not get caught there - so I can't look at the stack trace to pinpoint where and if the exception originates in my code.

Could you maybe suggest some way of catching that exception or maybe disabling RadContolAnimationTimer.

Regards,

Piotr.



1 Answer, 1 is accepted

Sort by
0
Mike
Telerik team
answered on 17 Sep 2009, 06:50 AM
Hello Piotr Kochanowski,

Thank you for the detailed report. By the data you provided we see that the exception is caused by the routine System.Windows.Forms]System.Windows.Forms.Timer::remove_Tick(...). We inspected the code that calls this routine in Telerik.WinControls.RadControlAnimationTimer.Stop() in a great detail and tested all possible scenarios but we were neither able to determine any case that might cause this error, nor we were able to reproduce the exception.

We also studied the code of System.Windows.Forms.Timer class with Reflector and  we do not any suspicions code. We tested with runtime version v2.0.50727.

No other customers have reported any similar issue. That said, our conclusion is that this could be a problem related to using the specific .Net version. Can you please specify the .Net version you are running?

As to disabling the RadControlAnimationTimer, it is possible, using the code:
Telerik.WinControls.AnimatedPropertySetting.AnimationsEnabled = false;

This will disable all UI animations (transition effects that happen on mouse-hover, expand collapse and so on) in any RadControls in the application. Nevertheless I cannot recommend doing this, since some controls/routines might not behave well with animations turned off.  Another problem would be that this static flag is used internally in some controls and its value can be reset to true in some cases. I suggest thorough testing of your app if running in this scenario.

I am adding this issue in our list, for future consideration. In Q3 we will also enhance the animations behavior, so you can turn on and off UI animations without any problems.

If you are interested we can discuss further your app and any future changes to our code related to animations. You should just open a support ticket and let us know about it.

Greetings,
Mike
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
General Discussions
Asked by
Piotr Kochanowski
Top achievements
Rank 1
Answers by
Mike
Telerik team
Share this question
or