Something is weird with the length for the top_docs packet. In SearchServer::serve, ~line 106, the confess is chucking a null error because $check_val != $len, hence the meaningless error:
" at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/LucyX/Remote/SearchServer.pm line 106" In ClusterSearcher::_serialize_request for top_docs length($serialized)==6959, but SearchServer::serve is receiving length==2892. So, that's why SearchServer is failing. What's causing the short send (or receive, or pack/unpack not co-operating across machines) will hopefully soon be revealed. Suggested patch: - confess $! unless $check_val == $len; + confess "packet length mismatch: $!" unless $check_val == $len;
