tags:

views:

272

answers:

1

I'm using Visual Studio 2008 and developing a VB.NET application. I'm having strange lockup problems with my program, but only when Internet explorer 8 is opened.

When I cover my form with another window and then uncover it, I find that it has locked up. My program has no references to IE and the only thing it even has to do with IE is using Process.Start with a web address.

My program works fine and exactly as it should, but only when IE is not opened.

Does anyone know why a program would lock up only while IE is running?

Edit: I've done some digging and I've found the offending thread in my program. I don't know what starts this thread or what it does, but when I kill it, my program no longer freezes. The thread is one of the CreateApplicationContext threads, here is the last few items in the stack trace of that thread.

6 ntkrnlpa.exe+0x897bc

7 ntdll.dll!KiFastSystemCallRet

8 mscorwrks.dll!LogHelp_TerminateOnAssert+0x61

9 mscorwrks.dll!DllUnregisterServerInternal+0x10523

10 mscorwrks.dll!DllUnregisterServerInternal+0x10542

11 mscorwrks.dll!StrongNameErrorInfo+0x34387

12 mscorwrks.dll!StrongNameErrorInfo+0x34815

13 mscorwrks.dll!CreateApplicationContext+0xbc35

14 KERNEL32.dll!GetModuleHandleA+0xdf

Process explorer says my program is using no CPU nor throwing any exceptions while it is hung.

A: 

Try to figure out if you have any un-disposed threads or other windows forms resources. It seems like IE is grabbing a thread your program has not really released.

Also, note that since any window covering the program can cause this error, it may not be entirely IE's fault. Check anywhere you redraw the form or elements of the form.

Try removing threads temporarily or eliminating display intensive form elements and try to create a lock up again.