Project

General

Profile

Actions

Bug #2590

open

NameServer/UpdateValidatorFetchCert incorrect usage of Signal

Added by Junxiao Shi about 9 years ago. Updated about 9 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
02/28/2015
Due date:
% Done:

0%

Estimated time:

Description

Steps to reproduce:

  1. compile ndn-cxx in debug mode, and install
  2. compile ndns in debug mode with unit tests
  3. run unit tests

Expected: no error

Actual:

Entering test case "UpdateValidatorFetchCert"
04:41:11 INFO DbMgr - open database: build/conf-test/test-ndns.db
04:41:11 INFO TestFakeData - save test root cert /test19/KEY/ksk-1425184871342/ID-CERT/%FD%00%00%01K%D3%A3S%F1 to: build/conf-test/anchors/root.cert
04:41:11 INFO TestFakeData - insert testing data: OK
04:41:11 INFO NameServer - Zone: /test19 binds Prefix: /test19/NDNS and /test19/KEY with Certificate: /test19/KEY/ksk-1425184871342/ID-CERT/%FD%00%00%01K%D3%A3S%F1
***** Internal Program Error - assertion (!m_isExecuting) failed in void ndn::util::signal::Signal<Owner, TArgs>::operator()(const TArgs& ...) [with Owner = ndn::util::DummyClientFace::Transport, TArgs = {ndn::Block}]:
../src/util/signal-signal.hpp(215): cannot emit signal from a handler
unknown location(0): fatal error in "UpdateValidatorFetchCert": signal: SIGABRT (application abort requested)
../tests/unit/database-test-data.cpp(142): last checkpoint
Leaving test case "UpdateValidatorFetchCert"; testing time: 260ms
Actions #1

Updated by Junxiao Shi about 9 years ago

Validator/Basic test case seems to have same issue.

This Bug is NOT introduced by ndn-cxx update. Signal<..>::operator() has the assertion since the beginning.

ndns Jenkins script builds ndn-cxx in release mode so this Bug isn't discovered on Jenkins.

Actions #2

Updated by Shock Jiang about 9 years ago

I wonder what the differences by compiling ndns/ndn-cxx in debug and release mode.

Actions #3

Updated by Alex Afanasyev about 9 years ago

Debug mode executes assertions that ensure correctness. In release mode, assertions are not executed and app can crash at some random places.

Actions

Also available in: Atom PDF