How to resolve the problem : "COREDLL!ThreadBaseFunc..."



I programed a serial mux driver. I setup a network conection on one virtual
serial port and via this connection I can explore on internet. But sometimes
explore.exe show errors and I can't expore web pages anymore. Messages show
in PB output window like this:


explorer.exe:

NK!SC_WaitForMultiple(unsigned long 0x00000001, void * const * 0x0c2cfc78,
int 0x00000000, unsigned long 0xffffffff) line 4413 + 16 bytes
NK!UB_WaitForMultiple(unsigned long 0x00000001, void * const * 0x0c2cfc78,
int 0x00000000, unsigned long 0xffffffff) line 4461 + 20 bytes
COREDLL!xxx_WaitForSingleObject(void * 0x636c2eda, unsigned long 0xffffffff)
line 107 + 92 bytes
GWES!MsgQueue::GetEvent(MsgqGetEventFlag 0x0c2cfe7c, HWND__ * 0x0c2cfcac,
unsigned int 0x0c2cfcb0, unsigned int 0x0c2cfca4, tagMSG * 0x0a578598,
MsgqGetEventFlag 0x836c2c38) line 3238 + 16 bytes
GWES!MsgQueue::GetMessageW_I(tagMSG * 0x0c2cfe7c, HWND__ * 0x00000000,
unsigned int 0x00000000, unsigned int 0x00000000) line 4738
NK!SC_GetMessageW(tagMSG * 0x00000000, HWND__ * 0x8394f63c, unsigned int
0x00000000, unsigned int 0x00000000) line 2488 + 36 bytes
COREDLL!xxx_GetMessageW(tagMSG * 0x0c2cfe7c, HWND__ * 0x00000000, unsigned
int 0x00000000, unsigned int 0x00000000) line 2161 + 92 bytes
OLEAUT32!OleMsgPump(void * 0x00000000) line 867 + 20 bytes
COREDLL!ThreadBaseFunc(void * 0x0351a930 OleMsgPump(void *), unsigned long
0x00000000) line 418 + 16 bytes


Who can tell me What's wrong with the serial mux driver? How can I make it
disappeared?



.