R
RD
I have a VBV.NET application that runs on a timer to do a job at one hour
intervals.
Basically the sequence is as follows
the timer event fires
1- the timer get turned off
2- the code then checks to see if we're just changed hour from when the
previous transfer session took place
IF yes
the code executes an FTP transfer from an FTP site.
When the transfer is completed the file received is parsed (it's a comma
separated ASCII file) line by line and the dat is transferred to SQL server
files.
Remember the hour part of the current transfer session time
end if
Turn the timer on again
All the code can execute faultlessly for a week doing a transfer every hour
on the hour or it can try the first one and stop dead in it's tracks with an
out of memory error message. Never at the same place but always the same
code 80004008. We had logs running tracing the program execution and writing
every procedure to text files and nothing gives us an inkling that it's
going to fail.
All through the code we've been very carefull to close every ADO .Net
connection every time we open one and tried to always set unused objects to
nothing explicitly. All I can come up with as a cause is the new garbage
collector is going out on an illegal strike <GGGG>.
This has been bugging me for over two months in an operational test phase
and I'm wondering if there is a practical way to trace what is happening
with memory useage over time, keeping a record that we can correlate to when
the errors and trying to figure out exactly why an app that runs alone
usoing about 15% of the available RAM on a machine suddenly and unexpectedly
runs out of memory and does so in a totally unpredictable way.
Any help would be immensely appreciated.
MS if you're monitoring this thread, do you think there might be <shudder> a
<NO NO DON'T SAY IT> bug in the garbage collector < SORRY, SORRY MOST ABJECT
APOLOGIES>. What can I do to make this relaible. This is a vital busines
process that must run unattended 24 7 365.
Bob
intervals.
Basically the sequence is as follows
the timer event fires
1- the timer get turned off
2- the code then checks to see if we're just changed hour from when the
previous transfer session took place
IF yes
the code executes an FTP transfer from an FTP site.
When the transfer is completed the file received is parsed (it's a comma
separated ASCII file) line by line and the dat is transferred to SQL server
files.
Remember the hour part of the current transfer session time
end if
Turn the timer on again
All the code can execute faultlessly for a week doing a transfer every hour
on the hour or it can try the first one and stop dead in it's tracks with an
out of memory error message. Never at the same place but always the same
code 80004008. We had logs running tracing the program execution and writing
every procedure to text files and nothing gives us an inkling that it's
going to fail.
All through the code we've been very carefull to close every ADO .Net
connection every time we open one and tried to always set unused objects to
nothing explicitly. All I can come up with as a cause is the new garbage
collector is going out on an illegal strike <GGGG>.
This has been bugging me for over two months in an operational test phase
and I'm wondering if there is a practical way to trace what is happening
with memory useage over time, keeping a record that we can correlate to when
the errors and trying to figure out exactly why an app that runs alone
usoing about 15% of the available RAM on a machine suddenly and unexpectedly
runs out of memory and does so in a totally unpredictable way.
Any help would be immensely appreciated.
MS if you're monitoring this thread, do you think there might be <shudder> a
<NO NO DON'T SAY IT> bug in the garbage collector < SORRY, SORRY MOST ABJECT
APOLOGIES>. What can I do to make this relaible. This is a vital busines
process that must run unattended 24 7 365.
Bob