Project

General

Profile

Actions

Bug #1736

closed

NFD crashes when face is added to a non-running nfd or when ICMP host prohibited message is returned

Added by susmit shannigrahi over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Category:
Faces
Target version:
Start date:
07/04/2014
Due date:
% Done:

100%

Estimated time:

Description

Tested this between a fedora 20 and ubuntu 14.04 machine. Boost version 1.54.
Using latest version of ndn-cxx and nfd.

  1. Start nfd on laptop
  2. Make sure nfd is not running on the other machine
  3. Try creating a face on laptop: nfdc create tcp4://riker.netsec.colostate.edu
  4. nfd on laptop crashes
  5. Same thing happens when ICMP host prohibited is returned

Logs:

1404493464.620785 DEBUG: [InternalFace] found Interest filter for /localhost/nfd/faces (previous match)
1404493464.621052 DEBUG: [ManagerBase] Parameters parsed OK
1404493464.621064 DEBUG: [FaceManager] command result: processing verb: create
1404493464.621156 DEBUG: [FaceUri] URI [tcp4://riker.netsec.colostate.edu] parsed into: tcp4, riker.netsec.colostate.edu, , 
1404493464.621590 DEBUG: [Forwarder] onIncomingInterest face=6 interest=/localhost/nfd/faces/events/%07
1404493464.621869 DEBUG: [Forwarder] onOutgoingInterest face=1 interest=/localhost/nfd/faces/events/%07
1404493464.622064 DEBUG: [InternalFace] received Interest: /localhost/nfd/faces/events/%07
1404493464.622227 DEBUG: [InternalFace] found Interest filter for /localhost/nfd/faces (previous match)
1404493464.622330 DEBUG: [FaceManager] command result: processing verb: events
1404493464.627636 FATAL: [NFD] remote_endpoint: Transport endpoint is not connected
ERROR: error while receiving data from socket
1404493464.663430 FATAL: [NRD] error while receiving data from socket

Files

6363.pcapng (544 Bytes) 6363.pcapng susmit shannigrahi, 07/07/2014 09:43 AM
mylog.txt (10.7 KB) mylog.txt susmit shannigrahi, 07/07/2014 09:44 AM
bug.txt (5.93 KB) bug.txt susmit shannigrahi, 07/07/2014 10:59 AM
Actions #1

Updated by Junxiao Shi over 10 years ago

  • Description updated (diff)
  • Category set to Faces
  • Target version set to v0.2

I cannot reproduce this error on Ubuntu 12.04.
I get a non-fatal error.

shijunxiao@m0212:~$ nfdc create tcp4://192.168.26.13
1404510613.795666 INFO: [FaceTable] Added face id=9 remote=fd://24 local=unix:///run/nfd.sock
ERROR: Face creation failed: Connect to remote endpoint failed: Connection refused (code: 408)
1404510613.806892 INFO: [UnixStreamFace] [id:9,endpoint:/run/nfd.sock] Connection closed
1404510613.810237 INFO: [FaceTable] Removed face id=9 remote=fd://24 local=unix:///run/nfd.sock

Is the "laptop" in the bug running Fedora 20 or Ubuntu 14.04?
Fedora 20 is unsupported.
If it's Ubuntu 14.04, I can try in that system.

Please also attach a tcpdump capture between these two machines at time of bug.

Actions #2

Updated by Anonymous over 10 years ago

Susmit and I had this happen to NFD instances on both Fedora 20 and Ubuntu 14.04 (the laptop in question is Fedora) trying to connect to a different remote box behind a firewall (don't recall the OS).

In the 14.04 test, the problem persisted after ensuring NFD and ndn-cxx were using the latest git HEADs and clean & distclean re-installations. The thrown exception is caught in main by the catch statement that returns 4.

However, the problem completely stopped and I was unable to reproduce after upgrading the ubuntu machine's boost from 1.54 to 1.55 (uninstall 1.54, 1.55 only). I then attempted to reproduce by uninstalling 1.55 and re-installing 1.54, but could not get NFD to crash (nfdc just receives an appropriate 408 control response).

I'm not sure what to do with this error. It happened reliably on ubuntu 14.04 (multiple clean and reinstalls of NFD and ndn-cxx) until the boost change. However, the NFD on Susmit's Fedora 20 laptop is still reliably crashing. (boost 1.55 is not available through normal yum channels at the moment.)

Actions #3

Updated by Junxiao Shi over 10 years ago

  • Description updated (diff)

Please attach a tcpdump capture between these two machines near time of crash, and note the IP address of the laptop.

Actions #4

Updated by Junxiao Shi over 10 years ago

Please also obtain a backtrace for the bug:

  1. comment out the try-catch block in daemon/main.cpp around io_service.run() (but keep io_service.run()), and recompile NFD
  2. run NFD within gdb, and reproduce the bug; gdb shall pause the process when the crash happens
  3. type bt at the prompt, and paste the output here

Updated by susmit shannigrahi over 10 years ago

Attached both backtrace and packet dump.

Actions #6

Updated by Alex Afanasyev over 10 years ago

Seem to be related to Boost.Asio regression in 1.54: https://svn.boost.org/trac/boost/ticket/8795

Actions #7

Updated by Alex Afanasyev over 10 years ago

Can you try compiling with http://gerrit.named-data.net/#/c/995/ patch set and confirm that the error no longer exists?

Also. Are there other version of boost libraries available?

Actions #8

Updated by susmit shannigrahi over 10 years ago

Can you try compiling with http://gerrit.named-data.net/#/c/995/ patch set and confirm that the error no longer exists?

It does not compile. Please find the attached log.

Also. Are there other version of boost libraries available?

Not for Fedora 20.

Actions #9

Updated by Alex Afanasyev over 10 years ago

The patchset updated. Should compile now.

Actions #10

Updated by susmit shannigrahi over 10 years ago

Alex Afanasyev wrote:

The patchset updated. Should compile now.

Yes, it does compile and NFD does not crash. Thanks.

However, the error code is a bit strange:

[root@thelaptop html]# nfdc create tcp4://198.129.34.34

ERROR: Face creation failed: Connect to remote endpoint failed: Success (code: 408)

Actions #11

Updated by Alex Afanasyev over 10 years ago

I have confirmed the original error on Ubuntu 14.04 with boost 1.54.0-4ubuntu3

After the update to 1.54.0-4ubuntu3.1 the error does not exist anymore (3.1 package incorporates the fix mentioned in https://svn.boost.org/trac/boost/ticket/8795).

Actions #12

Updated by Alex Afanasyev over 10 years ago

  • Status changed from New to In Progress
  • Assignee set to Alex Afanasyev
Actions #13

Updated by Alex Afanasyev over 10 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 100
Actions #14

Updated by Junxiao Shi over 10 years ago

  • Status changed from Code review to Resolved

@susmit shannigrahi, please verify the bug is fixed in current git HEAD, and close the bug after verification.

Actions #15

Updated by susmit shannigrahi over 10 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF