GIDForums  

Go Back   GIDForums > Computer Programming Forums > CPP / C++ Forum
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
 
Thread Tools Search this Thread Rate Thread
  #1  
Old 04-May-2008, 05:36
kmathanbe kmathanbe is offline
New Member
 
Join Date: Dec 2006
Location: india
Posts: 12
kmathanbe is on a distinguished road
Post

What does this mean "__SLIP.DELETER__D" in C++


Hi Friends,

I am new into c++. i got one core dump.

can anyone tell me , what is this "__SLIP.DELETER__D".

the core dump is :
0006a4a8 __SLIP.DELETER__D (1e94458, 1, 1, 1, 4, 6a4a4) + 4

thanks
  #2  
Old 04-May-2008, 08:10
davekw7x davekw7x is offline
Outstanding Member
 
Join Date: Feb 2004
Location: Left Coast, USA
Posts: 4,620
davekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to behold

Re: what is this mean "__SLIP.DELETER__D"in c++


Quote:
Originally Posted by kmathanbe
...can anyone tell me...
This means nothing in C++. It's a message that is part of some debugging information generated by your compiler when it linked its run-time code in with your program.

It might have something to do with feeding an invalid argument to the delete operator.

It might have been caused by something in your program writing to invalid memory (beyond the end of an array, for example).

It might have been caused by any number of program bugs like trying to read from a file that failed to open.

It might have been caused...

Bottom line: Show us some code and tell us what compiler you are using.

Regards,

Dave
  #3  
Old 05-May-2008, 04:54
kmathanbe kmathanbe is offline
New Member
 
Join Date: Dec 2006
Location: india
Posts: 12
kmathanbe is on a distinguished road

Re: what is this mean "__SLIP.DELETER__D"in c++


Quote:
Originally Posted by davekw7x
This means nothing in C++. It's a message that is part of some debugging information generated by your compiler when it linked its run-time code in with your program.

It might have something to do with feeding an invalid argument to the delete operator.

It might have been caused by something in your program writing to invalid memory (beyond the end of an array, for example).

It might have been caused by any number of program bugs like trying to read from a file that failed to open.

It might have been caused...

Bottom line: Show us some code and tell us what compiler you are using.

Regards,

Dave





==========================================
here i am attaching the code & i am using GCC compiler
-----------------------------------------------------

