Skip to content

Commit 9905d57

Browse files
[CRITICAL BUG] Fix sample result destructor (hotfix) (rapidsai#5306)
Addresses a severe memory leak in sampling caused by a bug in the C API. The destructor for the sample result object was not properly updated to cover additional fields that were added later. This resulted in these fields never being cleaned up, and eventually to an OOM error.
1 parent a55efd2 commit 9905d57

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

cpp/src/c_api/sampling_result.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,16 +543,23 @@ extern "C" cugraph_error_code_t cugraph_test_sample_result_create(
543543
extern "C" void cugraph_sample_result_free(cugraph_sample_result_t* result)
544544
{
545545
auto internal_pointer = reinterpret_cast<cugraph::c_api::cugraph_sample_result_t*>(result);
546+
546547
delete internal_pointer->major_offsets_;
547548
delete internal_pointer->majors_;
548549
delete internal_pointer->minors_;
549550
delete internal_pointer->edge_id_;
550551
delete internal_pointer->edge_type_;
551552
delete internal_pointer->wgt_;
553+
delete internal_pointer->edge_start_time_;
554+
delete internal_pointer->edge_end_time_;
552555
delete internal_pointer->hop_;
553556
delete internal_pointer->label_hop_offsets_;
557+
delete internal_pointer->label_type_hop_offsets_;
554558
delete internal_pointer->label_;
555559
delete internal_pointer->renumber_map_;
556560
delete internal_pointer->renumber_map_offsets_;
561+
delete internal_pointer->edge_renumber_map_;
562+
delete internal_pointer->edge_renumber_map_offsets_;
563+
557564
delete internal_pointer;
558565
}

0 commit comments

Comments
 (0)