C++ broker crashes when declaring durable binding with SQL persistence provider
loaded
--------------------------------------------------------------------------------------
Key: QPID-2168
URL: https://issues.apache.org/jira/browse/QPID-2168
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: 0.6
Environment: Windows Server 2008
Reporter: James Birdsall
Fix For: 0.6
The SQL persistence provider creates the QpidStore database on startup if it is
not already present. The first time I run the smoke test after this, declaring
durable exchanges and queues succeeds, but declaring the first durable binding
(between a durable exchange and a durable queue) causes the broker to crash.
This same set of operations works fine if the persistence provider is not
loaded.
ChildEBP RetAddr
00cbc68c 66cde9ad MSVCR90D!get_pgmptr+0x1c5
00cbc9c8 66cb02ee MSVCR90D!abort+0x2d
00cbc9fc 66cb19e0 MSVCR90D!terminate+0x6e
00cbca10 66cb1b26 MSVCR90D!_FrameUnwindFilter+0x40
00cbd02c 66cb1c15 MSVCR90D!_FrameUnwindFilter+0x186
00cbd04c 66cb151a MSVCR90D!_FrameUnwindFilter+0x275
00cbd0c4 66cb11d7 MSVCR90D!_ValidateWrite+0x4ba
00cbd0f4 66cb04ac MSVCR90D!_ValidateWrite+0x177
00cbd130 772cb6d1 MSVCR90D!_CxxFrameHandler3+0x2c
00cbd154 772cb6a3 ntdll32!RtlUnwind+0x25c
00cbd1fc 772aee57 ntdll32!RtlUnwind+0x22e
00cbd580 66caf8f2 ntdll32!KiUserExceptionDispatcher+0xf
00cbd5c0 676b2da9 MSVCR90D!CxxThrowException+0x52
00cbd5e0 676b2b20 mssql_stored!_com_raise_error(
HRESULT hr = 0x80040e2f,
struct IErrorInfo * perrinfo = 0x00000000`03b3ce60)+0x39
00cbd610 676a322d mssql_stored!_com_issue_errorex(
HRESULT hr = 0x80040e2f,
struct IUnknown * punk = 0x00000000`072a58f0,
struct _GUID * riid = 0x00000000`676c2a24
{0000050e-0000-0010-8000-00aa006d2ea4})+0xd0
00cbd654 676a1a89 mssql_stored!Recordset15::Update(
class _variant_t * Fields = 0x00000000`676d1638,
class _variant_t * Values = 0x00000000`676d1638)+0xbd
00cbd77c 67684d6c mssql_stored!qpid::store::ms_sql::BindingRecordset::add(
unsigned int64 exchangeId = 0,
class
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *
queueName = 0x00000000`02ed7258, // this is "Q1" as expected
class
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *
routingKey = 0x00000000`02edc0ac, // this is "key1" as expected
class qpid::framing::FieldTable * args =
0x00000000`02edc0cc)+0x3b9
00cbd8b8 6708520e mssql_stored!qpid::store::ms_sql::MSSqlProvider::bind(
class qpid::broker::PersistableExchange * exchange =
0x00000000`02ed33b8,
class qpid::broker::PersistableQueue * queue =
0x00000000`02ed7240,
class
std::basic_string<char,std::char_traits<char>,std::allocator<char> > * key =
0x00000000`02edc0ac,
class qpid::framing::FieldTable * args =
0x00000000`02edc0cc)+0xec
00cbd8dc 5aaee2af stored!qpid::store::MessageStorePlugin::bind(
class qpid::broker::PersistableExchange * exchange =
0x00000000`02ed33b8,
class qpid::broker::PersistableQueue * queue =
0x00000000`02ed7240,
class
std::basic_string<char,std::char_traits<char>,std::allocator<char> > * key =
0x00000000`02edc0ac,
class qpid::framing::FieldTable * args =
0x00000000`02edc0cc)+0x4e
00cbd998 5ab3d50f qpidbrokerd!qpid::broker::MessageStoreModule::bind(
class qpid::broker::PersistableExchange * e =
0x00000000`02ed33b8,
class qpid::broker::PersistableQueue * q =
0x00000000`02ed7240,
class
std::basic_string<char,std::char_traits<char>,std::allocator<char> > * k =
0x00000000`02edc0ac,
class qpid::framing::FieldTable * a =
0x00000000`02edc0cc)+0x8f
--
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:[email protected]