vagetablechicken commented on issue #3871: URL: https://github.com/apache/incubator-doris/issues/3871#issuecomment-645144631
> ``` > The destructor call chain is as follows: > PlanFragmentExecutor > |--- RuntimeState > |--- RuntimeProfile > |--- ObjectPool > |--- NodeChannel > |--- RowBatch > |--- MemTracker->release() > |--- profile->_consumption->add(-bytes) > ``` > > Note that the RuntimeProfile will be first destructed in RuntimeState, which will cause the `_consumption` object that has been destructed to be called when destructing the RowBatch in the NodeChannel, which will eventually cause BE crash. > MemTracker is created by https://github.com/apache/incubator-doris/blob/c6f2b5ef0df61902360a3f3fcdfc00a6fff86dfe/be/src/exec/tablet_sink.cpp#L461 Is the OlapTableSink::_mem_tracker related to RuntimeState::_profile? I think the RuntimeState::_instance_mem_tracker is relevant. Because it's OlapTableSink::_mem_tracker's parent. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org