Project

General

Profile

Actions

Bug #1344

closed

TcpChannel::handleSuccessfulConnect is called before connected

Added by Junxiao Shi almost 11 years ago. Updated almost 11 years ago.

Status:
Closed
Priority:
High
Category:
Faces
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

NFD version: 86fce8ea6e66bdf47ca6469470ed0aa212bbf6e4

Steps to reproduce:

  1. start NFD on hostA, listen on TCP port 6363
  2. start NFD on hostB, connect via TCP to hostA:6363

Expected: face established

Actual: exception on hostB thrown from `TcpChannel::handleSuccessfulConnect line 205

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
  what():  remote_endpoint: Transport endpoint is not connected
Actions #1

Updated by Junxiao Shi almost 11 years ago

  • Tracker changed from Task to Bug
Actions #2

Updated by Alex Afanasyev almost 11 years ago

I cannot confirm this but in my set up. I have Ubuntu 13.10 Linux VM running server

cawka@cawka-virtual-machine:~/NFD$ sudo NFD_LOG=all ./build/nfd 
DEBUG: [NameTree] lookup /
DEBUG: [NameTree] insert /
DEBUG: [NameTree] Name / hash value = 2654435816  location = 488
DEBUG: [NameTree] Did not find /, need to insert it to the table
INFO: [StrategyChoice] setDefaultStrategy(/localhost/nfd/strategy/best-route) new entry
DEBUG: [TcpFactory] Channel [0.0.0.0:6363] created
DEBUG: [FaceUri] URI [internal://] parsed into: internal, , , 
INFO: [FaceTable] addFace id=1
INFO: [InternalFace] registering callback for /localhost/nfd/fib
INFO: [InternalFace] registering callback for /localhost/nfd/control-header
DEBUG: [NameTree] lookup /localhost/nfd
DEBUG: [NameTree] insert /
DEBUG: [NameTree] Name / hash value = 2654435816  location = 488
DEBUG: [NameTree] insert /localhost
DEBUG: [NameTree] Name /localhost hash value = 705767655  location = 231
DEBUG: [NameTree] Did not find /localhost, need to insert it to the table
DEBUG: [NameTree] insert /localhost/nfd
DEBUG: [NameTree] Name /localhost/nfd hash value = 463922990  location = 814
DEBUG: [NameTree] Did not find /localhost/nfd, need to insert it to the table
...
DEBUG: [TcpChannel] [0.0.0.0:6363] << Connection from 192.168.199.1:60434
INFO: [FaceTable] addFace id=2

10.9 OSX client

cawka@cawka-mac NFD (1344-tcp-bug)]$ sudo NFD_LOG=all ./build/nfd --tcp-connect "192.168.199.172:6363" --prefix /hello/world
DEBUG: [NameTree] lookup /
DEBUG: [NameTree] insert /
DEBUG: [NameTree] Name / hash value = 2654435816  location = 488
DEBUG: [NameTree] Did not find /, need to insert it to the table
INFO: [StrategyChoice] setDefaultStrategy(/localhost/nfd/strategy/best-route) new entry
DEBUG: [TcpFactory] Channel [0.0.0.0:6363] created
DEBUG: [FaceUri] URI [internal://] parsed into: internal, , ,
INFO: [FaceTable] addFace id=1
INFO: [InternalFace] registering callback for /localhost/nfd/fib
INFO: [InternalFace] registering callback for /localhost/nfd/control-header
DEBUG: [NameTree] lookup /localhost/nfd
DEBUG: [NameTree] insert /
DEBUG: [NameTree] Name / hash value = 2654435816  location = 488
DEBUG: [NameTree] insert /localhost
DEBUG: [NameTree] Name /localhost hash value = 705767655  location = 231
DEBUG: [NameTree] Did not find /localhost, need to insert it to the table
DEBUG: [NameTree] insert /localhost/nfd
DEBUG: [NameTree] Name /localhost/nfd hash value = 463922990  location = 814
DEBUG: [NameTree] Did not find /localhost/nfd, need to insert it to the table
DEBUG: [TcpChannel] [0.0.0.0:6363] >> Connection to 192.168.199.172:6363
INFO: [FaceTable] addFace id=2
DEBUG: [NameTree] lookup /hello/world
DEBUG: [NameTree] insert /
DEBUG: [NameTree] Name / hash value = 2654435816  location = 488
DEBUG: [NameTree] insert /hello
DEBUG: [NameTree] Name /hello hash value = 688890650  location = 794
DEBUG: [NameTree] Did not find /hello, need to insert it to the table
DEBUG: [NameTree] insert /hello/world
DEBUG: [NameTree] Name /hello/world hash value = 108674102  location = 54
DEBUG: [NameTree] Did not find /hello/world, need to insert it to the table

Did you reproduce the problem when running on two separate machines (non-trivial RTT)?

Actions #3

Updated by Alex Afanasyev almost 11 years ago

  • Status changed from New to Code review

Was able to confirm the bug for connection between Ubuntu 12.04 (client) and FreeBSD (9.0). Small patch (soon to be on gerrit) seem to fix the problem.

Actions #4

Updated by Alex Afanasyev almost 11 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF