According to Neil Kohl: > Sorry that C++ isn't my strongest language, otherwise I'd have attempted > the patch.
I can relate. ht://Dig was the first C++ code I'd ever looked at, so I was pretty baffled by it when I started. I know C, though, so it was pretty easy to figure out some of the basics and figure the rest out from there, with the help of some other users on the list (esp. Geoff). > Here's a transcript of the run and a backtrace: > > neilk@acpsun01$ htfuzzy -c acpjc.conf -v -v synonyms > htfuzzy: Selected algorithm: synonyms > htfuzzy/synonyms: 0 abdomen > htfuzzy/synonyms: 10 acei > htfuzzy/synonyms: 20 adhd > htfuzzy/synonyms: 30 juvenile > htfuzzy/synonyms: 40 longevity > htfuzzy/synonyms: 50 allergen > htfuzzy/synonyms: 60 amebicides > htfuzzy/synonyms: 70 amputation > htfuzzy/synonyms: 80 anaemia > htfuzzy/synonyms: 90 angioplasty > htfuzzy/synonyms: 100 anoxaemia > Segmentation Fault(coredump) Hmmm. I wonder if we couldn't benefit from a synonyms dictionary like that on the Spinal Cord Research Centre web site. > neilk@acpsun01$ ls > acpjc.conf acpjcadv.conf core > neilk@acpsun01$ adb `which htfuzzy` core > core file = core -- program ``htfuzzy'' on platform SUNW,Ultra-5_10 > SIGSEGV: Segmentation Fault > $C > blalign() + a04 > [savfp=0xffbef430,savpc=0x2f834] > blalign(b5080,acf00,17,ffff2ec0,58,a8030) + 54 > [savfp=0xffbef490,savpc=0x2f834] > copy_data_from__6StringPcii(ffbef5d0,acf18,ffffffff,0,81010100,ff00) + 10 > [savfp=0xffbef500,savpc=0x2ee30] > append__6StringPci(ffbef5d0,acf18,ffffffff,0,583ac,ff223bac) + 48 > [savfp=0xffbef570,savpc=0x2cb4c] > Put__8DatabasePcT1i(aedf8,ffbef5d0,acf18,ffffffff,b8da4,3e0) + 34 > [savfp=0xffbef600,savpc=0x2a3a8] > createDB__7SynonymR13Configuration(0,ffbef678,ffbef698,a6de8,84c00,84c00) + 208 > [savfp=0xffbefa90,savpc=0x2ada8] > main(a7c70,ffbefbd4,a3c00,ffbefb50,0,0) + 64c > [savfp=0x0,savpc=0x2700c] OK, thanks! I think this pretty much confirms my suspicions. createDB is calling Put with a -1 (ffffffff) as the 3rd argument (size)*, which gets passed on to copy_data_from via append. blalign must be part of a builtin implementation of memcpy, because memcpy is the only "function" that copy_data_from calls. In any case, the 2 patches I sent yesterday should solve this problem. I'm now running a snapshot of yesterday's CVS on my website, including the 2 fixes to Synonym.cc and String.cc, and it's working like a charm, so I don't think I broke anything. * the 3rd argument to a C++ method appears as the 4th argument in the stack backtrace, because the extra 1st argument in the backtrace is the address of the object (this) which the method is operating on. -- Gilles R. Detillieux E-mail: <[EMAIL PROTECTED]> Spinal Cord Research Centre WWW: http://www.scrc.umanitoba.ca/~grdetil Dept. Physiology, U. of Manitoba Phone: (204)789-3766 Winnipeg, MB R3E 3J7 (Canada) Fax: (204)789-3930 _______________________________________________ htdig-general mailing list <[EMAIL PROTECTED]> To unsubscribe, send a message to <[EMAIL PROTECTED]> with a subject of unsubscribe FAQ: http://htdig.sourceforge.net/FAQ.html

