Project

General

Profile

Bug #1853

NccStrategy crash

Added by Alex Afanasyev about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Forwarding
Target version:
Start date:
08/12/2014
Due date:
% Done:

100%

Estimated time:
2.00 h

Description

I noticed that NFD crashed on spurs with the following error:

nfd: /usr/include/boost/random/uniform_int_distribution.hpp:318: boost::random::niform_int_distribution<IntType>::uniform_int_distribution(IntType, IntType) [with IntType = long long int]:
Assertion `min_arg <= max_arg' failed.

NccStrategy can cause this crash if an Interest is forwarded to the best face, and the FIB entry gains a new nexthop before doPropagate executes.

History

#1 Updated by Alex Afanasyev about 5 years ago

  • Description updated (diff)

#2 Updated by Alex Afanasyev about 5 years ago

From my observations: if between afterReceiveInterest and delayed doPropagate FIB entry changes from 1 to multiple nexthops, line 146 would cause the error, since pitEntryInfo->maxInterval would be zero.

#3 Updated by Junxiao Shi about 5 years ago

  • Status changed from New to In Progress
  • Estimated time set to 2.00 h

I agree to the hypothesis in note-2 and will make a fix.

#4 Updated by Junxiao Shi about 5 years ago

  • Subject changed from NFD crashed on spurs to NccStrategy crash
  • Description updated (diff)
  • Status changed from In Progress to Code review
  • % Done changed from 0 to 100

I'm able to make a test case that reproduce the bug.

The crash is almost definitely caused by NccStrategy, because this is the only place in NFD or ndn-cxx that calls uniform_int_distribution's two-argument constructor.

#5 Updated by Alex Afanasyev about 5 years ago

  • Status changed from Code review to Closed

Also available in: Atom PDF