Project

General

Profile

Bug #2564

Memory access violation in NameTree test suite

Added by Alex Afanasyev over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
High
Category:
Tables
Target version:
Start date:
02/25/2015
Due date:
% Done:

100%

Estimated time:

Description

I think one of the recent commits to nfd or ndn-cxx introduced a problem. At least, test cases are now consistently failing on all platforms:

[Exception] - memory access violation at address: 0x00001050: no mapping at fault address
 == [File] - ../tests/daemon/table/name-tree.t.cpp
 == [Line] - 278

History

#1 Updated by Junxiao Shi over 4 years ago

  • Subject changed from Memory access violation somewhere to Memory access violation in NameTree test suite
  • Assignee changed from Junxiao Shi to Haowei Yuan

Reassigning to @Haowei, author of NameTree.

#2 Updated by Davide Pesavento over 4 years ago

What do you mean "consistently failing on all platforms"? How did it get past CI?

#3 Updated by Junxiao Shi over 4 years ago

One possible sequence is:

  1. NFD passes CI
  2. ndn-cxx Change that breaks NFD is merged

#1948 would eliminate this problem.

#4 Updated by Junxiao Shi over 4 years ago

  • Description updated (diff)
  • Category set to Tables

#5 Updated by Alex Afanasyev over 4 years ago

  • Assignee changed from Haowei Yuan to Junxiao Shi

Junxiao, the issue is introduced by recently merged commits in ndn-cxx and/or NFD (I believe it is due to ndn-cxx commit, but I don't have proof). You authored both recent commits, so please take a look.

@Davide. Unfortunately, we don't have yet #1948 in place and merges in the library can have unexpected effects to other projects and are not yet capturable by CI.

#6 Updated by Junxiao Shi over 4 years ago

I can't reproduce this error on TravisCI https://travis-ci.org/yoursunny/ndn-cxx-breaks/jobs/52217073 or Jenkins http://jenkins.named-data.net/job/NFD/2572/.

If it needs a specific environment or configure line, please update Description (not Notes) to include that information.

#7 Updated by Alex Afanasyev over 4 years ago

  • Status changed from New to Resolved
  • Assignee changed from Junxiao Shi to Alex Afanasyev
  • % Done changed from 0 to 100

Apparently, it is a trivial problem in TableNameTree test suite. The issue is that with XML output we are requesting all log output. One of the test cases used BOOST_CHECK_MESSAGE in the following way:

BOOST_CHECK_MESSAGE(m_names.empty(), "excess Names including " << *m_names.begin());

When verbose log output is not enabled, nothing bad is happening (the message printed only when case fails). When verbose log is enabled, then the test case fails as we are attempting to dereference invalid iterator.

#8 Updated by Alex Afanasyev over 4 years ago

  • Status changed from Resolved to Code review

#9 Updated by Junxiao Shi over 4 years ago

  • Status changed from Code review to Closed

Also available in: Atom PDF