[erlang-questions] Help: ct_telnet_client memory overflow

Peter Andersson <>
Wed Apr 23 22:23:41 CEST 2014


Hi,

Could you give me some more info? Do you mean that the problem is that 
loop/3 is not tail recursive? Reading the code I can't see that's the 
case. Or do you mean you're sure the problem must be something other 
than the loop/3 function? In any event, please share the results of your 
performance analysis. Do you see that loop/3 causes large stack usage? Or 
does the telnet client process heap grow very large?

Has ct_telnet_client worked ok for you before (ie pre v1.8), and started 
failing since v1.8 (OTP 17.0)?

Reading the code I only see two scenarios where received strings get 
buffered and not properly flushed. One is if the user doesn't read data 
often enough (compared to the rate of data sent from the server). Second 
is if the process that requests data from the telnet client crashes before 
the get_data request has been processed.

Here's something to try: Read about the new telnet logging feature in the
ct_telnet ref manual (http://www.erlang.org/doc/man/ct_telnet.html). 
Install the ct_conn_log hook (log type raw) and run your tests. Check the 
raw telnet log file during execution to see what and how much is received 
from the server. This might reveal if something weird is going on in the 
ct_telnet logging system.

I will check the code again and run some extensive profiling tests to see 
what I can find. Please get back to me with more info ASAP.

Best regards,
Peter

Ericsson AB, Erlang/OTP


On Wed, 23 Apr 2014,  wrote:

> Hi, Peter
> Our performance analysis discover the cause of the problem is not tail recursion function loop(State, Sock, Acc)) to ct_telnet_client;
> Can you give me a advice How to modifiy it?   thanks!
>
> B.R
>
>
> 
>
> From: Peter Andersson
> Date: 2014-04-22 15:53
> To: 
> CC: erlang-questions
> Subject: Re: [erlang-questions] Help: ct_telnet_client memory overflow
>
> Hi,
>
> Can you please tell me which Common Test version (or OTP version) you're
> running? (The CT telnet client got modified a bit from v1.7 to v1.8).
>
> Best regards,
> Peter
>
> Ericsson AB, Erlang/OTP
>
>  wrote:
>>
>> Hi, dear
>>
>>
>> I use ct_telnet_client.erl, found that when a telnet command returning
>> message reaches 10MB, the Erlang process consumes memory up to
>> 4~5GB, when the greater will memory overflow,.
>>
>>
>> Can anybody help me, what is the cause? thanks a lot!
>>
>>
>> B.R
>> ------------------------------------------------------------------------
>> 
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>



More information about the erlang-questions mailing list