[Xapian-discuss] empty FD after reopen since version 1.2.16

matthias lay matthias.lay at securepoint.de
Mon Apr 27 13:23:25 BST 2015


Hi all,



after upgrading xapian I encountered the same problem as described in
ticket
#645 Read block errors after reopen()

in our setup its 100% reproducible after each reopen(). I downgraded
again and it seems the problem occurs in Version 1.2.16 and above.
in <=1.2.15 everything works fine without seeing this error once.


attaches strace shows read ends on FD.

strace starts at reopen() call.
FDs are shown on bottom



Greetz Matze
-------------- next part --------------
[pid 27922] write(2, "DatabaseModifiedError: The revis"..., 134DatabaseModifiedError: The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation) = 134
[pid 27922] write(2, "\n", 1
)           = 1
[pid 27922] write(2, "type=", 5type=)        = 5
[pid 27922] write(2, "DatabaseModifiedError", 21DatabaseModifiedError) = 21
[pid 27922] write(2, "\n", 1
)           = 1
[pid 27922] write(2, "reopening database", 18reopening database) = 18
[pid 27922] write(2, "\n", 1
)           = 1
[pid 27922] close(10)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/record.DB", O_RDONLY|O_LARGEFILE) = 10
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/record.baseA", O_RDONLY|O_LARGEFILE) = 16
[pid 27922] read(16, "\4\5\200@\22\1\5\255\3%\0\0\4\377\376\377\357?\4", 1024) = 19
[pid 27922] read(16, "", 1005)          = 0
[pid 27922] close(16)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/record.baseB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] pread64(10, "\0\0\0\4\1\0362\0362\0Q\37\371\37\356\37\343\37\330\37\315\37\302\37\267\37\254\37\241\37\226\37"..., 8192, 147456) = 8192
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/spelling.DB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/synonym.DB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] close(11)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/termlist.DB", O_RDONLY|O_LARGEFILE) = 11
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/termlist.baseA", O_RDONLY|O_LARGEFILE) = 16
[pid 27922] read(16, "\4\5\200@&\1\n\332\6H\0\0\4\377\377\375\377\377\377\377\376\377\1\4", 1024) = 24
[pid 27922] read(16, "", 1000)          = 0
[pid 27922] close(16)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/termlist.baseB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] pread64(11, "\0\0\0\4\1\34a\34a\0\227\37\371\37\355\37\341\37\326\37\313\37\300\37\265\37\236\37\252\37\223\37"..., 8192, 311296) = 8192
[pid 27922] close(12)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/position.DB", O_RDONLY|O_LARGEFILE) = 12
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/position.baseA", O_RDONLY|O_LARGEFILE) = 16
[pid 27922] read(16, "\4\5\200@\32\1\6\315\226\1/\0\0\4\377\367\377\377\357\377\4", 1024) = 21
[pid 27922] read(16, "", 1003)          = 0
[pid 27922] close(16)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/position.baseB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] pread64(12, "\0\0\0\4\1\35[\35[\0e\37\371\37\355\37\341\37\325\37\311\37\274\37\257\37\242\37\224\37\210\37"..., 8192, 212992) = 8192
[pid 27922] close(13)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/postlist.DB", O_RDONLY|O_LARGEFILE) = 13
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/postlist.baseA", O_RDONLY|O_LARGEFILE) = 16
[pid 27922] read(16, "\4\5\200@?\1\"\237w\217\2\0\0\4\322\257\177\16\0\0\0\300\377\377\377\377\377\377\377\377\377\7"..., 1024) = 49
[pid 27922] read(16, "", 975)           = 0
[pid 27922] close(16)                   = 0
[pid 27922] open("/var/data/vmail/private/pdf/xapian.db/postlist.baseB", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 27922] pread64(13, "\0\0\0\4\1\26\30\26\30\1O\37\371\34?\27\343\37\241\37k\34\267\34W\34\25\33\254\33\202\33"..., 8192, 516096) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\1\\\10\252\0A\37\371\37\347\37\321\37\264\37\216\37\7\36\367\36\330\36\311\36\262\4"..., 8192, 507904) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\4\230\0051\0017\37\343\37\303\37\256\37\231\37\211\37v\37b\37N\37>\37'\37"..., 8192, 950272) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\1\\\10\252\0A\37\371\37\347\37\321\37\264\37\216\37\7\36\367\36\330\36\311\36\262\4"..., 8192, 507904) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\17\300\17\300\0\23\30#\17\323\20(\17\355\17\203\7W\5*\1w\1\5\0\25\10"..., 8192, 696320) = 8192
[pid 27922] pread64(13, "\0\0\0\1\0\17\304\17\304\0\21\30\5\27\271\17\325\n\311\0\35\3G\3G\1w\1w\3*\10"..., 8192, 73728) = 8192
[pid 27922] pread64(13, "\0\0\0\2\0\17\376\17\376\0\17\30\10\20\r\17\342\0170\n\236\0\35\4\3\1w\1w\3\346\10"..., 8192, 565248) = 8192
[pid 27922] pread64(13, "\0\0\0\3\0\17\371\17\371\0\21\37\325\27\360\20\n\10\17\7\345\0W\0W\1w\1w\3\346\10"..., 8192, 106496) = 8192
[pid 27922] pread64(13, "\0\0\0\3\0\17\320\17\320\0\21\30\5\27\333\17\341\1\204\0b\0b\0W\1w\1w\3\346\10"..., 8192, 163840) = 8192
[pid 27922] pread64(13, "\0\0\0\3\0\17\350\17\350\0\21\30\5\27\353\17\371\2\351\0)\0)\0W\1w\1w\3\346\10"..., 8192, 221184) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\17\274\17\274\0\21\30\5\27\310\17\315\4\256\0G\0G\0W\1w\1w\3\346\10"..., 8192, 704512) = 8192
[pid 27922] brk(0x813c000)              = 0x813c000
[pid 27922] pread64(13, "\0\0\0\4\0\20%\20%\0\17\30\24\0204\0\27\10T\2O\0G\0028\10\0\330\31\1\220\0"..., 8192, 794624) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\0\340\7\264\0\23\30\6\7\320\20&\0\363\2O\0G\0028\10\0\330\31\1\220\0"..., 8192, 884736) = 8192
[pid 27922] pread64(13, "\0\0\0\4\0\20\33\20\33\0\17\30\25\20*\10/\7\375\7\375\37'\3\373\10\0\330\v\1\5\0"..., 8192, 532480) = 8192
[pid 27922] pread64(13, "", 8192, 22960911941632) = 0
[pid 27922] write(2, "xapian Error in: ", 17xapian Error in: ) = 17
[pid 27922] write(2, "search_document", 15search_document) = 15
[pid 27922] write(2, "DatabaseError: Error reading blo"..., 62DatabaseError: Error reading block 2802845696: got end of file) = 62
[pid 27922] write(2, "\n", 1

**********************************************
root at vmuma:/var/data/src/dms# ll /proc/27922/fd
total 0K
dr-x------ 2 vmail http  0 Apr 15 11:00 .
dr-xr-xr-x 8 vmail http  0 Apr 15 11:00 ..
lrwx------ 1 vmail http 64 Apr 15 11:00 0 -> /dev/pts/0
lrwx------ 1 vmail http 64 Apr 15 11:00 1 -> /dev/pts/0
lr-x------ 1 vmail http 64 Apr 15 11:00 10 -> /var/data/vmail/private/pdf/xapian.db/record.DB
lr-x------ 1 vmail http 64 Apr 15 11:00 11 -> /var/data/vmail/private/pdf/xapian.db/termlist.DB
lr-x------ 1 vmail http 64 Apr 15 11:00 12 -> /var/data/vmail/private/pdf/xapian.db/position.DB
lr-x------ 1 vmail http 64 Apr 15 11:00 13 -> /var/data/vmail/private/pdf/xapian.db/postlist.DB
lrwx------ 1 vmail http 64 Apr 15 11:00 15 -> /dev/zero

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.xapian.org/pipermail/xapian-discuss/attachments/20150427/11530ac0/attachment.sig>


More information about the Xapian-discuss mailing list