diff --git a/src/shogun/features/streaming/StreamingDenseFeatures.cpp b/src/shogun/features/streaming/StreamingDenseFeatures.cpp index 1db8f72ac5a..279dece6a55 100644 --- a/src/shogun/features/streaming/StreamingDenseFeatures.cpp +++ b/src/shogun/features/streaming/StreamingDenseFeatures.cpp @@ -67,6 +67,8 @@ template void CStreamingDenseFeatures::reset_stream() if (seekable) { ((CStreamingFileFromDenseFeatures*)working_file)->reset_stream(); + if (parser.is_running()) + parser.end_parser(); parser.exit_parser(); parser.init(working_file, has_labels, 1); parser.set_free_vector_after_release(false); diff --git a/src/shogun/features/streaming/StreamingVwFeatures.cpp b/src/shogun/features/streaming/StreamingVwFeatures.cpp index 43a9c195f3a..9c00f9e1a23 100644 --- a/src/shogun/features/streaming/StreamingVwFeatures.cpp +++ b/src/shogun/features/streaming/StreamingVwFeatures.cpp @@ -66,6 +66,8 @@ void CStreamingVwFeatures::reset_stream() if (working_file->is_seekable()) { working_file->reset_stream(); + if (parser.is_running()) + parser.end_parser(); parser.exit_parser(); parser.init(working_file, has_labels, parser.get_ring_size()); parser.set_free_vector_after_release(false);