Geoff Hutchison's bits of Fri, 11 Oct 2002 translated to:

>I posted another mifluz merge snapshot. Conveniently, it was posted

I was able to build all programs under OS X (10.2). There were
a number of warnings, but no errors. I logged the build and can
provide the warning messages if needed. It was necessary to use
the --disabled-shared option with configure. I am using the
current 10.2 Developer Tools with GCC 3 selected.

I tested on a small site and htdig runs to completion; however
htpurge crashes on a bus error.

Run under gdb, htpurge terminates as follows.

WordDict::Unref() Unref on non existing word occurrence
htpurge: deletion of
Program received signal EXC_BAD_ACCESS, Could not access memory.
0x00074fc4 in String::get() const (this=0x97f4ac) at String.cc:244
244         Data[Length] = '\0';        // We always leave room for this.

The values of Length and Data are as follows.

#0  0x00074fc4 in String::get() const (this=0x97f4ac) at String.cc:244
244         Data[Length] = '\0';        // We always leave room for this.
(gdb) print Length
$1 = 2
(gdb) print Data
$2 = 0x0

The backtrace.

(gdb) bt
#0  0x00074fc4 in String::get() const (this=0x97f4ac) at String.cc:244
#1  0x00075444 in String::operator<<(String const&) (this=0xbffff5c0, s=@0x97f4ac) at 
htString.h:259
#2  0x000088b0 in HtWordReference::Key() const (this=0x97f4a8) at 
../htlib/htString.h:247
#3  0x00003850 in delete_word(WordList*, WordDBCursor&, WordReference const*, Object&) 
(words=0xf05bc, cursor=@0x97f4ac, word_arg=0x97f4a8, data=@0xbffff5c0) at 
../htlib/htString.h:48
#4  0x00014360 in WordCursorOne::WalkNextStep() (this=0x97f470) at WordCursorOne.cc:358
#5  0x00013d34 in WordCursorOne::WalkNext() (this=0x97f470) at WordCursorOne.cc:269
#6  0x000136ac in WordCursorOne::Walk() (this=0x97f470) at WordCursorOne.cc:158
#7  0x00003a68 in purgeWords(Dictionary*) (discard_list=0xf14d0) at htpurge.cc:350
#8  0x00002eec in main (ac=2, av=0xbffffa04) at htpurge.cc:151
#9  0x0000279c in _start (argc=2, argv=0xbffffa04, envp=0xbffffa10) at 
/SourceCache/Csu/Csu-45/crt.c:267
#10 0x0000261c in start () at /usr/include/gcc/darwin/3.1/g++-v3/streambuf:129

The problem is repeatable. I would be happy to perform further
debugging if needed.

Is it necessary that htpurge be run before searching? The
documentation seems to imply that it is not necessary. If this is
the case, then htsearch is also having problems on this platform.
Both "All" and "Any" searches result in no matches on things that
should definitely be in the database. Boolean queries appear to
result in a crash. The web server logs reports the following.

*** malloc_zone_malloc[28390]: argument too large: -913191692
[Sat Oct 12 19:25:47 2002] [error] [client 10.0.1.217] Premature end of script 
headers: /Users/greyleaf/Sites/cgi-bin/htsearchm1010.cgi

I did skip htpurge altogether for this test, so the problem is
not due to an htpurge crash corrupting anything.

Jim



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
htdig-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/htdig-dev

Reply via email to