[Xapian-tickets] [Xapian] #675: Exception in [Chert/Glass]Cursor::find_entry()

Xapian nobody at xapian.org
Fri Apr 24 20:24:22 BST 2015


#675: Exception in [Chert/Glass]Cursor::find_entry()
--------------------+-------------------------
 Reporter:  Kronuz  |             Owner:  olly
     Type:  defect  |            Status:  new
 Priority:  high    |         Milestone:
Component:  Other   |           Version:
 Severity:  normal  |        Resolution:
 Keywords:          |        Blocked By:
 Blocking:          |  Operating System:  All
--------------------+-------------------------

Comment (by Kronuz):

 `ChertTable::open()` closes the table, which frees `C[j].p` and maybe
 (when it's lazy) `do_open_to_read()` doesn't create memory for those, yet
 returns true. Then later, when `ChertTable::find` is called, it uses
 `C_[j].p` but its memory doesn't exist as it has already been freed.

 Maybe `ChertTable::do_open_to_read` should always initialize the `C`
 cursor when returning true? (or even maybe always?)... also, the same
 might apply to `ChertTable::do_open_to_write` as well.

--
Ticket URL: <http://trac.xapian.org/ticket/675#comment:2>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list