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]

Reply via email to