FMA_ContextMack::returnCode
FMA_ContextMack::acknowledge(const char* system_name)
{
RWSortedVectorIterator it(alRecs);
if (alRecsToBeRemoved.entries() > 0)
alRecsToBeRemoved.clear();

IMH_event_agent eventAgent;
if (system_name != NULL)
eventAgent.Set_system_name(system_name);

//Load the cache with additional attributes from
//FMA_alarm_list if they have not already been loaded.
//This is the only way to get the attributes for a
//clear alarm into the cache before it's removed from the
//FMA_alarm_list.
FMA_ContextMackRec *rec = (FMA_ContextMackRec *) it();
if ( !rec )
{
//The iterator is empty. There are no corresponding alarms found in the cache.
return NO_ALARMS_IN_CACHE;
}
FMA_context_mo * mo = NULL;
it.reset();
while (rec = (FMA_ContextMackRec *) it()) {
FMA_key_alarm * cacheRec = FMA_alarm_cache::Obtain_alarm(rec->Get_origlog_rec_id());
int fmAlarmId = cacheRec->Get_fmAlarmId();
int fmAlarmIdChecked = cacheRec->isFmAlarmIdChecked();

//If fmalarmid is not checked and alarmid is not checked then load.
if(!cacheRec->isFmAlarmIdChecked() || !cacheRec->isAlarmIdChecked())
{
mo = (FMA_context_mo*)rec->managed_object;
if(mo)
{
FMA_handler_alrec* alr = mo->alarm_list->Obtain_alarm_h(
cacheRec->Get_log_record_id());
if (alr != NULL && alr->Get_status() == FMA_OK)
{
fmAlarmId = alr->Get_alarm_id();
if (fmAlarmId < 0)
fmAlarmId = cacheRec->Get_log_record_id();
cacheRec->fmAlarmId = fmAlarmId; // update the cache object with fmAlarmId
cacheRec->fmAlarmIdChecked = TRUE;
cacheRec->extAlarmId = alr->Get_extAlarmId(); // update the cache object with alarmId
cacheRec->alarmIdChecked = TRUE;
cacheRec->suaId = alr->Get_suaId(); // update the cache object with suaId
cacheRec->systemType = alr->Get_systemType();
}
delete alr;
alr = NULL;
}
}
}

_AllAlarmsAck = 1;
returnCode ret = OK;
// Acknowledge each object. Note that Error Events are removed from the DB
it.reset();
rec = (FMA_ContextMackRec *) it();
// Acknowledge each object. Note that Error Events are removed from the DB
if(_Unack == TRUE){
ret = unackDatabase();
}else{
ret = ackDatabase();
}

//Remove the list elements contained in alRecsToBeRemoved
// from the alRecs list
RWSlistCollectablesIterator rmIt(alRecsToBeRemoved);
FMA_ContextMackRec *tmpRec = NULL;
while (tmpRec = (FMA_ContextMackRec *) rmIt())
alRecs.remove(tmpRec);
if (alRecsToBeRemoved.entries() > 0)
alRecsToBeRemoved.clear();

// Check first if we succeeded to acknowledge all alarms, then send
// messages and update cache.
if (ret == OK) {
it.reset();
while (rec = (FMA_ContextMackRec *) it()) {
FMA_key_alarm * talRec = FMA_alarm_cache::Obtain_alarm(rec->Get_origlog_rec_id());
//Check if alarm exists and that it's not already acknowledged.
if (talRec && (talRec->Is_acknowledged() == FALSE || _Unack == TRUE)) {
if (_Unack) {
talRec->updateState(FMA_key_alarm::ACTION_UNACK);
} else {
if (talRec->SendAcknowledgeToNMS()){
talRec->updateState(FMA_key_alarm::ACTION_ACK);
}
else{
talRec->updateState(FMA_key_alarm::ACTION_ACK_NO_ROUTE_TO _NMS);
}
}

rec->Set_fmAlarmId(talRec->Get_fmAlarmId());
rec->Set_alarm_state(talRec->fmAlarmState);
//Send message to 240002/6 (FMII server, BNSI Agent...)
const char * msgBuffer = rec->Get_msg();
int msgLen = rec->Get_length();
if ( talRec->Get_display_status() != FMA_alarm_record::HIDE ){
if (eventAgent.Send_message((_Unack == TRUE) ?
FMA_FMII_UN_ACK_MESSAGE_TYPE_NO : FMA_FMII_ACK_MESSAGE_TYPE_NO,
msgLen, msgBuffer) < 0) {
ret = SUBSCRIPTION_ERROR;
}
}

// Send ack message to FM SupiProxy 240011/12
if (FMA_context_admin::Is_ack_downwards_enabled() && (talRec->Get_extAlarmId() != NULL)) {

FMA_handler_alrec* alr = NULL;
alr = new FMA_handler_alrec(*talRec);
if (alr != NULL && alr->Get_status() == FMA_OK)
{
alr->tmos_ctrl_info.clear();
alr->tmos_ctrl_info.set("RouteToNMS", talRec->Get_routeToNMS());
alr->tmos_ctrl_info.set("suaId", talRec->Get_suaId());
alr->tmos_ctrl_info.set("alarmId", talRec->Get_extAlarmId());
alr->tmos_ctrl_info.set("operator", _opName);
char fmAlarmIdStr[32];
sprintf(fmAlarmIdStr, "%d", talRec->Get_fmAlarmId());
alr->tmos_ctrl_info.set("FmAlarmId", fmAlarmIdStr);
alr->tmos_ctrl_info.set("SystemType", talRec->Get_systemType());

// HF30189: Add attribute "cleared" with value "1" if the
// original alarm is cleared, and "0" otherwise.
char clearedStr[2];
memset(clearedStr, 0, 2);
sprintf(clearedStr, "%d", talRec->Is_cleared());
alr->tmos_ctrl_info.set("cleared", clearedStr);

// add communicating object to tmos_ctrl_info
mo = (FMA_context_mo*)rec->managed_object;
if(mo)
{
char * oor = strdup(talRec->object_of_reference);
char * comObj = mo->administrator->Strip_to_ne(oor);
if (comObj)
alr->tmos_ctrl_info.set("comObject", comObj);
if(oor)
{
free(oor);
oor = NULL;
}
}
(void) alr->Get_alarm_message();
const char* msgB = alr->Get_alarm_message();
int msgL = alr->Get_alarm_message_length();

// Send it to supiproxy
int FMA_FMAI_ACK_MESSAGE_TYPE_NO = 240011;
int FMA_FMAI_UN_ACK_MESSAGE_TYPE_NO = 240012;
if (eventAgent.Send_message((_Unack == TRUE) ?
FMA_FMAI_UN_ACK_MESSAGE_TYPE_NO : FMA_FMAI_ACK_MESSAGE_TYPE_NO,
msgL, msgB) < 0) {
ret = SUBSCRIPTION_ERROR;
}
}
if(alr != NULL)
{
delete alr;
alr = NULL;
}
}

}

//update cache with info about operator name and acknowledgement / unacknowledgement
//FMA_key_alarm * talRec = FMA_alarm_cache::Obtain_alarm(rec->Get_origlog_rec_id());
if (talRec) {
talRec->operator_name = _opName;
if (_Unack == FALSE) {
// Fetch some attributes before removal.
int severity = talRec->Get_perceived_severity();
int recordType = talRec->Get_record_type();
int corr_lrid = talRec->corr_lrid;

if (talRec->Is_cleared() == TRUE )
{ // This alarm has a corresponding ceasing which also shall be removed
FMA_alarm_cache::Remove_and_delete_correlated(rec->Get_origlog_rec_id());
FMA_alarm_cache::Remove_and_delete_alarm(talRec);
}
if ((severity == FMA_alarm_record::CLEARED )
|| (recordType == FMA_alarm_record::ERROR_MESSAGE)
|| (recordType == FMA_alarm_record::REPEATED_ERROR_MESSAGE))
{
if (severity == FMA_alarm_record::CLEARED ) {
FMA_alarm_cache::Remove_and_delete_alarm(corr_lrid );
}
FMA_alarm_cache::Remove_and_delete_alarm(talRec);
}
}
}
}
}
if (_AllAlarmsAck) {
return ret;
} else {
if (ret == OK) {
return NOT_ALL_ALARMS_ACK;
} else {
return ret;
}
}
}
  #4  
