Enhnaran Alexander | 17 Aug 16:00

Error: bad value on output port ‘tcp_inet'.

Hi,

I am now using Thrift, a lightweight, language-independent software stack. I use this to communicate and transfer data between servers on which are deployed system written in different languages. So when I call
            thrift_client:call(Client, Func, Args)
which encapsulates call to
            gen_server:call(Client, {Client, Func, Args}),
with the parameters like this:
            thrift_client:call(Client, myFunc, [[{data, "f1", "f2", ..., "fn"}]]),
it prompts out ERROR REPORT saying "Bad value on output port 'tcp_inet'".

I have asked Mr. Google for help and only to find some answers. It is said that a list or binary should be passed in, and if something like a tuple or so is passed as a parameter, then such an error occurs. But I didn't at all pass a tuple or anything but a list, so then why did this take place?

Thanks
<div><div dir="ltr">Hi,<br><br>I am now using Thrift, a lightweight, language-independent software stack. I use this to communicate and transfer data between servers on which are deployed system written in different languages. So when I call <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thrift_client:call(Client, Func, Args) <br>which encapsulates call to <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gen_server:call(Client, {Client, Func, Args}),<br>with the parameters like this:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thrift_client:call(Client, myFunc, [[{data, "f1", "f2", ..., "fn"}]]),<br>
it prompts out ERROR REPORT saying "Bad value on output port 'tcp_inet'".<br><br>I have asked Mr. Google for help and only to find some answers. It is said that a list or binary should be passed in, and if something like a tuple or so is passed as a parameter, then such an error occurs. But I didn't at all pass a tuple or anything but a list, so then why did this take place?<br><br>Thanks<br>
</div></div>
Todd Lipcon | 17 Aug 22:34

Re: Error: bad value on output port ‘tcp_inet'.

Hi Enhnaran,

My guess is that you're sending the wrong data type for one of the elements in your "data" thrift struct. Can you paste the thrift definition for your 'data' struct along with the actual data you're trying to send?

You'll get this error out of thrift if you try to send an atom where you meant to send a binary, for example.

-Todd

2008/8/17 Enhnaran Alexander <enhnaran <at> gmail.com>
Hi,

I am now using Thrift, a lightweight, language-independent software stack. I use this to communicate and transfer data between servers on which are deployed system written in different languages. So when I call
            thrift_client:call(Client, Func, Args)
which encapsulates call to
            gen_server:call(Client, {Client, Func, Args}),
with the parameters like this:
            thrift_client:call(Client, myFunc, [[{data, "f1", "f2", ..., "fn"}]]),
it prompts out ERROR REPORT saying "Bad value on output port 'tcp_inet'".

I have asked Mr. Google for help and only to find some answers. It is said that a list or binary should be passed in, and if something like a tuple or so is passed as a parameter, then such an error occurs. But I didn't at all pass a tuple or anything but a list, so then why did this take place?

Thanks

_______________________________________________
erlang-questions mailing list
erlang-questions <at> erlang.org
http://www.erlang.org/mailman/listinfo/erlang-questions

<div><div dir="ltr">Hi Enhnaran,<br><br>My guess is that you're sending the wrong data type for one of the elements in your "data" thrift struct. Can you paste the thrift definition for your 'data' struct along with the actual data you're trying to send?<br><br>You'll get this error out of thrift if you try to send an atom where you meant to send a binary, for example.<br><br>-Todd<br><br><div class="gmail_quote">2008/8/17 Enhnaran Alexander <span dir="ltr">&lt;<a href="mailto:enhnaran <at> gmail.com">enhnaran <at> gmail.com</a>&gt;</span><br><blockquote class="gmail_quote">
<div dir="ltr">Hi,<br><br>I am now using Thrift, a lightweight, language-independent software stack. I use this to communicate and transfer data between servers on which are deployed system written in different languages. So when I call <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thrift_client:call(Client, Func, Args) <br>which encapsulates call to <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gen_server:call(Client, {Client, Func, Args}),<br>with the parameters like this:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thrift_client:call(Client, myFunc, [[{data, "f1", "f2", ..., "fn"}]]),<br>

it prompts out ERROR REPORT saying "Bad value on output port 'tcp_inet'".<br><br>I have asked Mr. Google for help and only to find some answers. It is said that a list or binary should be passed in, and if something like a tuple or so is passed as a parameter, then such an error occurs. But I didn't at all pass a tuple or anything but a list, so then why did this take place?<br><br>Thanks<br>
</div>
<br>_______________________________________________<br>
erlang-questions mailing list<br><a href="mailto:erlang-questions <at> erlang.org">erlang-questions <at> erlang.org</a><br><a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote>
</div>
<br>
</div></div>

Gmane