Troy, thank you for posting the current status. > THANK YOU TO EVERYONE SUBMITTING PATCHES! It's great to have so much > help!
Sorry that I don't have patches for this, but I think I've found an example program why BibleTime crashes. I noticed that BibleTime crashed after I searched multiple times in the EnumaElish module. I attached a test program, which leads to crashed every time. If I run "gbs_test EnumaElish" the output is: Search 1 completed without using ListKey. Search 2 completed without using ListKey. Search 3 completed without using ListKey. Search 4 completed without using ListKey. Segmentation fault This happens every time. If I comment out the first search loop and enable the second the output of "gbs_test EnumaElish" is: Search 1 completed with 531 items Segmentation fault. If I run "gbs_test BBE" or "gbs_test Eastons" it works just fine. So I think it's a problem with the GBS classes, but I don't know where I can find the bug. I hope the example program helps you to find the problems. Thank you for all your help, Troy! Joachim
#include <stdio.h> #include <swmgr.h> #include <listkey.h> int main(int argc, char **argv) { SWMgr mgr; SWModule* target = (argc == 2) ? mgr.Modules[argv[1]] : mgr.Modules["BBE"]; if (!target) { cerr << "Module not valid! Exiting." << endl; return -1; } for (int i=1; i <= 10; i++) { target->Search("he"); cout << "Search " << i << " completed without using ListKey." << endl; } // same example, but using the returned ListKey object // for (int i=1; i <= 10; i++) { // ListKey result = target->Search("he"); // cout << "Search " << i << " completed with " << result.Count() << " items" << endl; // } return 0; }