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.
Description
Tested this between a fedora 20 and ubuntu 14.04 machine. Boost version 1.54.
Using latest version of ndn-cxx and nfd.
- Start nfd on laptop
- Make sure nfd is not running on the other machine
- Try creating a face on laptop: nfdc create tcp4://riker.netsec.colostate.edu
- nfd on laptop crashes
- 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
- 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.
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.)
- Description updated (diff)
Please attach a tcpdump
capture between these two machines near time of crash, and note the IP address of the laptop.
Please also obtain a backtrace for the bug:
- comment out the try-catch block in
daemon/main.cpp
around io_service.run()
(but keep io_service.run()
), and recompile NFD
- run NFD within gdb, and reproduce the bug; gdb shall pause the process when the crash happens
- type
bt
at the prompt, and paste the output here
Attached both backtrace and packet dump.
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.
The patchset updated. Should compile now.
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)
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).
- Status changed from New to In Progress
- Assignee set to Alex Afanasyev
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
- 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.
- Status changed from Resolved to Closed
Also available in: Atom
PDF