Archived
This forum has been archived. Please start a new discussion on GitHub.
Strange SEGV ...
Hello,
I contact you because i've a strange error. I'm using Ice version 3.1 on solaris (CC 5.8). I've made a simple application (client/server). Each client register a listener to the server. Every time the server generate a new information, it calls the remove method of the client listener.
However, some times i get the following error:
t@19 (l@10) signal SEGV (no mapping at the fault address) in IceInternal::incRef at line 14 in file "EndpointI.cpp"
14 void IceInternal::incRef(EndpointI* p) { p->__incRef(); }
(dbx) up
Current function is IceInternal::Handle<IceInternal::EndpointI>::Handle
up
83 incRef(this->_ptr);
(dbx) up
Current function is __rwstd::__construct<IceInternal::Handle<IceInternal::EndpointI>,IceInternal::Handle<IceInternal::EndpointI> >
188 new (p) T1(value);
(dbx) up
Current function is std::uninitialized_copy<const IceInternal::Handle<IceInternal::EndpointI>*,IceInternal::Handle<IceInternal::Endp
ointI>*>
739 __RWSTD::__construct(result++, *first++);
(dbx) up
Current function is std::vector<IceInternal::Handle<IceInternal::EndpointI>,std::allocator<IceInternal::Handle<IceInternal::Endpoint
I> > >::operator=
84 __end_of_storage = uninitialized_copy(x.begin(), x.end(), tmp);
(dbx) up
Current function is IceInternal::DirectReference::getConnection
1350 endpts = _endpoints; // Endpoint overrides are already applied on these endpoints.
(dbx) up
Current function is IceDelegateM::Ice::Object::setup
1314 __connection = __reference->getConnection(__compress);
(dbx) up
Current function is IceProxy::Ice::Object::__getDelegate
1050 d->setup(_reference);
(dbx) up
Current function is IceProxy::hdg::realtime::IListener::rawTickerEvent
896 ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
(dbx) up
Current function is IceProxy::hdg::realtime::IListener::rawTickerEvent
425 rawTickerEvent(tick, __defaultContext());
(dbx) up
Current function is hdg::realtime::Manager::rawTickerEvent
294 prx->rawTickerEvent(tick);
Before the prx->rawTickerEvent(tick), i've something like that:
IListenerPrx prx = IListenerPrx::uncheckedCast (myPrx->ice_timeout(8000));
Can you give a way to try to resolve it ?
Thank you.
Joël
I contact you because i've a strange error. I'm using Ice version 3.1 on solaris (CC 5.8). I've made a simple application (client/server). Each client register a listener to the server. Every time the server generate a new information, it calls the remove method of the client listener.
However, some times i get the following error:
t@19 (l@10) signal SEGV (no mapping at the fault address) in IceInternal::incRef at line 14 in file "EndpointI.cpp"
14 void IceInternal::incRef(EndpointI* p) { p->__incRef(); }
(dbx) up
Current function is IceInternal::Handle<IceInternal::EndpointI>::Handle
up
83 incRef(this->_ptr);
(dbx) up
Current function is __rwstd::__construct<IceInternal::Handle<IceInternal::EndpointI>,IceInternal::Handle<IceInternal::EndpointI> >
188 new (p) T1(value);
(dbx) up
Current function is std::uninitialized_copy<const IceInternal::Handle<IceInternal::EndpointI>*,IceInternal::Handle<IceInternal::Endp
ointI>*>
739 __RWSTD::__construct(result++, *first++);
(dbx) up
Current function is std::vector<IceInternal::Handle<IceInternal::EndpointI>,std::allocator<IceInternal::Handle<IceInternal::Endpoint
I> > >::operator=
84 __end_of_storage = uninitialized_copy(x.begin(), x.end(), tmp);
(dbx) up
Current function is IceInternal::DirectReference::getConnection
1350 endpts = _endpoints; // Endpoint overrides are already applied on these endpoints.
(dbx) up
Current function is IceDelegateM::Ice::Object::setup
1314 __connection = __reference->getConnection(__compress);
(dbx) up
Current function is IceProxy::Ice::Object::__getDelegate
1050 d->setup(_reference);
(dbx) up
Current function is IceProxy::hdg::realtime::IListener::rawTickerEvent
896 ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
(dbx) up
Current function is IceProxy::hdg::realtime::IListener::rawTickerEvent
425 rawTickerEvent(tick, __defaultContext());
(dbx) up
Current function is hdg::realtime::Manager::rawTickerEvent
294 prx->rawTickerEvent(tick);
Before the prx->rawTickerEvent(tick), i've something like that:
IListenerPrx prx = IListenerPrx::uncheckedCast (myPrx->ice_timeout(8000));
Can you give a way to try to resolve it ?
Thank you.
Joël
0
Comments
-
Hi Joël,
It looks like there's some sort of memory management or curruption problem. It's difficult to say what could be the cause without seeing more of your code. Could your perhaps post a small self compilable test case that we could use to reproduce it?
Cheers,
Benoit.0 -
Ok, i'll try to reproduce a small example that reproduce it, when it will be done, i'll send you.
Thank you
Joël0 -
Shame on me ... i've just forgot the _REENTRANT flags ...
Sorry
Joel0