ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

So the backtrace ("Not enough registers or memory available to unwind further") made me wondering about memory issues. So instead of instantiating the class SlamCoreSlam, I simply tried to allocate memory in main.cpp.

So originally we had:

int main(int argc, char** argv)
{
    ros::init(argc, argv, "slam_coreslam");
    SlamCoreSlam cs;
    ros::spin();
    return(0);
}

Which, I changed to:

int main(int argc, char** argv)
{
    ros::init(argc, argv, "slam_coreslam");
    //SlamCoreSlam cs;
    SlamCoreSlam *cs = new SlamCoreSlam[1];
    ros::spin();
    delete[] cs;
    return(0);
}

And now it works fine. I don't know what is going on in the code to cause the segfault and still don't really understand why the first one would work in electric, but not in fuerte. But, at least, the problem was solved. Hope the solution may help some one in the future.