Hello,
thank you for reporting this error. The bug is related to memory-based storage of bundles only. Please apply the attached patch to ibrcommon library with the following command and try again.
$ cat invalid-path-check.patch | patch -p0
Best Regards, Johannes Morgenroth
Am 01.11.2010 08:15, schrieb 오승훈:
Hello,
I have installed ibr-dtn-0.4.2 on two laptops.
I just want two dtn-nodes exchange bundles when they are connected to the same network.
The setting info is following :
tcp convergence layger
epidemic routing
Just one difference between them is that one of them has two network interfaces.
But, I don't think it makes any influence on the result.
The following is the log messages I've got when running two nodes.
<The first node>=========================================================
st@stvaio:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:52 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: Local node name: dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: bind to interface wlan0
Mon Nov 1 15:22:52 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:52 2010 INFO: Initializing epidemic routing module for node dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:52 2010 INFO: TCP ConvergenceLayer added on 192.168.0.197:4556
Mon Nov 1 15:22:52 2010 INFO: Logging module initialized. mode = 0, interval = 200
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://IBM available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://IBM -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
<The second node>=========================================================
osh93@ubuntu:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:50 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: Local node name: dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth0
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth1
Mon Nov 1 15:22:50 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:50 2010 INFO: Initializing epidemic routing module for node dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 129.254.231.147:4556
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 192.168.0.173:4556
Mon Nov 1 15:22:50 2010 INFO: Logging module initialized. mode = 0, interval = 200
Timestamp 341907771; CurNeighbors 0; RecvBundles 0; SentBundles 0; StoredBundles 0;
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://SONY available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection setup dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://SONY -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
I think, when they exchange the epidemic routing messages the errors occur.
Doesn't epidemic routing work with TCP convergence layer?
Do we need other special setting with epidemic routing?
Do you have any idea about this error?
Thanks in advance.
Best Regards,
Seung-Hun Oh