Open shangsony opened 3 years ago
insert following code in leveldb-rs\src\skipmap.rs
do not forget use std::rc::Rc;
impl Drop for Node {
fn drop(&mut self) {
// large object should drop
if let Some(mut next) = self.next.take() {
while let Some(child) = next.next.take() {
next = child;
}
}
unsafe {
for skip in self.skips.iter_mut() {
if let Some(mut next) = skip.take() {
while let Some(child) = (*next).next.take() {
next = Box::into_raw(child);
}
}
}
}
}
}
can you confirm that #10 fixes this issue?
Exception 0xc00000fd encountered at address 0x7ff792ced999: Stack overflow,