Hi Karel,
Thanks for the response. I plan on using newer versions of gcc on the
cluster in the future. (Unfortunately, the default compiler version on
the Linux clusters is gcc 3.3.3.) I'm trying 3.3.6 now since I noticed
that they added initialization code to the STL List Iterator:
http://gcc.gnu.org/viewcvs/branches/gcc-3_3-branch/libstdc%2B%2B-v3/include/bits/stl_list.h?view=log
I've also noticed some odd behavior in function pointers where the
address was set to 0xf0 or 0x10 instead of 0x0 for null. This may be
fixed, like you mentioned, by newer versions of gcc as well.
Thanks!
Rob
Karel Gardas wrote:
Hi,
I would personally strongly recommend you to try to use more recent
GCC compiler. For your information, we've used recent GCC 3.4.x/4.0.x
and 4.1.x on AMD64/Linux platform without any issue. Please report if
the issue persists even while using some of these compilers.
Cheers,
Karel
PS: Personally I'm using 4.1.x for MICO development.
On Tue, 2 Jan 2007, Rob Ratcliff wrote:
Hi ,
I've been getting a segmentation fault in the latest version of MICO
in the check_idle() method defined in iiop.cc.
It looks like one of the nodes in the list are null, which causes a
seg fault when the size of the List is requested.
I compiled MICO with threads disabled using gcc 3.3.3 (see below for
details) on a 64 bit Linux box. The detailed stack trace is shown
below as well.
Has anybody else seen this behavior. This fatal error only happens
intermittently (like every couple of days) so it is hard to debug.
Thanks,
Rob
#0 0x0000002a95fcf25b in std::_List_iterator_base::_M_incr
(this=0x7fbfff1558) at stl_list.h:116
116 { _M_node = _M_node->_M_next; }
#0 0x0000002a95fcf25b in std::_List_iterator_base::_M_incr
(this=0x7fbfff1558) at stl_list.h:116
#1 0x0000002a968af9cd in std::_List_iterator<CORBA::Buffer*,
CORBA::Buffer* const&, CORBA::Buffer* const*>::operator++ (
this=0x7fbfff1558) at stl_list.h:177
#2 0x0000002a968af9a8 in
__distance<std::_List_iterator<CORBA::Buffer*, CORBA::Buffer* const&,
CORBA::Buffer* const*> > (__first=
{<std::_List_iterator_base> = {_M_node = 0x0}, <No data
fields>}, __last=
{<std::_List_iterator_base> = {_M_node = 0xad8aa0}, <No data
fields>}) at stl_iterator_base_funcs.h:82
#3 0x0000002a968af963 in
distance<std::_List_iterator<CORBA::Buffer*, CORBA::Buffer* const&,
CORBA::Buffer* const*> > (__first=
{<std::_List_iterator_base> = {_M_node = 0xb05ee0}, <No data
fields>}, __last=
{<std::_List_iterator_base> = {_M_node = 0xad8aa0}, <No data
fields>}) at stl_iterator_base_funcs.h:114
#4 0x0000002a968af8cb in std::list<CORBA::Buffer*,
std::allocator<CORBA::Buffer*> >::size (this=0x9b7070) at stl_list.h:632
#5 0x0000002a968a2b11 in MICO::GIOPConn::check_idle (this=0x9b7050)
at iop.cc:2972
#6 0x0000002a968a2cbb in MICO::GIOPConn::deref (this=0x9b7050, all=0
'\0') at iop.cc:3015
#7 0x0000002a968aa7ce in MICO::IIOPServer::deref_conn
(this=0x6a0960, conn=0x9b7050, all=0 '\0') at iop.cc:5302
#8 0x0000002a968aa561 in MICO::IIOPServer::del_invoke_orbid
(this=0x6a0960, rec=0x85ba50) at iop.cc:5241
#9 0x0000002a968ac3d3 in MICO::IIOPServer::handle_invoke_reply
(this=0x6a0960, id=0x84b380) at iop.cc:5779
#10 0x0000002a968ace90 in MICO::IIOPServer::notify (this=0x6a0960,
id=0x84b380, ev=Invoke) at iop.cc:6021
#11 0x0000002a9687c04e in CORBA::ORB::answer_invoke (this=0x6a3c30,
id=0x84b380, stat=InvokeOk, obj=0x0, req=0x7a8b00, ad=0)
at orb.cc:2909
#12 0x0000002a96975eaa in MICOPOA::POA_impl::answer_invoke
(this=0x6e5f10, id=0x84b380, obj=0x798b50, oreq=0x7a8b00, stat=InvokeOk)
at poa_impl.cc:4174
#13 0x0000002a96890612 in ~ServerRequest (this=0x81c840) at dsi.cc:109
#14 0x0000002a96976177 in release (o=0x81c840) at object.h:69
#15 0x0000002a96968bce in ~InvocationRecord (this=0x80f620) at
poa_impl.cc:1449
#16 0x0000002a96976177 in release (o=0x80f620) at object.h:69
_______________________________________________
Mico-devel mailing list
[email protected]
http://www.mico.org/mailman/listinfo/mico-devel