[rabbitmq-discuss] OpenSolaris Issue

Matthias Radestock matthias at lshift.net
Fri Feb 6 06:48:35 GMT 2009


Jason,

Jason J. W. Williams wrote:
> {error_logger,{{1986,12,27},{17,7,50}},"Protocol: ~p: register/listen
> error: ~p~n",["inet_tcp",einval]}
> {error_logger,{{1986,12,27},{17,7,50}},crash_report,[[{pid,<0.21.0>},{registered_name,net_kernel},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{initial_call,{net_kernel,init,['Argument__1']}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[<0.18.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,233},{stack_size,23},{reductions,344}],[]]}

That is the same problem as reported by Billy and Christopher. We know 
what the root cause is but haven't got a fix yet. See the posts just a 
few moments before yours.

Workarounds are:

- make sure you don't start rabbit from a directory containing 
single-letter file/directory names. If you are using the init.d script, 
just change the line that reads "cd /" to point elsewhere.

- in /etc/default/rabbitmq, set SERVER_ERL_ARGS to "+K true +A30", or 
set RABBITMQ_SERVER_ERL_ARGS in the shell before starting the broker, or 
modify the setting in the rabbitmq-server script. The downside of all of 
these is a decrease in throughput and an increase in latency.

- in the rabbitmq-server script, inline the value of 
RABBITMQ_SERVER_ERL_ARGS in the 'erl' call at the end and place single 
quotes around the inet_default_{listen,connect}_options valus, i.e. 
substitute the line
     ${RABBITMQ_SERVER_ERL_ARGS} \
with
     +K true +A30 \
     -kernel inet_default_listen_options 
'[{nodelay,true},{sndbuf,16384},{recbuf,4096}]' \
     -kernel inet_default_connect_options '[{nodelay,true}]' \
The downside is that you can no longer change these settings by 
overriding env var settings in the shell or /etc/default/rabbitmq.

- downgrade to 1.5.0 - that has a bug which means the settings for 
RABBITMQ_SERVER_ERL_ARG are being ignored, which, ironically, is one of 
the reasons we released 1.5.1. The downsides are the same as the last 
two points, plus you are re-introducing the other bugs that were fixed 
in 1.5.1.


Matthias




More information about the rabbitmq-discuss mailing list