ruby-amqp/amq-protocol — Issue #20: Memory issue
Author: marekjelen
Created: 2012-01-09 17:43:46+00:00
State: open

I am getting this error - could not reproduce on 1.9.2-p290 - should I report to you or Ruby?

/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-protocol-0.8.4/lib/amq/protocol/frame.rb:83: [BUG] rb_gc_mark(): unknown data type 0x0(0x7f3ef9855218) non object
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
----
-- Control frame information -----------------------------------------------
c:0034 p:---- s:0119 b:0119 l:000118 d:000118 CFUNC :pack
c:0033 p:0066 s:0115 b:0114 l:000113 d:000113 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-protocol-0.8.4/lib/amq/protocol/frame.rb:83
c:0032 p:0050 s:0111 b:0110 l:000109 d:000109 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:249
c:0031 p:0012 s:0106 b:0106 l:001ab8 d:000105 BLOCK /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:264
c:0030 p:---- s:0103 b:0103 l:000102 d:000102 FINISH
c:0029 p:---- s:0101 b:0101 l:000100 d:000100 CFUNC :each
c:0028 p:0011 s:0098 b:0098 l:001ab8 d:000097 BLOCK /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:264
c:0027 p:0019 s:0096 b:0096 l:000095 d:000095 METHOD :10
c:0026 p:0015 s:0093 b:0093 l:000092 d:000092 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/channel.rb:100
c:0025 p:0012 s:0089 b:0089 l:001ab8 d:001ab8 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:263
c:0024 p:0126 s:0084 b:0084 l:000083 d:000083 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/exchange.rb:152
c:0023 p:0109 s:0074 b:0074 l:000598 d:000073 BLOCK /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/exchange.rb:482
c:0022 p:---- s:0071 b:0071 l:000070 d:000070 FINISH
c:0021 p:---- s:0069 b:0069 l:000068 d:000068 CFUNC :call
c:0020 p:0061 s:0066 b:0066 l:000065 d:000065 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/eventmachine-0.12.10/lib/em/deferrable.rb:47
c:0019 p:0015 s:0062 b:0062 l:000061 d:000061 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/channel.rb:924
c:0018 p:0032 s:0058 b:0058 l:000598 d:000598 METHOD /usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/exchange.rb:479
----
-- Ruby level backtrace information ----------------------------------------
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/exchange.rb:479:in `publish'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/channel.rb:924:in `once_open'
/usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/eventmachine-0.12.10/lib/em/deferrable.rb:47:in `callback'
/usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/eventmachine-0.12.10/lib/em/deferrable.rb:47:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amqp-0.8.4/lib/amqp/exchange.rb:482:in `block in publish'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/exchange.rb:152:in `publish'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:263:in `send_frameset'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/channel.rb:100:in `synchronize'
:10:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:264:in `block in send_frameset'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:264:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:264:in `block (2 levels) in send_frameset'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-client-0.8.7/lib/amq/client/async/adapter.rb:249:in `send_frame'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-protocol-0.8.4/lib/amq/protocol/frame.rb:83:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p0/gems/amq-protocol-0.8.4/lib/amq/protocol/frame.rb:83:in `pack'
----
-- C level backtrace information -------------------------------------------
ruby: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk,
fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Aborted