Multicast can't send packets to self - kills io-net (program

Gurus,

After much mucking through a Linux library I have found my problem
with multicast.

The address/port for this test (upnp) is 239.255.255.250:1900

If a process binds to this address for purposes of receiving messages,
then another process (or same process) on the same system builds
messages, sends them using sendto(), and they exceed ~170-220
bytes then tcpip/io-net will fail.

On the console that started io-net is a single message ‘m_copym’
and io-net/tcpip are no longer running. 10 times out of 10 I just
did this :wink:

The size has varied and part of it may be due to how fast stuff gets
updated before it dies (I was fflush()ing).

What are the chances of getting a quick-fix since this just forced me
to stop working on UPnP code on Nto and pull out my Linux HD
so I can proceed…

Sample program attached - make sure you save anything you need
over the network before you run it :wink:

Jay



begin 666 kill-tcpip.c
M+R@:VEL;“UT8W!I<“YC#0H-“B-I;F-L=61E(#QS=&1L:6(N:#X-“B-I;F-L
M=61E(#QS=&1I;RYH/@T*(VEN8VQU9&4@/’-Y<R]S;V-K970N:#X-“B-I;F-L
M=61E(#QN971I;F5T+VEN+F@^#0H-“B-D969I;F4@25!?041$4B B,C,Y+C(U
M-2XR-34N,C4P(@T*(V1E9FEN92!)4%]03U)4(#$Y,# -”@T*+R@+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2T-”@T*<W1A=&EC(&-H87(@8G5F9F5R6S$P
M,C1=.PT*#0II;G0@;6%I;BAI;G0@87)G8RP@8VAA<B JB!A<F=V0T*>PT*
M(” @:6YT(&9D,2P@9F0R+”!I+”!T=&P]-#L-“B @(’-T<G5C=”!S;V-K861D
M<E]I;B!A9&1R.PT*(” @<W1R=6-T(&EP7VUR97$@(" @;6%D9’([#0H@("!I
M;G0@(" @861D<E]L96X@/2!S:7IE;V8H861D<BD[#0H-“B @(&UE;7-E=“AB
M=69F97(L(# L(’-I>F5O9BAB=69F97(I3L-"@T(” @+R@BHJBHJ(%!A
M<G0@,2 M($)I;F0@=&@82!M=6QT:6-A<W0@<V]C:V5T#0H@(“#0H@(" @M("!I9B H*&9D,23D54+”!33T-+7T1’4D%-+” P2D@
M/3T@+3$I(‘L-“B @(” @(" @(’!E<G)O<B@B<V]C:V5T,2(I.PT
(" @(" @
M(" @97AI="@Q3L-“B @(” @('T-"@T(" @(" @;65M<V5T*“9A9&1R+” P
M+"!S:7IE;V8H861D<BDI.PT*(" @(" @861D<BYS:6Y?9F%M:6QY(#T@049?
M24Y%5#L-“B @(” @(&%D9’(N<VEN7V%D9’(N<U]A9&1R(#T@:6YE=%]A9&1R
M*$E07T%$1%(I.PT*(" @(" @861D<BYS:6Y?<&]R=" @(#T@:‘1O;G,H25!?
M4$]25"D[#0H@(" -“B @(” @(&EF(“AB:6YD*&9D,2P@’-T<G5C="!S;V-K
M861D<B J
29A9&1R+”!A9&1R7VQE;BD@/3T@+3$I(‘L-“B @(” @(" @(’!E
M<G)O<B@B8FEN9#$B3L-“B @(” @(" @(&5X:70H,2D[#0H@(" @("!]#0H-
M"B @(" @(&UE;7-E="@F;6%D9’(L(# L(’-I>F5O9BAM861D<BDI.PT
(" @
M(" @;6%D9’(N:6UR7VEN=&5R9F%C92YS7V%D9’(@/2!H=&]N;“A)3D%$1%)?
M04Y93L-“B @(” @(&UA9&1R+FEM<E]M=6QT:6%D9’(N<U]A9&1R(#T@:6YE
M=%]A9&1R
$E07T%$1%(I.PT*#0H@(” @("!S971S;V-K;W!T*&9D,2P@25!0
M4D]43U])4"P@25!?041$7TU%34)%4E-(25 L(“9M861D<BP@<VEZ96]F*’-T
M<G5C=”!I<%]M<F5Q2D[#0H@(" @("!S971S;V-K;W!T&9D,2P@25!04D]4
M3U])4"P@25!?355,5$E#05-47U143"P@)G1T;“P@<VEZ96]F*'1T;“DI.PT*
M#0H@(”!]#0H-“B @(”\O(“HJBHJB!087)T(#(@+2!396YD(&UE<W-A9V5S
M#0H@(“#0H@(" @("!I9B H*&9D,B3D54+”!33T-+
M7T1’4D%-+” P2D@/3T@+3$I(‘L-“B @(” @(" @(’!E<G)O<B@B<V]C:V5T
M,B(I.PT
(” @(" @(" @97AI="@Q3L-“B @(” @('T-"B @( T(" @(" @
M;65M<V5T*“9A9&1R+” P+"!S:7IE;V8H861D<BDI.PT*(" @(" @861D<BYS
M:6Y?9F%M:6QY(#T@049?24Y%5#L-“B @(” @(&%D9’(N<VEN7V%D9’(N<U]A
M9&1R(#T@:6YE=%]A9&1R*$E07T%$1%(I.PT*(" @(" @861D<BYS:6Y?<&]R
M=" @(#T@:‘1O;G,H25!?4$]25"D[#0H@(" -“B @(” @(&9O<B H:3TQ.R!I
M/’-I>F5O9BAB=69F97(I.R!IRLI('L-"B @( T(" @(" @(" @<’)I;G1F
M*")396YD:6YG.B E,FE<;B(L(&DI.PT*(" @(" @(" @9F9L=7-H*’-T9&]U
M=“D[#0H@(” -“B @(” @(" @(&EF(“AS96YD=&\H9F0R+”!B=69F97(L(&DL
M(# L(“AS=’)U8W0@<V]C:V%D9’(@BDF861D<BP@861D<E]L96XI(#T]("TQ
M
2![#0H@(” @(" @(" @("!P97)R;W(H(G-E;F1T;R(I.PT*(" @(" @(" @
M(" @97AI="@R3L-“B @(” @(" @('T-"B @( T(" @(" @?0T*(" @#0H@
M("!]#0H-“B @(&-L;W-E*&9D,2D[#0H@(”!C;&]S92AF9#(I.PT*#0H@("!R
/971U<FX@,#L-“GT-”@T*
`
end

Just an update. I’ve found and fixed the problem. Now
trying to make it generally available… Thanks for the
concise test case.

-seanb

Jay Hogg <Jay.Hogg@t-netix.com.r-e-m-o-v-e> wrote:
: Gurus,

: After much mucking through a Linux library I have found my problem
: with multicast.

: The address/port for this test (upnp) is 239.255.255.250:1900

: If a process binds to this address for purposes of receiving messages,
: then another process (or same process) on the same system builds
: messages, sends them using sendto(), and they exceed ~170-220
: bytes then tcpip/io-net will fail.

: On the console that started io-net is a single message ‘m_copym’
: and io-net/tcpip are no longer running. 10 times out of 10 I just
: did this :wink:

: The size has varied and part of it may be due to how fast stuff gets
: updated before it dies (I was fflush()ing).

: What are the chances of getting a quick-fix since this just forced me
: to stop working on UPnP code on Nto and pull out my Linux HD
: so I can proceed…

: Sample program attached - make sure you save anything you need
: over the network before you run it :wink:

: Jay

“Sean Boudreau” <seanb@qnx.com> wrote in message
news:9m0lli$35l$1@nntp.qnx.com

Just an update. I’ve found and fixed the problem. Now
trying to make it generally available… Thanks for the
concise test case.

Your welcome. I’m glad you found/fixed it that quickly.

I actually slept much better last night knowing I had it tracked down to a
very reproducable case.

Jay

-seanb

Jay Hogg <> Jay.Hogg@t-netix.com.r-e-m-o-v-e> > wrote:
: Gurus,

: After much mucking through a Linux library I have found my problem
: with multicast.

: The address/port for this test (upnp) is 239.255.255.250:1900

: If a process binds to this address for purposes of receiving messages,
: then another process (or same process) on the same system builds
: messages, sends them using sendto(), and they exceed ~170-220
: bytes then tcpip/io-net will fail.

: On the console that started io-net is a single message ‘m_copym’
: and io-net/tcpip are no longer running. 10 times out of 10 I just
: did this > :wink:

: The size has varied and part of it may be due to how fast stuff gets
: updated before it dies (I was fflush()ing).

: What are the chances of getting a quick-fix since this just forced me
: to stop working on UPnP code on Nto and pull out my Linux HD
: so I can proceed…

: Sample program attached - make sure you save anything you need
: over the network before you run it > :wink:

: Jay

Jay Hogg <Jay.Hogg@t-netix.com> wrote:

: “Sean Boudreau” <seanb@qnx.com> wrote in message
: news:9m0lli$35l$1@nntp.qnx.com
:>
:> Just an update. I’ve found and fixed the problem. Now
:> trying to make it generally available… Thanks for the
:> concise test case.

: Your welcome. I’m glad you found/fixed it that quickly.

: I actually slept much better last night knowing I had it tracked down to a
: very reproducable case.

: Jay

This is now available at ‘developers.qnx.com’ under the ‘Fixes’ section.

-seanb

Does this version also include the “-oforward” fix for the ppc? This bug
was reported and fixed a couple of weeks ago.

“Sean Boudreau” <seanb@qnx.com> wrote in message
news:9m36ep$kpg$1@nntp.qnx.com

Jay Hogg <> Jay.Hogg@t-netix.com> > wrote:

: “Sean Boudreau” <> seanb@qnx.com> > wrote in message
: news:9m0lli$35l$> 1@nntp.qnx.com> …
:
:> Just an update. I’ve found and fixed the problem. Now
:> trying to make it generally available… Thanks for the
:> concise test case.

: Your welcome. I’m glad you found/fixed it that quickly.

: I actually slept much better last night knowing I had it tracked down to
a
: very reproducable case.

: Jay

This is now available at ‘developers.qnx.com’ under the ‘Fixes’ section.

-seanb

It should.

-seanb

Issam Haddad <ihaddad@asurent.com> wrote:
: Does this version also include the “-oforward” fix for the ppc? This bug
: was reported and fixed a couple of weeks ago.

: “Sean Boudreau” <seanb@qnx.com> wrote in message
: news:9m36ep$kpg$1@nntp.qnx.com
:> Jay Hogg <Jay.Hogg@t-netix.com> wrote:
:>
:> : “Sean Boudreau” <seanb@qnx.com> wrote in message
:> : news:9m0lli$35l$1@nntp.qnx.com
:> :>
:> :> Just an update. I’ve found and fixed the problem. Now
:> :> trying to make it generally available… Thanks for the
:> :> concise test case.
:>
:> : Your welcome. I’m glad you found/fixed it that quickly.
:>
:> : I actually slept much better last night knowing I had it tracked down to
: a
:> : very reproducable case.
:>
:> : Jay
:>
:> This is now available at ‘developers.qnx.com’ under the ‘Fixes’ section.
:>
:> -seanb

Sean,

Update works just fine. Thanks.

If anybody is interested in playing I’m going to post an “alpha” version of
the
Linux UPnP SDK on my web site for those that want to play.

The reason I say “alpha” is the SDK is really messy internally. It appears
they through 3-4 separate packages together (SOAP, GENA, DOM,
HTTP Server) with some spit and tape… while it “works” it isn’t pretty
and doesn’t handle some of the mandatory minimum announcemnts, etc
that the spec requires. I’ve got to fix it for some open source stuff
I’m working on and figured others may be interested…

Jay

“Sean Boudreau” <seanb@qnx.com> wrote in message
news:9m38o5$m37$1@nntp.qnx.com

It should.

-seanb

Issam Haddad <> ihaddad@asurent.com> > wrote:
: Does this version also include the “-oforward” fix for the ppc? This
bug
: was reported and fixed a couple of weeks ago.

: “Sean Boudreau” <> seanb@qnx.com> > wrote in message
: news:9m36ep$kpg$> 1@nntp.qnx.com> …
:> Jay Hogg <> Jay.Hogg@t-netix.com> > wrote:
:
:> : “Sean Boudreau” <> seanb@qnx.com> > wrote in message
:> : news:9m0lli$35l$> 1@nntp.qnx.com> …
:> :
:> :> Just an update. I’ve found and fixed the problem. Now
:> :> trying to make it generally available… Thanks for the
:> :> concise test case.
:
:> : Your welcome. I’m glad you found/fixed it that quickly.
:
:> : I actually slept much better last night knowing I had it tracked down
to
: a
:> : very reproducable case.
:
:> : Jay
:
:> This is now available at ‘developers.qnx.com’ under the ‘Fixes’
section.
:
:> -seanb