Thanks man...  I found I had forgot to fclose() one file after each
iteration, so I'm assuming I was reaching some limit of max files
opened by the same process (though it was the same file each time it
still stacked up).

Ill let it run for a while and see...  Iterations were originally set
to 10 minutes, now at 1 minute I should see faster if it crashes while
still having decent load on the network/source.

Thanks a lot!
  Simon

On 10/15/10, Simon Slavin <slav...@bigfraud.org> wrote:
>
> On 15 Oct 2010, at 8:11pm, Simon wrote:
>
>> The program is meant to loop forever, grab information from the
>> internet and store it in the database.  The error happens after 12-24
>> hours of execution.  The database file is opened at the beginning of
>> execution and is never closed (it would if the loop was not
>> while(1){...}).
>
> Does your application have a leak of some kind ?  Does it get slower, or
> request more memory, or open more file handle, the longer you leave it
> running ?  Use your OS's utilities to monitor it and see if it looks
> different in the 12th hour to the way it looks in the 1st hour.
>
>> This transaction is done every 60 seconds and there is only one thread
>> working.  The transaction contains 1 or 2 dozen INSERTs only...  And
>> my program has no memory leaks, the system has been running very
>> stably for 96 days so far...
>
> Hmm.  Just for testing, make it go crazy and do things ten times as often or
> insert ten copies of every record.  Does the error happen at the same time,
> or ten times sooner ?
>
>> Should I also close the database
>> after doing my transaction and re-open it every iteration of my loop?
>
> Try it.  If it fixes your problem then you have a serious bug, either in
> your code or in one of the support libraries you're using (or possibly your
> OS !).
>
> Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to