Details
-
Question
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
0.9.2, 0.9.3
-
None
-
None
-
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>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>
Description
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
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>