Skip to content

Infinite loop if trace is too short in time #18

@Axel-Reactor

Description

@Axel-Reactor

For very short traces, TimelineModel::UpdateMemoryGraph sets bucket_step to <1:
double bucket_step = duration / (double)kNumBuckets;

This then gets cast into an uint64_t and truncated to just 0 when passed to RmtDataTimelineCreateHistogram which then asserts:
RMT_ASSERT_MESSAGE(bucket_width_in_rmt_cycles > 0, "Parameter bucketWidthInCycles must be larger than 0 cycles.");

And then later CreateHistogramJob just loops forever here:
for (int32_t current_series_index = 0; current_series_index < input_parameters->timeline->series_count; ++current_series_index)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions