NotesI have a Lotus Notes C-API program that scans the Domino Directory (names.nsf) on a version 6.5.4 server to extract groups and people from the directory. It basically corresponds to the rsimple sample and does this:

NotesInitExtended();
NSFDbOpen();

NSFFormulaCompile();
NSFSearch();

while (there are documents) {
  NSFNoteOpen();
  if (NSFItemIsPresent()) {
    NSFItemGetText();
  }
  NSFNoteClose();
}

NSFDbClose();

Once in a while the Domino server crashes, and NSD dumps appear to indicate that it is my program. I've checked and re-checked, and there aren't any buffer overflows; at least none that I can see. :-) The program runs on the Domino server proper (Win32) as a scheduled process. Running the exact same binary on a workstation with a replica of the database has yet to fault. We've even replaced the names.nsf on the server to eliminate the possibility of a corrupt database. I'd expect my program to die if there is something wrong of course, but why does it tear down the Domino server? That indicates that there is some interaction going on that I cannot control. Might it be a locking problem? Might it be that, when the server is writing to the names.nsf at the specific moment I attempt to access a (different) document, the API craps out and brings down the server with it? The program was compiled and linked against a 6.5.something toolkit. I upped that to a 7.0 a while ago because it didn't help and on Friday I recompiled and linked against a 7.0.2 API in the hope to have it magically fix itself. No news so far, but it keeps me restless nevertheless.

Flattr this
DomiNotes :: 15 May 2007 :: e-mail

Comments

blog comments powered by Disqus