Erlang/OTP Forums

Author Message

<  Erlang questions mailing list  ~  Invalid data on distribution channel

Guest
Posted: Fri Dec 22, 2006 8:08 am Reply with quote
Guest
Hi all,

I would be very grateful if someone could tell me how to decode these error messages.

Got invalid data on distribution channel, offending packet is: <<112,131,104,3,9
7,2,100,0,0,103,100,0,20,115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79,
45,49,48,48,0,0,0,51,0,0,0,0,2,0,0,0,83,112,131,104,3,97,2,100,0,0,103,100,0,20,
115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79>>

Thanks
Bob





_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
vladdu
Posted: Fri Dec 22, 2006 8:23 am Reply with quote
User Joined: 28 Feb 2005 Posts: 397 Location: Gothenburg, Sweden
Hi,

On 12/22/06, Bob Cowdery <Bob.Cowdery@smartlogic.com> wrote:
> Got invalid data on distribution channel, offending packet is: <<112,131,104,3,9
> 7,2,100,0,0,103,100,0,20,115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79,
> 45,49,48,48,0,0,0,51,0,0,0,0,2,0,0,0,83,112,131,104,3,97,2,100,0,0,103,100,0,20,
> 115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79>>

The giveaway is the second byte, 131, which is the marker for binary
encoded Erlang terms. Removing the initial 112 and running the rest of
the binary through binary_to_term/1, the result is {2,'',<6770.51.0>}

regards,
Vlad
_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
View user's profile Send private message
Guest
Posted: Fri Dec 22, 2006 8:46 am Reply with quote
Guest
On 12/22/06, Bob Cowdery <Bob.Cowdery@smartlogic.com> wrote:
> Got invalid data on distribution channel, offending packet is: <<112,131,104,3,9
> 7,2,100,0,0,103,100,0,20,115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79,
> 45,49,48,48,0,0,0,51,0,0,0,0,2,0,0,0,83,112,131,104,3,97,2,100,0,0,103,100,0,20,
> 115,119,105,116,99,104,101,114,64,76,84,45,86,65,73,79>>

>> The giveaway is the second byte, 131, which is the marker for binary
>> encoded Erlang terms. Removing the initial 112 and running the rest of
>> the binary through binary_to_term/1, the result is {2,'',<6770.51.0>}

Vlad thankyou.

This I believe is coming from a port driver so it would be binary. I assume you are saying there is a gash byte at the start. It does seem like a lot of data for a short message. Also I don't recognise the message as anything I send. How can I determine what process the Pid referes to? Sorry for all the questions.

Bob

_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
vladdu
Posted: Fri Dec 22, 2006 9:02 am Reply with quote
User Joined: 28 Feb 2005 Posts: 397 Location: Gothenburg, Sweden
Hi,

On 12/22/06, Bob Cowdery <Bob.Cowdery@smartlogic.com> wrote:
> This I believe is coming from a port driver so it would be binary. I assume you are saying there is a gash byte at the start. It does seem like a lot of data for a short message. Also I don't recognise the message as anything I send. How can I determine what process the Pid referes to? Sorry for all the questions.

No problem.

The pid being <6770.51.0> you can see what node it runs on by using
node(Pid), which in this case will say "switcher@LT-VAIO-100". I know
because that string is actually part of the binary representation -
that's why it's relatively large (and also there is another identical
message beginning after this one).

You can also run process_info(Pid) to find out more about it.

Hope this helps.

regards,
Vlad
_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
View user's profile Send private message
Guest
Posted: Fri Dec 22, 2006 9:27 am Reply with quote
Guest
Hi,

On 12/22/06, Bob Cowdery <Bob.Cowdery@smartlogic.com> wrote:
> This I believe is coming from a port driver so it would be binary. I assume you are saying there is a gash byte at the start. It does seem like a lot of data for a short message. Also I don't recognise the message as anything I send. How can I determine what process the Pid referes to? Sorry for all the questions.

No problem.

The pid being <6770.51.0> you can see what node it runs on by using
node(Pid), which in this case will say "switcher@LT-VAIO-100". I know
because that string is actually part of the binary representation -
that's why it's relatively large (and also there is another identical
message beginning after this one).

You can also run process_info(Pid) to find out more about it.

Vlad

If I type node(<n.n.n>) I just get a syntax error (and with any other format I can think of). Also with some debug in I notice my transmission is not keeping up with the data so a queue is building up of binary data (approx 8192 doubles per send). The actual debug lines might be slowing it down enough to actually cause this. Is there some way to monitor the message queues. I tried toolbar but it does not show my processes. There should be about 5 nodes and 10 or so processes running.

Thanks
Bob

_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
vladdu
Posted: Fri Dec 22, 2006 10:11 am Reply with quote
User Joined: 28 Feb 2005 Posts: 397 Location: Gothenburg, Sweden
Hi,

On 12/22/06, Bob Cowdery <Bob.Cowdery@smartlogic.com> wrote:
> If I type node(<n.n.n>) I just get a syntax error (and with any other format I can think of).

You'll have to write node(pid(n, n, n)). Pids aren't valid syntactic
terms on input.

>Is there some way to monitor the message queues. I tried toolbar but
it does not show my processes. There should be about 5 nodes and 10 or
so processes running.

I don't use the toolbar, so I can't say why you don't see your
processes. The process manager should be able to show all processes,
and the message queue details -- do you point it to the right nodes?

regards,
Vlad
_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
View user's profile Send private message
Guest
Posted: Fri Dec 22, 2006 2:56 pm Reply with quote
Guest
>>Yep, such problems may be tricky... Good luck!

Well, after much head scratching I've got it stable. Bad idea to send messages from inside a callback function, even very small ones like just {sync} to set off the process. It's still dog slow, it's been running a few minutes and there are over 5000 queued messages but at least it stays up long enough to find out why?

regards
Bob

_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist
Guest
Posted: Fri Dec 22, 2006 6:43 pm Reply with quote
Guest
Oops. My fault entirely. The messages in the Q were not the messages I was processing they were gash messages because I forgot (a) to have a default message clause and (b) not reply from my port when no reply was expected. It now keeps up which actually I never expected it to do without some tuning.

>>Yep, such problems may be tricky... Good luck!

Well, after much head scratching I've got it stable. Bad idea to send messages from inside a callback function, even very small ones like just {sync} to set off the process. It's still dog slow, it's been running a few minutes and there are over 5000 queued messages but at least it stays up long enough to find out why?

regards
Bob

_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
erlang-questions@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions
Post recived from mailinglist

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum