![]() |
|
#1
|
|||
|
|||
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
|
|||
|
|||
Re: what is this mean "__SLIP.DELETER__D"in c++Quote:
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
|
|||
|
|||
Re: what is this mean "__SLIP.DELETER__D"in c++Quote:
========================================== 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
|
|||
|
|||
Re: what is this mean "__SLIP.DELETER__D"in c++Quote:
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
|
|||
|
|||
Re: what is this mean "__SLIP.DELETER__D"in c++Quote:
Is this class a derived class? Are there any pure virtual functions? Virtual destructors? Stuff like that? Regards, Dave |
|
#6
|
|||
|
|||
Re: What does this mean "__SLIP.DELETER__D" in C++This is an interesting issues.
Quote:
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 GIDBlog
NARMY by crystalattice
| Thread Tools | Search this Thread |
| Rate This Thread | |
|
|
Network Sites: GIDNetwork · GIDWebHosts · GIDSearch · Learning Journal by J de Silva, The