Re: Memory leak in the Driver



I suppose it might be a valid problem description. Are you sure that your
application code is actually closing everything? I've never observed such a
leak in any of my devices. How does this "device" relate to the hardware
you are building a driver for? You're writing a driver for some sort of
storage device where these files that are getting opened and closed over and
over again are located? It's files that are being opened or the device
itself via CreateFile( _T( "DEV3:" ), ...) or something similar?

Paul T.

"Neo" <rksandilya@xxxxxxxxx> wrote in message
news:1169215588.397188.188920@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Mr. Paul Tobey,

i have some observations from my side and need some help.

when i open and close any application\file or folder in WinCE
continuosly for more than 2 times(Fastly), then the WinCE eats up
memory.

This is the cause for my problem.

My application does the folowing,
opens the device,
writes data to the device and then
closes the device multiple times in a loop.

if i do like the way mentioned below,
open the device,
write the data multiple times in a loop
close the device,
then there is no memory leak.

My Question is,
Opening and Closing any file\folder\application in WinCE continuosly
eats memory.
Is this Observation Valid ???

plz forgive in case if it is invalid observation.

Thanks and Regards,
Neo


Neo wrote:
Hi Mr. Paul,
Thanks for that info !!!

i'll try to resolve with the info and suggestions u've provided !!!
sorry if i was emotional yesterday !!!

Thanks and Regards,
Neo

Paul G. Tobey [eMVP] wrote:
I understand that management can be stupid about spending cash on
something
as opposed to time, which is a lot more expensive, but harder to keep
track
of. I try not to do that to the guys on my team.

OK, so you're left with trying to figure it out yourself. Turn on all
of
the debug messages for USB. You may need to read the help on "debug
zones"
to accomplish that. Capture everything that happens and keep good
records
of what you did, how much memory was leaked and what the debug messages
were. Repeat until you figure it out...

Don't forget that "handles" are memory, too, as are USB packets, data
buffers, etc. Anything that is allocated, whether you are allocating
it and
someone else is supposed to free it or, maybe, someone else is
allocating it
and *you* are supposed to free it, could be the source of the leak. In
every case that you find, assume that *you* are doing something wrong,
because that's the highest probability. Maybe Microsoft has a bug, but
the
chances that *you* have the bug are MUCH, MUCH higher.

Paul T.

"Neo" <rksandilya@xxxxxxxxx> wrote in message
news:1169143515.813673.79070@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Mr.Paul,

i have tried things which are in my reach,
and regarding buying the tools,
it is not in my hands as my top management has to take a decision on
it
!!!!

actually, i cannot do either i.e., buying or hiring !!!
it's a task given to me so, probably i'll be trying myself or i'll
quit
this task !!!
i am new to Windows CE Driver Devlopment and i am unable to complete
my
task.

anyway thank you and thanks all for giving hints and suggestions !!!
sorry for disturbing you all and sorry for the trouble !!!

tell me what more info i can provide to you so that you can help me
??
and if it's not possible then i am sorry for giving you the trouble.

Thanks and Regards,
Neo

Paul G. Tobey [eMVP] wrote:
We are not going to be able to help you remotely. Given that you
are new
to
driver development, it's most likely that you are at fault. Since
we've
given you a list of things that you can try and you've either tried
them
and
failed or been unwilling or unable to try them, the rest is going to
be
up
to you. You're either going to have to buy some useful tools to
help
with
this, learn enough on your own by trying things, or hire someone who
can
actually take your code and your hardware and try to find the
problem.

Paul T.

"Neo" <rksandilya@xxxxxxxxx> wrote in message
news:1169123630.033007.67860@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi All,

The QFE has no impact on the leak but one thing is sure, there is
memory leak when i issue a bulk transfer request using
"lpIssueBulkTransfer" this seems to be troubling me !!!
help neeeded ASAP

Thanks and Regards,
Neo

Neo wrote:
Hi Mr. Paul,

i understand your words and i feel pity about myself and my
helpless
condition.
anyway i had already put prints when i am allocating and
deallocating,
i am sure that all the memory that i am allocating in my driver
is
released.

