ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » xehExceptionHandler

Post new topic  Reply to topic
 xehExceptionHandler « View previous topic :: View next topic » 
Author Message
Felix
PostPosted: Mon Dec 17, 2012 12:51 am    Post subject: xehExceptionHandler Reply with quote

Newbie

Joined: 18 Jan 2012
Posts: 9
Location: Bangalore

Hi All,

We encountered a problem with one of the programs. The program aborted abruptly. And we saw this in the CoreDumps:

Code:

#0  0xffffe410 in __kernel_vsyscall ()
#1  0x007fedf0 in raise () from /lib/libc.so.6
#2  0x00800701 in abort () from /lib/libc.so.6
#3  0xf7b6d90b in xehInterpretSavedSigaction () from /opt/mqm/lib/libmqmcs_r.so
#4  0xf7b6e35c in [b]xehExceptionHandler [/b]() from /opt/mqm/lib/libmqmcs_r.so
#5  <signal handler called>
#6  0x008478e5 in memcpy () from /lib/libc.so.6
#7  0x005bbed5 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned int, unsigned int, unsigned int) () from /usr/lib/libstdc++.so.6
#8  0x005bbfca in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_safe(unsigned int, unsigned int, char const*, unsigned int) ()
   from /usr/lib/libstdc++.so.6
#9  0x005bc065 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned int) () from /usr/lib/libstdc++.so.6
#10 0x005bc1e5 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*) () from /usr/lib/libstdc++.so.6
#11 0x080805e0 in Helper::Trim (this=0x82527a8, value=0xf51c9fd4 "  1.6 seconds") at Helper.cpp:330


This is what we have in helper.cpp:
Code:

string Helper::Trim ( const char* value )
{
  static string svalue;
  svalue = value;
  ... ...
}


When we look into the code, somehow we are unable to connect the reason of abort with the lines of code.
Is this exception caused because of the mq libraries or is the reason something else.

If this is because of the MQ, then please let us know if there are ways to over come such errors?

Thanks in advance. And please let me know if more details are required.
_________________
-
Felix
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Dec 17, 2012 5:59 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

What leads you to believe that MQ has anything to do with the problem, other than MQ libs show up in your core dump? If your program uses MQ, MQ libs will likely show up in all your core dumps, regardless of the cause.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
mvic
PostPosted: Tue Dec 18, 2012 2:27 pm    Post subject: Re: xehExceptionHandler Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

Felix wrote:
#5 <signal handler called>
#6 0x008478e5 in memcpy () from /lib/libc.so.6
#7 0x005bbed5 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned int, unsigned int, unsigned int) () from /usr/lib/libstdc++.so.6

You suffered a memory exception (SIGSEGV perhaps?) in your application process, during a call to memcpy() which was called from std::basic_string... and so on. MQ had previously installed a signal handler, so it gets control on your thread. MQ's exception handler is called xehExceptionHandler. The exception handler determines that it is running on a thread where MQ code is not currently running, so decides it is not MQ's business to handle this signal, and would normally pass control to the next handler. It seems there isn't a handler to pass control to, so it calls abort().

The real problem is, why was bad input passed to memcpy, leading it to suffer a memory exception? That's one for you to debug.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » xehExceptionHandler
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.