Old 05-May-2008, 12:28
davekw7x davekw7x is offline
Outstanding Member
 
Join Date: Feb 2004
Location: Left Coast, USA
Posts: 4,620
davekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to behold

Re: what is this mean "__SLIP.DELETER__D"in c++


Quote:
Originally Posted by kmathanbe
...
Over 200 lines of code that can't be compiled since we don't have the class definitions.

Also, for a project of this size, some of us may not have enough personal bandwidth (or direct experience or motivation) to get into the middle of it.

I'm thinking that you might consider learning to use gdb. It has the capability of telling exactly where in your code certain problems occur. (There is a learning curve, and it's kind of hard to give advice and help without stepping through it with you personally. Sorry. Maybe someone else...)

Regards,

Dave
  #5  
Old 05-May-2008, 14:30
davekw7x davekw7x is offline
Outstanding Member
 
Join Date: Feb 2004
Location: Left Coast, USA
Posts: 4,620
davekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to behold

Re: what is this mean "__SLIP.DELETER__D"in c++


Quote:
Originally Posted by kmathanbe
...using GCC compiler
What was the command line? Did you use '-Wall -W -pedantic' switches? Were there any messages from the compiler? Anything at all?

Is this class a derived class? Are there any pure virtual functions? Virtual destructors? Stuff like that?

Regards,

Dave
  #6  
Old 06-May-2008, 04:42
Peter_APIIT Peter_APIIT is offline
Regular Member
 
Join Date: May 2007
Location: Malaysia
Posts: 400
Peter_APIIT is on a distinguished road

Re: What does this mean "__SLIP.DELETER__D" in C++


This is an interesting issues.

Quote:
http://archive.netbsd.se/?ml=dtrace-discuss&a=2006-08&t=2300473
http://forum.java.sun.com/thread.jspa?threadID=5071241&messageID=9261832

There say you have a virtual destructor and have file local scope.

I also want to know.
__________________
Linux is the best OS in the world.
 

Recent GIDBlogNARMY by crystalattice

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Network Sites: GIDNetwork · GIDWebHosts · GIDSearch · Learning Journal by J de Silva, The

All times are GMT -6. The time now is 16:13.


vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.