[jira] Created: (QPID-2186) Windows - "vector iterator not dereferencable"

View: New views
4 Messages — Rating Filter:   Alert me  

[jira] Created: (QPID-2186) Windows - "vector iterator not dereferencable"

by Qpid Developers mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Windows - "vector iterator not dereferencable"
----------------------------------------------

                 Key: QPID-2186
                 URL: https://issues.apache.org/jira/browse/QPID-2186
             Project: Qpid
          Issue Type: Bug
          Components: C++ Client
         Environment: XP-SP2, VS2008, Boost_1_35, Python 3.0.1, ruby 1.8.6 and working copy revision: 828034
            Reporter: Larry Roloson


i have the direct listener built from the examples, and it throws the above exception when there is no broker running at the supplied address. It does connect and get messages when the broker is running.

The call stack when the exception occurs:
----------------------------------------------

> msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x00fa7e28, const wchar_t * file=0x00fa7798, unsigned int line=98)  Line 24 C++
  qpidcommond.dll!std::_Vector_const_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 98 + 0x14 bytes C++
  qpidcommond.dll!std::_Vector_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 340 C++
  qpidcommond.dll!std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::front()  Line 790 + 0x24 bytes C++
  qpidcommond.dll!std::priority_queue<boost::intrusive_ptr<qpid::sys::TimerTask>,std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >,std::less<boost::intrusive_ptr<qpid::sys::TimerTask> > >::top()  Line 207 C++
  qpidcommond.dll!qpid::sys::Timer::run()  Line 114 + 0xf bytes C++
  qpidcommond.dll!`anonymous namespace'::runRunnable(void * p=0x101e63d0)  Line 32 + 0xf bytes C++
  msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
  msvcr90d.dll!_threadstartex(void * ptd=0x0116b6d8)  Line 331 C
  kernel32.dll!7c80b729()
  [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
  boost_program_options-vc90-mt-gd-1_35.dll!003a0043()
  msvcr90d.dll!_mbsnbcpy_l(unsigned char * dst=0x00730063, const unsigned char * src=0x00000073, unsigned int cnt=6619236, localeinfo_struct * plocinfo=0x00610066)  Line 57 + 0x3d bytes C++

--
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@...


[jira] Commented: (QPID-2186) Windows - "vector iterator not dereferencable"

by Qpid Developers mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/QPID-2186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12785722#action_12785722 ]

Steve Huston commented on QPID-2186:
------------------------------------

I think this patch will do it, but I'd like some review before checking it in... Andrew Stitcher, can you please check this?

Index: Timer.cpp
===================================================================
--- Timer.cpp   (revision 886848)
+++ Timer.cpp   (working copy)
@@ -136,7 +136,8 @@
                 tasks.push(t);
             }
             }
-            monitor.wait(tasks.top()->sortTime);
+            if (!tasks.empty())
+                monitor.wait(tasks.top()->sortTime);
         }
     }
 }


> Windows - "vector iterator not dereferencable"
> ----------------------------------------------
>
>                 Key: QPID-2186
>                 URL: https://issues.apache.org/jira/browse/QPID-2186
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>         Environment: XP-SP2, VS2008, Boost_1_35, Python 3.0.1, ruby 1.8.6 and working copy revision: 828034
>            Reporter: Larry Roloson
>
> i have the direct listener built from the examples, and it throws the above exception when there is no broker running at the supplied address. It does connect and get messages when the broker is running.
> The call stack when the exception occurs:
> ----------------------------------------------
> > msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x00fa7e28, const wchar_t * file=0x00fa7798, unsigned int line=98)  Line 24 C++
>   qpidcommond.dll!std::_Vector_const_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 98 + 0x14 bytes C++
>   qpidcommond.dll!std::_Vector_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 340 C++
>   qpidcommond.dll!std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::front()  Line 790 + 0x24 bytes C++
>   qpidcommond.dll!std::priority_queue<boost::intrusive_ptr<qpid::sys::TimerTask>,std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >,std::less<boost::intrusive_ptr<qpid::sys::TimerTask> > >::top()  Line 207 C++
>   qpidcommond.dll!qpid::sys::Timer::run()  Line 114 + 0xf bytes C++
>   qpidcommond.dll!`anonymous namespace'::runRunnable(void * p=0x101e63d0)  Line 32 + 0xf bytes C++
>   msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
>   msvcr90d.dll!_threadstartex(void * ptd=0x0116b6d8)  Line 331 C
>   kernel32.dll!7c80b729()
>   [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
>   boost_program_options-vc90-mt-gd-1_35.dll!003a0043()
>   msvcr90d.dll!_mbsnbcpy_l(unsigned char * dst=0x00730063, const unsigned char * src=0x00000073, unsigned int cnt=6619236, localeinfo_struct * plocinfo=0x00610066)  Line 57 + 0x3d bytes C++

--
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@...


[jira] Commented: (QPID-2186) Windows - "vector iterator not dereferencable"

by Qpid Developers mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/QPID-2186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789332#action_12789332 ]

Larry Roloson commented on QPID-2186:
-------------------------------------

I tested the direct listener with the latest version of Timer.cpp and I still get the exception when the network connectivity is dropped (tested by unplugging the network cable on the windows server). I will try to attach a screen shot of the error.

> Windows - "vector iterator not dereferencable"
> ----------------------------------------------
>
>                 Key: QPID-2186
>                 URL: https://issues.apache.org/jira/browse/QPID-2186
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>         Environment: XP-SP2, VS2008, Boost_1_35, Python 3.0.1, ruby 1.8.6 and working copy revision: 828034
>            Reporter: Larry Roloson
>
> i have the direct listener built from the examples, and it throws the above exception when there is no broker running at the supplied address. It does connect and get messages when the broker is running.
> The call stack when the exception occurs:
> ----------------------------------------------
> > msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x00fa7e28, const wchar_t * file=0x00fa7798, unsigned int line=98)  Line 24 C++
>   qpidcommond.dll!std::_Vector_const_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 98 + 0x14 bytes C++
>   qpidcommond.dll!std::_Vector_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 340 C++
>   qpidcommond.dll!std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::front()  Line 790 + 0x24 bytes C++
>   qpidcommond.dll!std::priority_queue<boost::intrusive_ptr<qpid::sys::TimerTask>,std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >,std::less<boost::intrusive_ptr<qpid::sys::TimerTask> > >::top()  Line 207 C++
>   qpidcommond.dll!qpid::sys::Timer::run()  Line 114 + 0xf bytes C++
>   qpidcommond.dll!`anonymous namespace'::runRunnable(void * p=0x101e63d0)  Line 32 + 0xf bytes C++
>   msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
>   msvcr90d.dll!_threadstartex(void * ptd=0x0116b6d8)  Line 331 C
>   kernel32.dll!7c80b729()
>   [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
>   boost_program_options-vc90-mt-gd-1_35.dll!003a0043()
>   msvcr90d.dll!_mbsnbcpy_l(unsigned char * dst=0x00730063, const unsigned char * src=0x00000073, unsigned int cnt=6619236, localeinfo_struct * plocinfo=0x00610066)  Line 57 + 0x3d bytes C++

--
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@...


[jira] Updated: (QPID-2186) Windows - "vector iterator not dereferencable"

by Qpid Developers mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/QPID-2186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Larry Roloson updated QPID-2186:
--------------------------------

    Attachment: screenshot-1.jpg

This is the dialog that pops up when the cable is unplugged

> Windows - "vector iterator not dereferencable"
> ----------------------------------------------
>
>                 Key: QPID-2186
>                 URL: https://issues.apache.org/jira/browse/QPID-2186
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>         Environment: XP-SP2, VS2008, Boost_1_35, Python 3.0.1, ruby 1.8.6 and working copy revision: 828034
>            Reporter: Larry Roloson
>         Attachments: screenshot-1.jpg
>
>
> i have the direct listener built from the examples, and it throws the above exception when there is no broker running at the supplied address. It does connect and get messages when the broker is running.
> The call stack when the exception occurs:
> ----------------------------------------------
> > msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x00fa7e28, const wchar_t * file=0x00fa7798, unsigned int line=98)  Line 24 C++
>   qpidcommond.dll!std::_Vector_const_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 98 + 0x14 bytes C++
>   qpidcommond.dll!std::_Vector_iterator<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::operator*()  Line 340 C++
>   qpidcommond.dll!std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >::front()  Line 790 + 0x24 bytes C++
>   qpidcommond.dll!std::priority_queue<boost::intrusive_ptr<qpid::sys::TimerTask>,std::vector<boost::intrusive_ptr<qpid::sys::TimerTask>,std::allocator<boost::intrusive_ptr<qpid::sys::TimerTask> > >,std::less<boost::intrusive_ptr<qpid::sys::TimerTask> > >::top()  Line 207 C++
>   qpidcommond.dll!qpid::sys::Timer::run()  Line 114 + 0xf bytes C++
>   qpidcommond.dll!`anonymous namespace'::runRunnable(void * p=0x101e63d0)  Line 32 + 0xf bytes C++
>   msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
>   msvcr90d.dll!_threadstartex(void * ptd=0x0116b6d8)  Line 331 C
>   kernel32.dll!7c80b729()
>   [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
>   boost_program_options-vc90-mt-gd-1_35.dll!003a0043()
>   msvcr90d.dll!_mbsnbcpy_l(unsigned char * dst=0x00730063, const unsigned char * src=0x00000073, unsigned int cnt=6619236, localeinfo_struct * plocinfo=0x00610066)  Line 57 + 0x3d bytes C++

--
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@...