[erlang-bugs] R12B-3/64bit/smp Stuck disk_log_server
Tue Jan 13 15:25:41 CET 2009
I'll prepare a source patch fixing the problem. I wont be able to post
it until tomorrow, though.
Rickard Green, Erlang/OTP, Ericsson AB.
Geoff Cant wrote:
> Hi Rickard, thank you very much - this sounds correct to me. The
> customer cluster is still running a cron job that effectively does
> lists:foreach(fun erlang:garbage_collect/1, erlang:processes()) every
> ten minutes.
> This script was introduced as a stop-gap measure when running a heavily
> loaded ejabberd cluster on the 32bit VM where an out of memory condition
> would take down the node and then the entire cluster due to some
> problems with cross-node monitor storms. The cluster now runs on 64bit
> VMs so we'll revisit the memory consumption problem and avoid using
> We'll disable the script and see if the problem recurs.
> Once again, thank you very much - I'm always very impressed by the level
> of support the OTP team gives the erlang community.
> Rickard Green <> writes:
>> Hi Geoff,
>> I've looked at this and found a bug that may have caused this. When a
>> process garbage collect another process and the process being garbage
>> collected also receives a message during the garbage collect, the
>> process being garbage collected can end up in the state that you
>> This kind of garbage collect only happen when someone calls the
>> garbage_collect/1 BIF or when code is purged. In the case with the
>> disk_log server being stuck I think we can rule out the purge, i.e.,
>> if it is this bug that caused your problem another process must have
>> garbage collected the disk_log server via the garbage_collect/1
>> BIF. Do you have any code that may have garbage collected the disk_log
>> server via the garbage_collect/1 BIF? The garbage collect may also
>> have been done explicitly in the shell.
>> Rickard Green, Erlang/OTP, Ericsson AB.
More information about the erlang-bugs