Too many problems when release a scene

Im getting too many random errors when release/delete some scenes and sprites

Most times the Xcode show this code when i got error:

// delete all updates that are morked for deletion
// updates with priority < 0
DL_FOREACH_SAFE(m_pUpdatesNegList, pEntry, pTmp)
{
if (pEntry~~>markedForDeletion)
{
this~~>removeUpdateFromHash(pEntry);
}
}

My code:

HEADER

#ifndef SplashScene_H
#define SplashScene_H
>
#include “…/GameObjects.h”
#include “CCScene.h”
#include “CCLayer.h”
#include “CCSprite.h”
>
class GameObjects;
>
class SplashScene : public cocos2d::CCScene
{
public:
SplashScene();
virtual ~SplashScene() {}
virtual void init();
virtual void release();
private:
cocos2d::CCSprite sprite;
cocos2d::CCLayerColor
backgorundLayer;
>
virtual std::string getImage();
virtual cocos2d::CCRect getRect();
};
>
#endif

IMPLEMENTATION

#include “SplashScene.h”
>
SplashScene::SplashScene()
{
>
}
>
void SplashScene::init()
{
CCScene::init();
>
backgorundLayer = new cocos2d::CCLayerColor();
backgorundLayer~~>initWithColor);
backgorundLayer~~>setContentSize(cocos2d::CCSize(GameObjects::director~~>getWinSize.width, GameObjects::director~~>getWinSize().height));
addChild(backgorundLayer);
>
sprite = cocos2d::CCSprite::spriteWithFile(getImage().c_str(), getRect());
>
float width = (GameObjects::director~~>getWinSize.width/2)~~ (sprite~~>getContentSize.width/2);
float height = .height/2)~~ (sprite~~>getContentSize.height/2);
>
width = GameObjects::director~~>getWinSize().width / 2;
height = GameObjects::director~~>getWinSize.height / 2;
>
sprite~~>setPosition( cocos2d::CCPoint(width, height) );
>
addChild(sprite);
}
>
std::string SplashScene::getImage()
{
return “”;
}
>
cocos2d::CCRect SplashScene::getRect()
{
return cocos2d::CCRectMake(0, 0, 0, 0);
}
>
void SplashScene::release()
{
this~~>removeAllChildrenWithCleanup;
CCScene::release;
}
The code to drop/delete/release my scene:
for; x++)
{
scenes[x]>release();
}
>
scenes.clear();
GameObjects::director
>resetDirector;
And to change from a scene to other:
GameObjects::director~~>resetDirector();
GameObjects::director->runWithScene(scenes.at(0));

Cocos2dx is so confusing, i don’t understand whats the best way to do it. Can anyone help me?

problem solved.

i use:
replaceScene

from director. when i use reset, it is releasing my scene and it childs objects.

ty.