i see problem with one of this call "lpIssueBulkTransfer", if i
comment this in my code then the amount of memory leak
drastically
comes down, i do not understand the mystery behind this !!!
help needed regarding this !!!

and Also thank you for mentioning about QFE, which i am unaware
of, i
will try that and let the group know the result.

Thank you alll for the help !!!

Thanks and Regards,
Neo

Paul G. Tobey [eMVP] wrote:
Have you applied all of the Platform Builder QFEs?

Paul T.

"Neo" <rksandilya@xxxxxxxxx> wrote in message
news:1169060894.231009.199230@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi,

Also i want to know whether there are any known leaks in the
platform
builder 5.0(WinCE5.0) Edition.
i am developing USB-Serial Driver which uses both USB related
functions
and also the Serial related Code.
are there any known memory leaks in other dll's which will
used in
usb-serial driver development.

Thanks and Regards,
Neo

Neo wrote:
Hi Mr.Chris Tacke

As of now i cannot get that tool in for me.
Anyway it is since a week i was trying to find this leak
!!!!
i can understand what u said and it's right too !!!

but i need to go thru the normal way of debugging and i am
limited
by
my resources !!!
hoping for more support from you guys !!!

Thanks and Regards,
Neo

<ctacke/> wrote:
Platform Builder wasn't free either, yet you're using it.
If
your
time
is
worth anything, then the time saved by using a tool pays
for
itself
quickly.
You've probably already spent more than a day looking for
this
leak -
what
was that day worth?


--
Chris Tacke
OpenNETCF Consulting
Managed Code in the Embedded World
www.opennetcf.com
--


"Neo" <rksandilya@xxxxxxxxx> wrote in message
news:1169050226.359701.123650@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Mr. Helge Kruse,

i cannot use ENTREK TOOLBOX, bcoz it is not free !!!
And creating counters is already i did but in my DRIVER
i am
deallocating all the memory which i am allocating using
localallocand
localfree.

i donot see any free memory in my driver for USB Device.
i did put a print statement with the localalloc and
localfree
calls
and the corresponding calls matches.
but still when my device is just opened and closes
continuosly
for 10
times i loose 28KB of memory or so.

can you be able to shed more light on the ToolhelpAPI,
i'll
try
to
work
on that !!!

Thanks and Regards,
Neo

Helge Kruse wrote:
The ENTREK Toolbox with CodeSnitch is very useful to
find
memory
leaks in
application.

If this tools does not meet your needs, you can use
ToolhelpAPI
functions
to
do the work by yourelf. But ... it's work. And you will
have
to
examine
the
results of heap blocks. That's much more work.

Another approach is to create counters fore object
creation/deletion. So
you
can find the class with not deleted objects. This can
help
with
the
code
review. But this will be application even for driver.

/Helge







.



Relevant Pages

  • Re: Memory leak in the Driver
    ... if the following application is used then, there is no memory leak. ... Paul G. Tobey wrote: ... you are building a driver for? ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Memory leak in the Driver
    ... anyway i had already put prints when i am allocating and deallocating, ... i am sure that all the memory that i am allocating in my driver is ... i am developing USB-Serial Driver which uses both USB related functions ... Anyway it is since a week i was trying to find this leak!!!! ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Determining Process Memory Usage
    ... Thank you for your help Paul. ... They all doesn't show any memory leaks ... leak. ... I have remote tools working but I can't reproduce the issue at my ...
    (microsoft.public.windowsce.embedded)
  • Re: Memory leak in the Driver
    ... You've probably already spent more than a day looking for this leak - what ... And creating counters is already i did but in my DRIVER i am ... i donot see any free memory in my driver for USB Device. ... Another approach is to create counters fore object creation/deletion. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: MDAC memory leak
    ... Most libraries place the decision of when to free ... There's a capability of breaking on a particular memory allocation, ... leak 500 objects, on the second test I leak 3, because I fixed the bug). ... "App shows memory leak on some machines." ...
    (microsoft.public.vc.mfc)