DCE SIGSEGV in LinuxSocketFdFactory

45 views
Skip to first unread message

Nat P

unread,
Feb 16, 2015, 6:37:42 AM2/16/15
to ns-3-...@googlegroups.com
Hi all,

the attached program gives me a sigsegv (it is basically a port of the standard tcp example under DCE). Can you try "at home" and see if, with default parameters, it crashes anyway?

Thank you
dce-tcp-ns3-nsc-comparison.cc

Nat P

unread,
Feb 16, 2015, 8:56:18 AM2/16/15
to ns-3-...@googlegroups.com, Hajime Tazaki

The problem is caused by the fact that, in DCE, no application can start at time 0.0, because it can happen a condition between the socket creation code (it is scheduled an event at the 0.0 time in LinuxFdSocket) and the socket creation itself in the app.

Worth noticing it as a bug?

Tommaso Pecorella

unread,
Feb 16, 2015, 11:04:28 AM2/16/15
to ns-3-...@googlegroups.com, taz...@wide.ad.jp
Not a bug. A clarification in the docs maybe.

T.

Hajime Tazaki

unread,
Feb 16, 2015, 5:21:33 PM2/16/15
to natale.pa...@gmail.com, ns-3-...@googlegroups.com

Natale,

I can feel the issue you faced, but I can't run your example
with the following error.

what the codebase are you using ?

../myscripts/dce2-tcp-ns3-nsc-comparison.cc:400:74: error: 'TcpCubic' was not declared in this scope
Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpCubic::GetTypeId ()));
^
../myscripts/dce2-tcp-ns3-nsc-comparison.cc:408:74: error: 'TcpHybla' was not declared in this scope
Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpHybla::GetTypeId ()));
^
../myscripts/dce2-tcp-ns3-nsc-comparison.cc:416:74: error: 'TcpHighSpeed' was not declared in this scope
Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpHighSpeed::GetTypeId ()));
^
../myscripts/dce2-tcp-ns3-nsc-comparison.cc:424:74: error: 'TcpBic' was not declared in this scope
Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpBic::GetTypeId ()));
^
../myscripts/dce2-tcp-ns3-nsc-comparison.cc:428:74: error: 'TcpNoordwijk' was not declared in this scope
Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpNoordwijk::GetTypeId ()));

I would like to see the solution (document or code) with the
working example.

thanks.

-- Hajime

At Mon, 16 Feb 2015 05:56:18 -0800 (PST),
Nat P wrote:
>
> [1 <multipart/alternative (7bit)>]
> [1.1 <text/plain; UTF-8 (quoted-printable)>]
> [1.2 <text/html; utf-8 (quoted-printable)>]
>

Nat P

unread,
Feb 17, 2015, 3:14:30 AM2/17/15
to ns-3-...@googlegroups.com, natale.pa...@gmail.com


Il giorno lunedì 16 febbraio 2015 23:21:33 UTC+1, Hajime ha scritto:

Natale,

I can feel the issue you faced, but I can't run your example
with the following error.

what the codebase are you using ?

../myscripts/dce2-tcp-ns3-nsc-comparison.cc:400:74: error: 'TcpCubic' was not declared in this scope
       Config::SetDefault ("ns3::TcpL4Protocol::SocketType", TypeIdValue (TcpCubic::GetTypeId ()));
                                                                          ^


You're right, I'm using the TCP flavors I've coded for Socis. You can comment any of them (keep alive the default ones, Westwood NewReno Tahoe).


> Not a bug. A clarification in the docs maybe.

That's a way... but this race condition (do you agree on naming?) means that a 1:1 port of simulations is impossible. I usually start all my simulations from Time(0.0) ... A possible way to fix this "feature" :-) could be a sort of "prioritization" of events, but I think this is rather difficult..
Reply all
Reply to author
Forward
0 new messages