[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Threads and exception handling BUG ???
From: |
Chabane Rezzik |
Subject: |
Threads and exception handling BUG ??? |
Date: |
28 May 2002 14:33:17 -0700 |
Hi there,
We have an ORB vendor that claims that gcc 2.95.3, on certain
platforms, generates exception handling code that is buggy.
They claim that high-traffic multithreaded applications may
crash because stack access violations can occur when throwing
C++ exceptions in this environment.
If that's true, where can I find reference to this issue? And is it
fixed in subsequent releases?
Here is the stack:
#0 0xdfbb71da in add_fdes ()
at
/VOBS/ngn_tools/Cygnus/cross_x86/alcatel-000815/H-sparc-sun-solaris2.5/bin/../lib/gcc-lib/i386-pc-s
olaris2.7/2.9-alcatel-000815/../../../../../include/g++-3/stl_map.h:76
#1 0xdfbb72ee in frame_init ()
at
/VOBS/ngn_tools/Cygnus/cross_x86/alcatel-000815/H-sparc-sun-solaris2.5/bin/../lib/gcc-lib/i386-pc-s
olaris2.7/2.9-alcatel-000815/../../../../../include/g++-3/stl_map.h:76
#2 0xdfbb7372 in find_fde ()
at
/VOBS/ngn_tools/Cygnus/cross_x86/alcatel-000815/H-sparc-sun-solaris2.5/bin/../lib/gcc-lib/i386-pc-s
olaris2.7/2.9-alcatel-000815/../../../../../include/g++-3/stl_map.h:76
#3 0xdfbb7a17 in __frame_state_for ()
at
/VOBS/ngn_tools/Cygnus/cross_x86/alcatel-000815/H-sparc-sun-solaris2.5/bin/../lib/gcc-lib/i386-pc-s
olaris2.7/2.9-alcatel-000815/../../../../../include/g++-3/stl_map.h:76
#4 0xdfbb63c7 in __throw ()
at
/VOBS/ngn_tools/Cygnus/cross_x86/alcatel-000815/H-sparc-sun-solaris2.5/bin/../lib/gcc-lib/i386-pc-s
olaris2.7/2.9-alcatel-000815/../../../../../include/g++-3/stl_map.h:76
#5 0xdf41026e in CORBA_TIMEOUT::_raise ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#6 0xdf406ed5 in XpsGIOPImpl::Client::Request_impl::raise ()
---Type <return> to continue, or q <return> to quit---
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#7 0xdf4060a3 in XpsGIOPImpl::Client::Request_impl::read_message ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#8 0xdf4066d7 in XpsGIOPImpl::Client::Request_impl::invoke ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#9 0xdf4059ac in XpsGIOPImpl::Client::Binding::invoke_request ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#10 0xdf3ea6ba in XpsPPF_Client_NullBinding::invoke_request ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#11 0xdf3e9860 in XpsPPF::Client::Stub::invoke_request ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#12 0xdf98cffc in CONFIG::Overrider_stub::promptUser (this=0x80e5360,
question=0x80fb8a8 "has a FIRMWARE MISMATCH.\nWould you like to
perform
a firmware upgrade?", address@hidden
xde407237) at oam.cc:482
#13 0x8058e1e in SmBtsMsgIF::interfaceWithGUI (this=0xde407244,
address@hidden, address@hidden, address@hidden)
at SmBtsMsgIF.cc:267
#14 0x80687ce in SmBtsBootLoaderProxy::process (this=0xde4077e4)
at SmBtsBootLoaderProxy.cc:419
#15 0x8073378 in SmBtsBootService_i::boot (this=0x80e5780,
address@hidden,
removeType_=RM_LOAD, maintType_=MT_MANUAL, address@hidden,
ov_=0x80e53e0) at SmBtsBootService_i.cc:104
#16 0xdf94e935 in POA_SmBts_BootService::_dispatch_boot
(__servant=0x80e5814,
---Type <return> to continue, or q <return> to quit---
address@hidden) at SmBtsInterfaces_s.cc:98
#17 0xdf94ef4c in POA_SmBts_BootService::_invoke (this=0x80e5814,
address@hidden) at SmBtsInterfaces_s.cc:192
#18 0xdf4016b3 in PortableServer::POA::_find_and_invoke ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#19 0xdf407f16 in XpsGIOPImpl::Server::Request_impl::invoke ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#20 0xdf4079d7 in XpsGIOPImpl::Server::Binding::deliver ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#21 0xdf40783e in XpsGIOPImpl::Server::Binding::wait_for_requests ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#22 0xdf4002e7 in XpsThreadedBinding::main ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
#23 0xdf459177 in XpsMT::Thread::entry ()
from /opt/VRTLorb/Eorb/lib/solaris2.7-gnu2.95.2-x86/libe_orb.so
Here is the code:
string userPrompt;
try {
// Set timeout
int guiRspnTime = 0;
guiRspnTime = cfgData->getGUITimeout();
SysMgr::SmReturnCode ret =
Singleton<SmVrtCorba>::instance()->setSyncTimeout( guiRspnTime
);
if( ret != SysMgr::SM_SUCCESS ) {
// Do without timeout.
}
// call the confirm method
ov_.promptUser ((const char *) userPrompt.c_str(), overrideID_);
string traceString;
switch (overrideID_) {
case false:
traceString = "GUI replied with NO_FW_UPGRADE.";
break;
case true:
traceString = "GUI replied with FW_UPGRADE.";
break;
default:
traceString = "GUI replied with UNKNOWN override code.";
overrideID_ = false;
break;
}
rc = SM_BTS_SUCCESS;
}
catch( const CORBA::Exception& ex ) {
// set the overrider boolean to false
overrideID_ = false;
}
Thanks,
Chabane
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Threads and exception handling BUG ???,
Chabane Rezzik <=