[Xapian-discuss] Search::Xapian::WritableDatabase SIGABRT?
Eric Parusel
eparusel at creativens.com
Mon Dec 6 21:49:53 GMT 2004
Hello,
On certain xapian dbs (my two largest ones, hrm) I cannot
write data to them anymore, without my import perl script aborting...
Searches on both these dbs seemingly work fine.
Size of files in each of those db's: (z-2004, and t-2004 fails, the rest
work fine)
844M i-2004
877M g-2004
890M a-2004
1.3G z-2004
4.5G t-2004
t-2004 file listing:
0 Dec 6 13:13 db_lock
10 Oct 27 14:40 meta
0 Oct 27 14:40 position_DB
17 Nov 29 23:13 position_baseA
17 Nov 29 22:58 position_baseB
2465808384 Nov 29 23:29 postlist_DB
37643 Nov 29 23:13 postlist_baseA
15122432 Nov 29 23:28 record_DB
223 Nov 29 23:13 record_baseA
2304335872 Nov 29 23:28 termlist_DB
35186 Nov 29 23:13 termlist_baseA
0 Oct 27 14:40 value_DB
17 Nov 29 23:13 value_baseA
17 Nov 29 22:58 value_baseB
Here is the perl script snippet where it crashes (notice that it's in an
eval{} block, to no avail)
The first print() is printed, the 2nd print() is not, it crashes before
it exits the eval block it seems.
==========================================================
# Open Xapian DB
print "\nTRY #" . $count . "\n";
eval {
$dbobject = Search::Xapian::WritableDatabase->new(
$xapian_db_path,
Search::Xapian::DB_CREATE_OR_OPEN);
};
print "Connected\n";
==========================================================
Once it "crashes" it leaves a db_lock file.
I can email the straces I took for both dbs, without db_lock and with
db_lock already present, if requested...
both states result in an abort.
Also, here is perl debugging output, it might be obvious, but it crashes
while on the $database = new1( @_ ); line, could it be an issue with
Search::Xapian?
I am currently using version 0.8.3.1 (confirmed by print
$Search::Xapian::VERSION).
==========================================================
main::open_xapian_db(ak.pl:450): print "\nTRY #" . $count .
"\n";
DB<1>
TRY #1
main::open_xapian_db(ak.pl:451): eval {
DB<1>
main::open_xapian_db(ak.pl:452): $dbobject =
Search::Xapian::WritableDatabase->new(
main::open_xapian_db(ak.pl:453):
$xapian_db_path,
main::open_xapian_db(ak.pl:454):
Search::Xapian::DB_CREATE_OR_OPEN);
DB<1>
Search::Xapian::DB_CREATE_OR_OPEN(/usr/local/lib/perl/5.6.1/Search/Xapian.pm:65535):
65535:
DB<1>
Search::Xapian::WritableDatabase::new(/usr/local/lib/perl/5.6.1/Search/Xapian/WritableDatabase.pm:37):
37: my $class = shift;
DB<1>
Search::Xapian::WritableDatabase::new(/usr/local/lib/perl/5.6.1/Search/Xapian/WritableDatabase.pm:38):
38: my $database;
DB<1>
Search::Xapian::WritableDatabase::new(/usr/local/lib/perl/5.6.1/Search/Xapian/WritableDatabase.pm:39):
39: my $invalid_args;
DB<1>
Search::Xapian::WritableDatabase::new(/usr/local/lib/perl/5.6.1/Search/Xapian/WritableDatabase.pm:40):
40: if( scalar(@_) == 1 ) {
DB<1>
Search::Xapian::WritableDatabase::new(/usr/local/lib/perl/5.6.1/Search/Xapian/WritableDatabase.pm:49):
49: $database = new1( @_ );
DB<1>
Aborted
==========================================================
Thanks for any help that can be offered,
Eric
More information about the Xapian-discuss
mailing list