Bug in SerialPort Class NET 2005?

A

aayre

Hi All,

Can anyone tell me if there is a known bug and possible a fix for the
SerialPort Class (System.IO.Ports.SerialPort) in .NET 2005? More
specificly
to do with USB ComPorts?

I have found the following:
1) Open a SerialPort which happens to be a USB RS232 converter device.
2) Data can be sent and received OK.
3) Pull the plug on the USB device and CPU usage goes way up and memory
starts to leaking.
4) The only way to stop the leak and free the resources is the exit the
..NET
application then GC seems to clean things up.
5) Somes time you might event get a BSOD and the OS creashes (Win XP).
6) The type of USB harware does not seem to make any difference.

I belive this is a problem with the .NET 2005 framework as this problem
does
not happen in VB6 or when using HyperTerminal.
I managed to stop the BSOD by inheriting the SerialPort Class and
Overriding
the Dispose method.

When can we expect this problem to be fixed? Will it be in SP1 for NET
2005?
Any response would be greatful (except the ones that same "I have the
same
problem").

-aayre
 
M

Michael D. Ober

Are you "stopping" your USB serial port with the "Unplug or Eject Hardware"
applet?

Mike Ober.
 
C

Carl Daniel [VC++ MVP]

aayre said:
Hi All,

Can anyone tell me if there is a known bug and possible a fix for the
SerialPort Class (System.IO.Ports.SerialPort) in .NET 2005? More
specificly
to do with USB ComPorts?

I have found the following:
1) Open a SerialPort which happens to be a USB RS232 converter device.
2) Data can be sent and received OK.
3) Pull the plug on the USB device and CPU usage goes way up and
memory starts to leaking.
4) The only way to stop the leak and free the resources is the exit
the .NET
application then GC seems to clean things up.
5) Somes time you might event get a BSOD and the OS creashes (Win XP).
6) The type of USB harware does not seem to make any difference.

I belive this is a problem with the .NET 2005 framework as this
problem does
not happen in VB6 or when using HyperTerminal.
I managed to stop the BSOD by inheriting the SerialPort Class and
Overriding
the Dispose method.

When can we expect this problem to be fixed? Will it be in SP1 for NET
2005?

Have you reported it to Microsoft? If not, please do so.

http://lab.msdn.microsoft.com/productfeedback

Have you contacted product support? You might want to if this is causing
you major problems.

-cd
 
A

aayre

Mike,

Thanks for you reply, but unfortunately in the environment that our
..NET application will be running in (application will be running on a
laptop installed in a truck) we are unable to use "Unplug or Eject
Hardware". Our application will generally have USB devices connected
via an external powered USB hub. The power to this hub can be turned
off without warning (truck engine is turned off). This is when we have
the problem.

-aayre
 
A

aayre

Carl,

I will defiantly be report it. I was not aware how to before, now I
know :)

-aayre
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top