Bugzilla – Bug 834
Incorrect signature of Ipv4FlowProbe::DropLogger
Last modified: 2010-03-05 10:11:40 UTC
Created attachment 778 [details] solution ns3::FlowMonitorHelper::Install fails while trying to connect Ipv4FlowProbe::DropLogger callback. I attach no example script since the error is clear and solution patch is attached. Error: Incompatible types. (feed to "c++filt -t" if needed) got=ns3::MemPtrCallbackImpl<ns3::Ptr<ns3::Ipv4FlowProbe>, void (ns3::Ipv4FlowProbe::*)(ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, unsigned int), void, ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> expected=ns3::CallbackImpl<void, ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, ns3::Ptr<ns3::Ipv4>, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty>* Command ['/home/pavlo/wk/ns-3-dev/build/debug/examples/wireless/wifi-hidden-terminal'] exited with code -11 Backtrace: #0 0x010c282d in ns3::Callback<void, ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, ns3::Ptr<ns3::Ipv4>, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::DoAssign (this=0xbfd6856c, other=...) at debug/ns3/callback.h:468 468 NS_FATAL_ERROR ("Incompatible types. (feed to \"c++filt -t\" if needed)" << std::endl << (gdb) bt #0 0x010c282d in ns3::Callback<void, ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, ns3::Ptr<ns3::Ipv4>, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::DoAssign (this=0xbfd6856c, other=...) at debug/ns3/callback.h:468 #1 0x010c144d in ns3::Callback<void, ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, ns3::Ptr<ns3::Ipv4>, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::Assign (this=0xbfd6856c, other=...) at debug/ns3/callback.h:445 #2 0x010c0851 in ns3::TracedCallback<ns3::Ipv4Header const&, ns3::Ptr<ns3::Packet const>, ns3::Ipv4L3Protocol::DropReason, ns3::Ptr<ns3::Ipv4>, unsigned int, ns3::empty, ns3::empty, ns3::empty>::ConnectWithoutContext (this=0x8ee8e24, callback=...) at debug/ns3/traced-callback.h:117 #3 0x010b858e in ConnectWithoutContext (this=0x8ed1d50, obj=0x8ee8dc8, cb=...) at debug/ns3/trace-source-accessor.h:98 #4 0x00dd9c07 in ns3::ObjectBase::TraceConnectWithoutContext (this=0x8ee8dc8, name=..., cb=...) at ../src/core/object-base.cc:304 #5 0x015d36e6 in Ipv4FlowProbe (this=0x8eec728, monitor=..., classifier=..., node=...) at ../src/contrib/flow-monitor/ipv4-flow-probe.cc:65 #6 0x014f7f10 in ns3::Create<ns3::Ipv4FlowProbe, ns3::Ptr<ns3::FlowMonitor>, ns3::Ptr<ns3::Ipv4FlowClassifier>, ns3::Ptr<ns3::Node> > (a1=..., a2=..., a3=...) at debug/ns3/ptr.h:251 #7 0x014f7640 in ns3::FlowMonitorHelper::Install (this=0xbfd68940, node=...) at ../src/helper/flow-monitor-helper.cc:76 #8 0x014f79b0 in ns3::FlowMonitorHelper::InstallAll (this=0xbfd68940) at ../src/helper/flow-monitor-helper.cc:103
OK, it seems Craig's tracing rework accidentally broke it. Please commit.