[rabbitmq-discuss] intermittent erl.exe crash

JD Conley jdc at hive7.com
Tue Nov 10 19:01:31 GMT 2009


> > //start consuming
> > _model.QueueDeclare(userQueue, false, false, false, false, false,
> null);
> > consumerTag = _model.BasicConsume(userQueue, true, null, _consumer);
> 
> Ok, you're setting noAck true, so you shouldn't need to ack explicitly.

Yeah, that's what I thought. But yesterday I added acking just to see if it
would help and the memory footprint no longer grows out of control and the
process hasn't crashed since. I wonder if either the .NET client or rabbit
isn't honoring the noack for this use case?

> Expiration is not implemented. There is no notion of Time To Live or
> messages expiring in RabbitMQ. This is an oft requested feature and is
> high on our todo list, but is not in active development yet.

Add one more to that request number.

> > Crash dump was written to: erl_crash.dump
> > temp_alloc: Cannot allocate 9176036 bytes of memory (of type
> "tmp_heap").
> 
> Err, that's odd, that's only about 8MB of RAM. How much RAM do you have
> in this machine that's available to Rabbit? Also, before it crashes,
> run:

As I said doing an Ack when I receive a message (even though I have noack
set) seems to have resolved the memory usage and crashing issue.

The dump is over 1GB. What is the VM limit for erlang by default? Maybe we
just hit that? The system has 4gb ram and plenty free to use the 2GB imposed
user land limit in Windows, not to mention swap space.

-JD





More information about the rabbitmq-discuss mailing list