lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject Re: [lucy-user] Remote SearchServer and PolySearcher(SearchClient) usage
Date Mon, 31 Oct 2011 16:22:39 GMT
On Mon, Oct 31, 2011 at 05:48:44PM +0200, goran kent wrote:
> This worked to the extent that search results are now displayed by the
> SearchClient, but the SearchServer still dies with the same errors...
> what else can I do to help you narrow it down?

SearchServer is written in pure Perl.  There is something amiss with the socket
read, but I'm not sure what.  Here is the first warning message you saw:

    Use of uninitialized value $method in chomp at /Users/marvin/projects/lucysvn/perl/blib/lib/LucyX/Remote/SearchServer.pm
line 105, <GEN2> line 5.

This is the relevant section, with the last line's chomp triggering the
warning:

    my $read_set  = IO::Select->new($main_sock);

    while ( my @ready = $read_set->can_read ) {
        for my $readhandle (@ready) {
            # If this is the main handle, we have a new client, so accept.
            if ( $readhandle == $main_sock ) {

            ...

            # Otherwise it's a client sock, so process the request.
            else {
                my $client_sock = $readhandle;
                my ( $check_val, $buf, $len, $method, $args );
                chomp( $method = <$client_sock> );

So apparently we have an IO::Select object that thinks it's ready to read, but
when we read from it, we don't get anything.

I'm not sure how to duplicate this locally.

Just asking, but have you tried restarting the server?

Marvin Humphrey


Mime
View raw message