[rabbitmq-discuss] Connection problems with Rabbitmq 1.4.0

Maarten Engelen maarten at iridia.nl
Thu Nov 27 15:29:27 GMT 2008


Matthias,

2008/11/27 Matthias Radestock <matthias at lshift.net>:
>> Attached the new file. The contents have been captured
>> with `tcpdump -i lo0 -w trace.pcap port 5672`
>
> It looks like the client is sending a perfectly correct protocol header but
> the server just closes the socket rather than sending a connection.start
> method.

Ok, that fits my experience with the other libraries I used.

>
> Are there any errors in the rabbit-sasl.log?

Actually, there are:

=CRASH REPORT==== 27-Nov-2008::15:52:27 ===
  crasher:
    pid: <0.1925.0>
    registered_name: []
    exception error: undefined function rabbit_log:message/4
      in function  rabbit_writer:assemble_frames/2
      in call from rabbit_writer:internal_send_command/3
      in call from rabbit_reader:send_on_channel0/2
      in call from rabbit_reader:handle_input/3
      in call from rabbit_reader:mainloop/3
      in call from rabbit_reader:start_connection/3
    initial call: rabbit_reader:init(<0.1303.0>)
    ancestors: [rabbit_tcp_client_sup,rabbit_sup,<0.1161.0>]
    messages: []
    links: [<0.1303.0>,#Port<0.522>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 23
    reductions: 286
  neighbours:

=SUPERVISOR REPORT==== 27-Nov-2008::15:52:27 ===
     Supervisor: {local,rabbit_tcp_client_sup}
     Context:    child_terminated
     Reason:     undef
     Offender:   [{pid,<0.1925.0>},
                  {name,tcp_client},
                  {mfa,{rabbit_reader,start_link,[]}},
                  {restart_type,temporary},
                  {shutdown,brutal_kill},
                  {child_type,worker}]

And this actually makes a lot of sense. After having problems running
my code I rebuild rabbit with debugging set to on. I totally forgot
that I was running rabbit with this flag on true during compilation.
The debug flag makes this define in rabbit.hrl active:

-define(LOGMESSAGE(D,C,M,Co), rabbit_log:message(D,C,M,Co)).

rabbit_log:message does not exist in rabbit_log.erl and ?LOGMESSAGE is
called in the first line of rabbit_writer:assemble_frames/2. Which
creates on obvious crash.

After recompiling rabbit the examples work as expected.

Matthias, thank you for your help with this (ending up as a minor) problem.

Maarten




More information about the rabbitmq-discuss mailing list