[ 
https://issues.apache.org/jira/browse/THRIFT-3159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14546913#comment-14546913
 ] 

jeet parmar commented on THRIFT-3159:
-------------------------------------

[~jensg]  Ofcourse if i add it to export it works but even if i run any 
unexported module for on thrift the app crashes eg .
server:start().
thrift_socket_server:asdasd().

It will crash the service. the point i am trying to make is on unxported or 
running module with wrong/bad argument should not crash the app but report 
error. it might happen my front end client app  which php can pass some wrong 
argument to the module causing crash of server instead of error reporting.

the code is as is i did not modify anything.



> Thrift erlang thrift_socket_server crashes
> ------------------------------------------
>
>                 Key: THRIFT-3159
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3159
>             Project: Thrift
>          Issue Type: Bug
>          Components: Erlang - Library
>    Affects Versions: 0.9.2, 0.9.3, 1.0
>         Environment: Linux clean.bandit 3.19.5-200.fc21.x86_64 #1 SMP Mon Apr 
> 20 19:51:56 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
> cat /etc/fedora-release    Fedora release 21 (Twenty One)
> erl -version    Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 6.3
> ➜  thrifter  erl                    
> Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:8:8] [async-threads:10] 
> [hipe] [kernel-poll:false]
> Eshell V6.3  (abort with ^G)
> 1> 
>            Reporter: jeet parmar
>
> Using tutorial.thrift and tutorial for Erlang, when I am using any unexported 
> module it crashes the app and genserver. Instead, it should not crash and 
> report an error.
> I used 
> https://git1-us-west.apache.org/repos/asf?p=thrift.git;a=tree;f=tutorial/erl;h=a8821bf47084a57e9f6526ed49212d7c7663f8fc;hb=HEAD
> for the server.erl source 
> {code}
> Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:8:8] [async-threads:10] 
> [hipe] [kernel-poll:true]
> Eshell V6.3  (abort with ^G)
> 1> server:start().
> {ok,<0.34.0>}
> =INFO REPORT==== 16-May-2015::17:41:27 ===
> thrift service listening on port 99992> server:unexportedmod().  
> =ERROR REPORT==== 16-May-2015::17:41:59 ===
> ** Generic server tutorial_server terminating 
> ** Last message in was {'EXIT',<0.32.0>,
>                            {undef,
>                                [{server,unexportedmod,[],[]},
>                                 {erl_eval,do_apply,6,
>                                     [{file,"erl_eval.erl"},{line,661}]},
>                                 {shell,exprs,7,
>                                     [{file,"shell.erl"},{line,684}]},
>                                 {shell,eval_exprs,7,
>                                     [{file,"shell.erl"},{line,639}]},
>                                 {shell,eval_loop,3,
>                                     [{file,"shell.erl"},{line,624}]}]}}
> ** When Server state == {thrift_socket_server,9999,calculator_thrift,server,
>                             {local,tutorial_server},
>                             2048,any,#Port<0.732>,<0.35.0>,
>                             [{recv_timeout,500}],
>                             false}
> ** Reason for termination == 
> ** {'function not exported',
>        [{server,unexportedmod,[],[]},
>         {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,661}]},
>         {shell,exprs,7,[{file,"shell.erl"},{line,684}]},
>         {shell,eval_exprs,7,[{file,"shell.erl"},{line,639}]},
>         {shell,eval_loop,3,[{file,"shell.erl"},{line,624}]}]}
> ** exception error: undefined function server:unexportedmod/0
> 3> 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to