[Xapian-discuss] Perl binding: crash & missing functions?

Sander Pilon sander@pilon.com
Tue, 4 May 2004 22:01:33 +0200


 

> -----Original Message-----
> From: xapian-discuss-admin@lists.xapian.org 
> [mailto:xapian-discuss-admin@lists.xapian.org] On Behalf Of Olly Betts
> Sent: Tuesday, May 04, 2004 15:31
> To: Sander Pilon
> Cc: xapian-discuss@lists.xapian.org
> Subject: Re: [Xapian-discuss] Perl binding: crash & missing functions?
> 
> On Sun, May 02, 2004 at 07:00:37PM +0200, Sander Pilon wrote:
> > I've been playing with Xapian the last few days, and I got a few 
> > problems with Perl.
> > 
> > First of all, when I add +/- 6000 documents (small ones, avg. less 
> > then 200
> > words) it crashes. 
> 
> This should work - I've added millions of documents in a 
> single run from C++ and never had a crash.
> 

I have no doubt this should work :) 

> > (It justs quits with "Aborted".)
> 
> There are a couple of abort()s in the code - in cases like 
> "this should never happen" buffer overflows.  

You know what they say.... "Expect the unexpected!".

> You might be seeing an exception which the perl bindings aren't catching, 
> though it's odd that the problem goes away with smaller batches.
> 
> I think we need to see a full example indexing script (and 
> any sample data) to be able to track this down.

See my other mail...

> 
> > The problem is that the Perl binding doesn't seem to support 
> > set_collapse_key and set_sort_key. I can call them (without errors) 
> > but they don't seem to do anything.
> 
> These methods aren't currently wrapped.  It's not hard to add 
> though, and Alex is working on the Perl bindings this week so 
> this should be fixed soon.

Hurray!

> 
> I'm suprised you don't get an error - it's bad if someone can 
> misspell a method name and not be told.  Do you still get no 
> warning or error with "perl -w" and "use strict"?

I did use "use strict", I haven't tested with -w. That's probably my
mistake,
My perl is rusty at best. (But because parsing and indexing those articles 
Relies heavily on regexes (although simple), I decided to write my indexer
in perl.)

Regards,

Sander