Crash calling setShaderProgram

Hi,

I have some problems with transitions between scenes. I want to try to reload my game, so I change the scene for a loading scene. Then, after destroy the old game scene, I made a transition to the new game scene.
But I’m finding a lot of errors when cocos2dx try to retain certain nodes. For example, when I try to reload my scene, the game crash after execute this line:

setShaderProgram(CCShaderCache::sharedShaderCache()>programForKey);
The game crash in this point:
setShaderProgram
—> CCNode::setShaderProgram
——> void CCObject::retain
{
CCAssert; <——
CRASH

++m_uReference;
}

It’s like all the shaders are in de shaderCache dictionary, but theirs m_uReference are 0.

I’ve tried to purge the ShaderCache, reload all the default shaders…

Anybody can help me please? I should purge or reset something before load the game scene?

Thanks in advance