You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "James Birdsall (JIRA)" <qp...@incubator.apache.org> on 2009/10/29 02:28:59 UTC
[jira] Created: (QPID-2168) C++ broker crashes when declaring
durable binding with SQL persistence provider loaded
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:dev-subscribe@qpid.apache.org
[jira] Resolved: (QPID-2168) C++ broker crashes when declaring
durable binding with SQL persistence provider loaded
Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-2168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Huston resolved QPID-2168.
--------------------------------
Resolution: Fixed
Assignee: Steve Huston
Fixed on trunk r831167.
> 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
> Assignee: Steve Huston
> 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:dev-subscribe@qpid.apache.org
[jira] Commented: (QPID-2168) C++ broker crashes when declaring
durable binding with SQL persistence provider loaded
Posted by "James Birdsall (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-2168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772206#action_12772206 ]
James Birdsall commented on QPID-2168:
--------------------------------------
Confirmed, the broker no longer crashes.
> 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
> Assignee: Steve Huston
> 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:dev-subscribe@qpid.apache.org
[jira] Closed: (QPID-2168) C++ broker crashes when declaring
durable binding with SQL persistence provider loaded
Posted by "James Birdsall (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-2168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Birdsall closed QPID-2168.
--------------------------------
> 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
> Assignee: Steve Huston
> 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:dev-subscribe@qpid.apache.org