FYI, the getProcessName() problem has been fixed; see QPID-1998.

-Steve

> -----Original Message-----
> From: Alan Conway [mailto:acon...@redhat.com] 
> Sent: Monday, July 20, 2009 2:03 PM
> To: users@qpid.apache.org; Steve Huston
> Subject: Re: Async get
> 
> 
> Nithesh Shetty wrote:
> [snip]
> >  
> > Now the problem  is it give exception if u check the call 
> stack then 
> > it show ptr = 0x00000000 line 664
> > qpid::sys::SystemInfo::getProcessName() 
> > qpid::client::ConnectionHandler::ConnectionHandle()
> > qpid::client::ConnectionImpl::ConnectionImp()
> > qpid::client:Connection::open() ( open connection is from 
> read thread)
> >  
> > tested the above code on windows
> >  
> 
> There's a bug in the windows code for getProcessName which 
> might be the cause of 
> your woes.
> 
> std::string SystemInfo::getProcessName()
> {
>      // Only want info for the current process, so ask for 
> something specific.
>      // The module info won't be used here but it keeps the 
> snapshot limited to
>      // the current process so a search through all processes 
> is not needed.
>      HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 0);
>      if (snap == INVALID_HANDLE_VALUE)
>          return 0;
>          ^^^^^^^^
> 
> This return statment is constructing a string from a 0 
> pointer which is going to 
> lead to a null pointer crash. I don't know if its likely to 
> be the cause of your 
> crash since I don't know under what circumstances you'd get the 
> INVALID_HANDLE_VALUE.
> 


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscr...@qpid.apache.org

Reply via email to