When reloading a large acl file while acl lookup is in progress, the broker 
core dumps
--------------------------------------------------------------------------------------

                 Key: QPID-2523
                 URL: https://issues.apache.org/jira/browse/QPID-2523
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.5, M4, 0.6
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu
             Fix For: 0.7


Description of problem:
When reloading a large acl file , the broker core dumps.
This surfaced while running the attached reproducer.

How reproducible:
Always -  reproducer attached.

Steps to Reproduce:
1. Start the broker with the acl module and and --acl-file /tmp/policy.acl
2. The initial acl file should contain only "acl allow all all"
3. run the message_sender.py (This program will keep on publishing to
amq.direct)
4. run acl_reloader.py with --mode allow | deny a few times

Actual results:
The broker core dumps.

Expected results:
The broker should continue to work after reloading the acl file properly.

Additional info:

Following is the backtrace from the code dump.

   1.
      (gdb) bt
   2.
      #0  0x00cbe422 in __kernel_vsyscall ()
   3.
      #1  0x00183781 in raise () from /lib/libc.so.6
   4.
      #2  0x0018504a in abort () from /lib/libc.so.6
   5.
      #3  0x001c1619 in __libc_message () from /lib/libc.so.6
   6.
      #4  0x001c7a71 in malloc_printerr () from /lib/libc.so.6
   7.
      #5  0x001ca363 in munmap_chunk () from /lib/libc.so.6
   8.
      #6  0x040a1681 in operator delete(void*) () from /usr/lib/libstdc++.so.6
   9.
      #7  0x0035243e in qpid::acl::AclData::clear (this=0x8221328) at
qpid/acl/AclData.cpp:40
  10.
      #8  0x003524ad in qpid::acl::AclData::~AclData (this=0x8221328,
__in_chrg=<value optimized out>) at qpid/acl/AclData.cpp:259
  11.
      #9  0x003515a8 in checked_delete<qpid::acl::AclData> (x=<value optimized
out>) at /usr/include/boost/checked_delete.hpp:34
  12.
      #10 boost::detail::sp_counted_impl_p<qpid::acl::AclData>::dispose
(x=<value optimized out>) at /usr/include/boost/detail/sp_counted_impl.hpp:78
  13.
      #11 0x0034e50b in boost::detail::sp_counted_base::release (this=<value
optimized out>) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:145
  14.
      #12 ~shared_count (this=<value optimized out>) at
/usr/include/boost/detail/shared_count.hpp:216
  15.
      #13 ~shared_ptr (this=<value optimized out>) at
/usr/include/boost/shared_ptr.hpp:165
  16.
      #14 qpid::acl::Acl::authorise (this=<value optimized out>) at
qpid/acl/Acl.cpp:86
  17.
      #15 0x00add720 in qpid::broker::SemanticState::route (this=0x82218a0,
msg={p_ = 0xb5644868}, strate...@0xb61fe178)
  18.
          at qpid/broker/SemanticState.cpp:447
  19.
      #16 0x00ade215 in qpid::broker::SemanticState::handle (this=0x82218a0,
msg={p_ = 0xb5644868}) at qpid/broker/SemanticState.cpp:415
  20.
............

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to