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;
}
 

Reply via email to