[erlang-bugs] ssh_sftp:stop_channel/1 tampers trap_exit flag

Niclas Eklund <>
Mon Jun 20 10:02:06 CEST 2011


Hello!

The crash report should be related to a bug that was fixed some time ago. 
Are you sure that you're running the latest SSH version (2.0.7)?!

Best regards,

Niclas @ Erlang/OTP




On Sun, 19 Jun 2011, Ali Yakout wrote:

> Hi,
>
> I was facing a problem with ssh_sftp:stop_channel/1, while checking the code I noticed that it changes the trap_exit to be always true!
>
>> stop_channel(Pid) ->
>>    case process_info(Pid, [trap_exit]) of
>> 	[{trap_exit, Bool}] ->
>> 	    ...
>> 	    process_flag(trap_exit, Bool),
>
>
> I think 'Pid' should have been self() instead.
>
>> stop_channel(Pid) ->
>>    case process_info(self(), [trap_exit]) of
>
>
>
> Beside this issue, I'm getting a 'gen_server' noproc crash when trying to close the sftp channel...
> The server complains with a strange message "Received oclose for nonexistent channel 0."
>
>
> Any idea?
>
> /Ali
>
>
> Crash report below:
> ===================
>
> 14> {ok,Pid,Conn}=ssh_sftp:start_channel("myhost",22,[{user,"myuser"},{password,"mypass"}]).
> {ok,<0.76.0>,<0.73.0>}
> 15> ssh_sftp:stop_channel(Pid).
> ok
> 16>
> =ERROR REPORT==== 18-Jun-2011::22:37:04 ===
> ** Generic server <0.73.0> terminating
> ** Last message in was {ssh_msg,<0.74.0>,
>                           {ssh_msg_disconnect,2,
>                               "Received oclose for nonexistent channel 0.",
>                               []}}
> ** When Server state == {state,client,<0.32.0>,undefined,<0.74.0>,
>                            {connection,[],32784,[],[],1,undefined,undefined,
>                                undefined,undefined,undefined,undefined},
>                            0,
>                            [{address,"myhost"},
>                             {port,22},
>                             {role,client},
>                             {channel_pid,<0.32.0>},
>                             {socket_opts,[inet6]},
>                             {ssh_opts,
>                                 [{host,"myhost"},
>                                  {password,"mypass"},
>                                  {user,"myuser"}]}],
>                            undefined,true}
> ** Reason for termination ==
> ** {noproc,{gen_server,call,[undefined,which_children,infinity]}}
>
> =ERROR REPORT==== 18-Jun-2011::22:37:04 ===
> ** Generic server <0.72.0> terminating
> ** Last message in was {'EXIT',<0.73.0>,
>                           {noproc,
>                               {gen_server,call,
>                                   [undefined,which_children,infinity]}}}
> ** When Server state == {state,client,<0.73.0>,<0.74.0>,undefined}
> ** Reason for termination ==
> ** {noproc,{gen_server,call,[undefined,which_children,infinity]}}
>
> _______________________________________________
> erlang-bugs mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-bugs
>




More information about the erlang-bugs mailing list