Project

General

Profile

Actions

Bug #1853

closed

NccStrategy crash

Added by Alex Afanasyev over 9 years ago. Updated over 9 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.

Actions #1

Updated by Alex Afanasyev over 9 years ago

  • Description updated (diff)
Actions #2

Updated by Alex Afanasyev over 9 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.

Actions #3

Updated by Junxiao Shi over 9 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.

Actions #4

Updated by Junxiao Shi over 9 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.

Actions #5

Updated by Alex Afanasyev over 9 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF