Hi all!

My OS: Redhat 7.1 on Pentium with 128Mb
Software: MnoGoSearch 3.2.3, mysql 3.23.46

During testing MnoGoSearch I got some problem.
As I understand this due protocol mis-correspondence
between searchd and search.cgi.

My problem is: the search.cgi don't respond (freezes forever)
then query should give a non-empty reply having searchd switched on.
Then the query give a zero result, it displays correctly.

search.htm:
DBAddr        mysql://login:passowrd@localhost/mnoGoSearch/
DBMode  cache
LocalCharset   koi8-r
BrowserCharset koi8-r
StoredAddr localhost:7003

(others are defaults)

searchd.htm:
Listen 7003
DBAddr        mysql://login:passowrd@localhost/mnoGoSearch/
DBMode  cache
LocalCharset   koi8-r

(other commented out)

The bug looks this.
I submit a search form, get the first match and wait forever.
The last lines I receives from search.cgi:
---
# ./search.cgi america
...
<b>1.</b> <a href="http://ahome/America1/outside.htm"; TARGET="_blank"><b>������ 
�������������� ���� �� ��������� ���</b></a> [<b>302055424</b>]<DD>
[ ������� ]  [ ������������ ]  [ ������������ ]  [ ���.������� ]  [ ������ �������  ]  
[ ���.���� ��� ��� ]  [ ���.������ � ��� ]  [ ��������� ]  [ &quot;���� ����&quot; ]  
[ ���������� ���.������� ]  [ ������� ] [ ���������� ]  [ ����� ���������� ]  [ 
&quot;�������� ��...<BR>
<UL>
<li><A HREF="http://ahome/America1/outside.htm"; 
TARGET="_blank">http://ahome/America1/outside.h...</A> (text/html) Mon, 11 Jun 2001 
23:50:40 GMT, 53106 bytes <BR>

</UL>
</DL>
---
The searchd writes:
---
searchd[2369]: Connect 127.0.0.1
searchd[2369]: Allow by default
searchd[2372]: Received header cmd=3 len=35
searchd[2372]: Received words len=35 
words='q=america&BrowserCharset=koi8-r&IP='searchd[2372]: Query: america [Charset: 
koi8-r]
Start UdmFindCache('america')
Reading limits...                   Done (0.00)
Reading .wrd files (1 words)...     Done (0.00)
Merging (1 groups, 47 urls)...      Done (0.00) nwrd=47 nwrd1=47
Grouping by url_id...               Done (0.00)
Stop UdmFindCache() - 0.01
searchd[2372]: Sent total_found packet 22 bytes buf='Total_found=45'
searchd[2372]: Sent withoffset packet 8 bytes
searchd[2372]: Sent wordinfo packet 21 bytes
searchd[2372]: Sent WWL packet 79 bytes cmd=8 len=71 nwords=1
searchd[2372]: Sent words packet 368 bytes cmd=3 len=360 nwords=45
searchd[2372]: Waiting for command header
searchd[2372]: Received header cmd=5 len=80
searchd[2372]: Received DOCINFO command len=80 ndocs=20
searchd[2372]: Sent doc_info packet 10820 bytes
searchd[2369]: Connect 127.0.0.1
searchd[2369]: Allow by default
searchd[2372]: Waiting for command header
searchd[2372]: Received header cmd=6 len=4
searchd[2372]: Received Clones request for crc32=-1875626605
searchd[2372]: Sent clones packet 16 bytes cmd=3 len=8 nclones=1
searchd[2372]: Waiting for command header
searchd[2374]: Waiting for command header
searchd[2372]: Received header cmd=5 len=4
searchd[2372]: Received DOCINFO command len=4 ndocs=1
searchd[2372]: Sent doc_info packet 637 bytes
searchd[2372]: Waiting for command header
---
a here it waiting, waiting, waiting...

Here also some tracing. That the search.cgi want to:
---
...
2397  socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
2397  connect(4, {sin_family=AF_INET, sin_port=htons(7003), 
sin_addr=inet_addr("127.0.0.1")}}, 16) = 0
2397  send(4, "F", 1, 0)                = 1
...                                             (1)
2397  send(4, "icy\242", 4, 0)          = 4
2397  recv(4,                                   (2)
---
(1) - here we already go http output
(2) - here we hang until timeout

At this time the searchd:
---
2409  send(3, "<190>Jan  4 02:48:32 searchd[240"..., 63, 0) = 63
2409  send(3, "<190>Jan  4 02:48:32 searchd[240"..., 74, 0) = 74
2409  recv(5, "]\0\0\0", 4, 0)          = 4
2409  send(5, "\5\0\0\0u\2\0\0", 8, 0)  = 8
2409  send(5, "DI=93\tDU=http://ahome/A";..., 629, 0) = 629
2409  send(3, "<190>Jan  4 02:48:32 searchd[240"..., 66, 0) = 66
2409  send(3, "<190>Jan  4 02:48:32 searchd[240"..., 62, 0) = 62
2409  recv(5,  <unfinished ...>                         
2411  <... recv resumed> "icy\242", 8, 0) = 4           (1)
2411  recv(5, "", 8, 0)                 = 0             (2)
---
(1) - we've got the shit, the search.cgi sent us
(2) - here we'll wait infinitely

So, that we got? Two processes are reading from the same socket.
Not nice.

Then I switch off the searchd in search.htm all works fine,
but the performance of the search with ispell things is very bad.

Could anyone help me to find out, what is wrong? May be this is a bug?

--Anton


___________________________________________
If you want to unsubscribe send "unsubscribe general"
to [EMAIL PROTECTED]

Reply via email to