问题:gen_server:call调用,返回”exception exit: timeout_value“错误,gen_server进程异常退出。
分析:1.看见错误是timeout_value,第一反应是模块内部处理超时;
2.但gen_server:call调用很快就返回错误结果,而gen_server:call函数默认的超时时间是5秒钟;
3.为什么会超时,其实我个人认为是erlang错误提示有问题。
结果:是gen_server服务模块内部的handle_call或者handle_cast回调函数,的返回结果出来了问题,
回调函数的返回结果应该:{reply, Reply, State}或者{noreply, State};
当你把返回值写成{noreply,normal,State}就会出现此问题。