Skip to content

[ML] Crash in CEventRateModelDetailsView::dataTimeInterval #1401

@droberts195

Description

@droberts195

A user saw autodetect crash with the following error message:

Datafeed is encountering errors submitting data for analysis: [kubernetes-app-log-rate-detector] Unexpected death of autodetect: Fatal error: 'si_signo 11, si_code: 1, si_errno: 0, address: 0x7fd9478c8a9a, library: /elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/../lib/libMlModel.so, base: 0x7fd947556000, normalized address: 0x372a9a', version: 7.6.2 (build e06ef9d86d5332) 

Looking at which function this was in shows the following:

bash$ objdump -T libMlModel.so | grep '^0000000000372a' | sort 0000000000372a20 g DF .text 0000000000000005 Base _ZNK2ml5model26CEventRateModelDetailsView4baseEv 0000000000372a30 g DF .text 0000000000000009 Base _ZNK2ml5model26CEventRateModelDetailsView18countVarianceScaleENS_7model_t8EFeatureEml 0000000000372a30 g DF .text 0000000000000009 Base _ZNK2ml5model36CEventRatePopulationModelDetailsView18countVarianceScaleENS_7model_t8EFeatureEml 0000000000372a40 g DF .text 0000000000000005 Base _ZNK2ml5model36CEventRatePopulationModelDetailsView4baseEv 0000000000372a50 g DF .text 0000000000000005 Base _ZNK2ml5model23CMetricModelDetailsView4baseEv 0000000000372a60 g DF .text 0000000000000005 Base _ZNK2ml5model33CMetricPopulationModelDetailsView4baseEv 0000000000372a70 g DF .text 000000000000004e Base _ZNK2ml5model26CEventRateModelDetailsView16dataTimeIntervalEm 0000000000372ac0 g DF .text 000000000000004e Base _ZNK2ml5model23CMetricModelDetailsView16dataTimeIntervalEm bash$ c++filt _ZNK2ml5model26CEventRateModelDetailsView16dataTimeIntervalEm ml::model::CEventRateModelDetailsView::dataTimeInterval(unsigned long) const 

That method is small:

CEventRateModelDetailsView::TTimeTimePr CEventRateModelDetailsView::dataTimeInterval(std::size_t byFieldId) const { return {m_Model->firstBucketTimes()[byFieldId], m_Model->lastBucketTimes()[byFieldId]}; } 

The only possibilities are:

  1. m_Model was nullptr
  2. byFieldId was out of range for the lastBucketTimes() vector

The second possibility is most likely.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions