Actions
Bug #1419
closedBroadcastStrategy invokes Pit::erase twice for Interests handled by InternalFace
Start date:
03/27/2014
Due date:
% Done:
100%
Estimated time:
Description
can be reproduced by:
$sudo env NFD_LOG=all build/nfd --conf nfd.conf
$build/bin/nfdc set-strategy ndn:/ ndn:/localhost/nfd/strategy/broadcast
$build/bin/nfd-status
nfd latest output upon nfd-status:
DEBUG: [ContentStore] Layer 0 /localhost/nfd/faces/events/%03/%C0%26%90%C8Q%A99%C55%3A%95%5CcA%3A%04%E7L%FD%C8%5D%5E%3D%92%DA%1C%8C%0B%83%BA%8A%01
DEBUG: [ContentStore] Layer 0 /localhost/nfd/faces/events/%04/%11%F9D%3D%1A%CC%FE%07.%60v%07%84%EC%94%A2%E351%92%F6%CC%808%96%0E%19%5B9%B1%11v
DEBUG: [ContentStore] Layer 0 /localhost/nfd/faces/events/%05/%87UD%D0f%87%05%B2%D9%86%3E%D5%3B%C4%15MM%E6%A6%09%02e%A3%C0%C9%D3%04%9D%92D%EA%D9
DEBUG: [ContentStore] Layer 0 /localhost/nfd/faces/events/%06/n%D4%DEgL%CF%19%1C%AF%DD%9C7%D0Q%8B%87%18P%BD%F4%0C%A9S%04%5EJ%E1%90%B3%2C%11%D8
DEBUG: [ContentStore] Layer 0 /localhost/nfd/faces/events/%07/%F2%8A%08%E9%E3%3D%CA-%EB%0D%C5%C7%DE%97%DD%C8%DB9%08%B04I%93%86DF%C6%B1%88ys%87
DEBUG: [ContentStore] Layer 0 /localhost/nfd/status/%00%00%01E%06%A5%F3%3B/%00/%D8o%BE%E2%A8%9D%A36H%90%09%D3u%28%16%5E%BBd%8B%FC%97%40%9A%2C24PK%C9WB%05
DEBUG: [ContentStore] Layer 0 /localhost/nfd/strategy-choice/set/h+%07%00k%27%07%25%08%09localhost%08%03nfd%08%08strategy%08%09broadcast/%00%00%01E%06%A3%F8%09/%CA%C3eUj8%DC%FE/%163%1B%01%01%1C.%07%2C%08%03tmp%08%04hila%08%03KEY%08%11ksk-1395870553073%08%07ID- CERT/%17%FD%01%00%A2%D1%EE%BB%9B%89_%9De%86%9Er%8B%0CT%AD%1F%B0%F5%D7%13sHH%A2k%40%A9%F8%A6%89b%CD%82%B7%F6Z%9E%C8%FB%BA%AE%FC%F5%96%B7y%0AT%15%F6%D8r%9CzQ%B5%BE%08%99%11%EB%96.%EF%8E%B7A%83%17%24%EF%9CK%94%EC%CA%E0%1B%A9%DB%A5%18es_%E1%15%AC%F6%E3akx%D9%A8%18%9D%B10%FEY%E3%98g%3C%97d%B0%98%FE%27L%23%9E%26%02%CAY%10%95%0F%D6%87%E5%20%E4%E1fd%19%20%84%2A%D8.%1AE%09%FCU%DD%87%8B%E0k%1Ae%82%FE%82%82%C7%DD%3A%7B%CF%B6%27%EF%F6%C9o%2A9%8F%E7%1F%DB%C3%D9g5F3%3F%5D%F7%07l%BD%40A%DB%0E%9D%B8%105%8FWQ%1Fr%3E7%C2%91he%0E%B9%F20%C88%E0%C8%AD%D6%1B%81R%24%CC%1D%3B%C9%C4%9A2c%7B%08%E8%B2dA%E2%E2%D4%03-%EFd%3E2q%F7i_X%0EU%98%07%99%A0%8C%D1%7D%F0%1CO%85%89/%E61%BD%40%9A%24H3E%CD%8E.%E9%FB%F7%CA%60%0F2%95%93%A3%9F%EA%E2%D1%C6%9B%9C%16%0A%C5
DEBUG: [Forwarder] onDataUnsolicited face=1 data=/localhost/nfd/faces/events/%07 cached
INFO: [FaceTable] removeFace id=7
DEBUG: [NameTree] fullEnumerate
DEBUG: [NameTree] const_iterator::operator++()
DEBUG: [NameTree] findExactMatch /localhost/nfd/status
DEBUG: [NameTree] Name /localhost/nfd/status hash value = 2665123231 location = 415
DEBUG: [NameTree] eraseEntryIfEmpty /localhost/nfd/status
DEBUG: [NameTree] eraseEntryIfEmpty /localhost/nfd
DEBUG: [NameTree] findExactMatch /localhost/nfd/status
DEBUG: [NameTree] Name /localhost/nfd/status hash value = 2665123231 location = 415
nfd: ../daemon/table/pit.cpp:110: void nfd::Pit::erase(boost::shared_ptr<nfd::pit::Entry>): Assertion `static_cast<bool>(nameTreeEntry)' failed.
Updated by Hila Ben Abraham over 10 years ago
- Subject changed from nfd-status cause nfd to crash after setting broadcast strategy to ndn:/ namespace to nfd-status causes nfd to crash after setting broadcast strategy to ndn:/ namespace
Updated by Junxiao Shi over 10 years ago
- Subject changed from nfd-status causes nfd to crash after setting broadcast strategy to ndn:/ namespace to BroadcastStrategy invokes Pit::erase twice for Interests handled by InternalFace
- Category set to Forwarding
- Assignee set to Junxiao Shi
- Target version set to v0.1
Confirmed.
Updated by Junxiao Shi over 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
This has something to do with timers.
Since the problem occurs for InternalFace only, I'm changing InternalFace to use io_service::post
, so that it holds the same property as other faces: incoming Data pipeline won't be called within incoming Interest pipeline.
Updated by Junxiao Shi over 10 years ago
@Hila should verify the bug is resolved, and close this issue.
Actions