Hi everybody, to continue the discussion in : right now this  can happen and the sliced buffer has no way to foresee or to check against it beforehand.
I'd suggest to create a new class SlicedBuffer, which would reference the parent buffer and return it's data() pointer, insted of grabbing the pointer at creation. We can the parent reference a weak pointer, so the existing SliceBuffers don't prevent the deallocation (or maybe even have a separate WeakSliceBuffer class). It would also make the mentioned PR way safer to merge, in my opinion. Cheers, Dimitri. : https://github.com/apache/arrow/pull/1769 : https://gist.github.com/alendit/f759bc12e03d9dd9d72cac90a6334cc5