none
SOLVED: Tablet input panel locks up .NET application RRS feed

  • Question

  • Hello all,
       I have a .NET application in use by a significant user-base and I have begun receiving reports of users on Windows XP tablet edition experiencing lockups. The symptoms are consistently reproducible by simply launching our application, then opening the Tablet PC Input Panel from the task-bar. What this produces is the application becomes completely non-responsive, including not drawing invalidated areas of the window/controls (simply leaves the image of whatever was there last).

    The application is in .NET 2.0 and this appears to be a recent problem but I have not been able to identify any change that caused it. I have attempted to pick apart a mdmp from when the application is killed, but as far as I can determine all the application threads are in wait states. I suspect it is as simple as a starving philosophers problem, but I do not understand why the Tablet Input Panel would cause it.

    Can anyone provide guidance on what might be causing this?

    EDIT: this appears to only be a problem with the docked input panel.

    EDIT: I have tracked this problem to the use of a lamda function which we added to allow event processing during long data-load operations.

    This is caused by the following call:
                ThreadPool.QueueUserWorkItem((x) 
                    => 
                    {
                        using (var splashForm = new FormSplash()) 
                        {
                            splashForm.Show(); 
                            while (!mFinishedSplashScreen)                
                                Application.DoEvents(); 
                            splashForm.Close(); 
                        }
                    });

    Thursday, October 22, 2009 5:36 PM

Answers

  • Resolved by replacing the threadpool with a good old fashioned thread start call and a member function.
    Thursday, October 22, 2009 8:20 PM