[erlang-questions] gen_server doesn't respond
Park, Sungjin
jinni.park@REDACTED
Tue Jun 4 03:54:59 CEST 2013
Shell input/output logs below.
============================
4> process_info(pid(0,453,4757)).
[{current_function,{*gen,do_call,4*}},
{initial_call,{proc_lib,init_p,5}},
{status,*waiting*},
{message_queue_len,1},
{messages,[*{'$gen_call',{<0.26172.4841>,*
* #Ref<0.0.2946.93178>},*
* state}*]},
{links,[<0.25337.4839>]},
{dictionary,[{'$ancestors',[<0.452.4757>,<0.424.0>,
<0.423.0>,ranch_sup,<0.420.0>]},
{'$initial_call',{my_session,init,1}}]},
{trap_exit,true},
{error_handler,error_handler},
{priority,normal},
{group_leader,<0.419.0>},
{total_heap_size,1364},
{heap_size,987},
{stack_size,32},
{reductions,1487},
{garbage_collection,[{min_bin_vheap_size,46368},
{min_heap_size,233},
{fullsweep_after,65535},
{minor_gcs,8}]},
{suspending,[]}]
=============================
As you can see the process has a message {..., state} in it's message queue
but still in waiting state. It doesn't respond to gen_server:call(Pid,
state) from this point on. The process_info shows that the process is now
in gen:do_call/4 which is not under my control. The module has all the
fallback handlers for handle_call/3, handle_cast/2, handle_info/2 etc, so
that every message be matched. There are a couple of places in my project
where gen_server:call/2 used against this process. I suppose that the
calls should timeout in 5 sec by default as is stated in the gen_server
specification. So there should be no such case that the process stuck
indefinitely.
On Mon, Jun 3, 2013 at 7:39 PM, Aaron France <aaron.l.france@REDACTED>wrote:
> Does it make any synchronous calls to other gen_servers?
>
>
> On Mon, Jun 3, 2013 at 12:34 PM, Tim Watson <watson.timothy@REDACTED>wrote:
>
>> Does the callback module execute any selective receives inside handlers
>> perhaps? If not, are you sure the message has actually arrived in that
>> process' mailbox, can you see unhandled messages in the message queue
>> (I.e., length > 0 whilst waiting)?
>>
>> On 3 Jun 2013, at 10:34, "Park, Sungjin" <jinni.park@REDACTED> wrote:
>>
>> > Guys,
>> >
>> > I'm encountering cases when gen_server doesn't respond.
>> > In such cases, erlang:process_info/1 shows the process state 'waiting'
>> with some messages in the message_queue. The messages have not been
>> consumed for tens of minutes at least. Anybody has any idean about this?
>> >
>> >
>> > --
>> > Park, Sungjin
>> >
>> -------------------------------------------------------------------------------------------------------------------
>> > Peculiar travel suggestions are dancing lessons from god.
>> > -- The Books of Bokonon
>> >
>> -------------------------------------------------------------------------------------------------------------------
>> > _______________________________________________
>> > erlang-questions mailing list
>> > erlang-questions@REDACTED
>> > http://erlang.org/mailman/listinfo/erlang-questions
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>
--
Park, Sungjin
-------------------------------------------------------------------------------------------------------------------
Peculiar travel suggestions are dancing lessons from god.
-- The Books of Bokonon
-------------------------------------------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130604/87c8cd22/attachment.htm>
More information about the erlang-questions
mailing list