Stephen R. van den Berg wrote:
Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
Not really; what does happen is that execution may return to a stack frame in an object that has been destructed.
Hmmm, ok. That would mean that a pikefun cannot be called after the object has been destructed.
I agree with tobi; the Stdio.Buffer code probably does something unusual.
The unusual part is most likely outside of Stdio.Buffer. At various spots in the code we call io_*() functions directly to manipulate Buffer objects. At least one of those spots is calling some of the PIKEFUNs after the object has been destructed.
Come to think of it, that might be the Shuffler code. We use callbacks there, and the callbacks are PIKEFUNs, I believe.
One thing I can confirm though, the destruct-guards I put in place now work and solve the coredump problems. Normally I would have gathered at least six coredumps in 24 hours.