[aseek-devel] Re: Infinite loop in searchd

From: Kir Kolyshkin (no email)
Date: Tue Aug 26 2003 - 08:23:18 EDT


You should look at ebuf[0], ebuf[1] and pbuf

Probably your index is broken someway.
BTW on what arch do you run ASPseek?

Jens Thoms Toerring wrote:
> Hi,
>
> after finally having got index to run I now have a problem with
> searchd which I am not able to solve myself. When I do a search
> on more than a single word, searchd gets into an infinite loop.
> By attaching with a debugger I found that this happens in the function
>
> ULONG AndResults( int size, ULONG* sizes, BYTE** buffers, BYTE** ebuffers,
> ULONG** urls, BYTE*& p_buf, WORD* dist )
>
> in search.cpp. The conditions to get out of the loop in this function
> is never satisfied. Unfortunately, there is too much strange stuff
> going one there, i.e.
>
> do
> {
>
> ....
>
> for ( i = 0, purl = urls; i < size; purl++, i++ )
> {
> // Advance pointer until value of UR ID will be greater
> // or equal to maximal
>
> while ( **purl < maxurl )
> {
> ( WORD * & ) *purl += ( ( WORD * ) ( *purl ) )[ 3 ] + 4;
> if ( ( BYTE * ) *purl >= ebuf[ i ] )
> goto end; // Buffer end detected
> }
> }
> }
>
> } while ( true );
>
> end:
>
> so that I have no idea what I have to change to get it to work. Can
> you help me here?
> Regards, Jens

-- 
== kir_at_asplinux.ru = 7551596_at_ICQ = 6722750_at_sms.beemail.ru ==
I am signature virus. Copy me to your ~/.signature to help me spread.







Hosted Email Solutions

Invaluement Anti-Spam DNSBLs



Powered By FreeBSD   Powered By FreeBSD