Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
M4, 0.5, 0.6
-
None
Description
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=
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.
............