[ https://issues.apache.org/jira/browse/THRIFT-3159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
jeet parmar reopened THRIFT-3159: --------------------------------- I don think so [~radekg] When i run server:unexportedmod() before starting the server:start() erlang gives me exception error: undefined function server:unexportedmod/0 so later i started another erlang application for eg. erlang based web server YAWS which has modules implementing behaviour gen_server it does not crash it just throws exception without crashing the gen server in other word App1 - thrift which has thrift_socket_server implmenting gen_server bhvioir . when i pass the bad arg to exported module thrift_socket_server:acceptor_loop(asd,awea) or use unexported module thrift_socket_server:asdasd() it crashed the gen-server App2 - YAWS - which has yaws_pam as gen_erver when started and if pass bad arg to exported module or (yaws_pam:auth(asdasd) or use unexported module yaws_pam:asdasd() it DOES NOT CRASH yaws_pam the gen-server instead gives exception error: undefined function yaws_pam:asdasd/0 Hope i was clear this time. > 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 > Fix For: 0.9.3 > > > 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)