sample program runtime error

The following sample c++ program on compilation gives a run time error.After debugging it says there’s a buffer overrun and points to a line in " gc_report.c " . Compiler - VS 2010. How can i get rid of it ?

#include "pandaFramework.h"
#include "pandaSystem.h"
#include "genericAsyncTask.h"
#include "asyncTaskManager.h"
#include "cIntervalManager.h"
#include "cLerpNodePathInterval.h"
#include "cMetaInterval.h"
// Global stuff
PT(AsyncTaskManager) taskMgr = AsyncTaskManager::get_global_ptr(); 
PT(ClockObject) globalClock = ClockObject::get_global_clock();
NodePath camera;
// Task to move the camera
AsyncTask::DoneStatus SpinCameraTask(GenericAsyncTask* task, void* data) {
  double time = globalClock->get_real_time();
  double angledegrees = time * 6.0;
  double angleradians = angledegrees * (3.14 / 180.0);
  camera.set_hpr(angledegrees, 0, 0);
  return AsyncTask::DS_cont;
int main(int argc, char *argv[]) {
  // Open a new window framework and set the title
  PandaFramework framework;
  framework.open_framework(argc, argv);
  framework.set_window_title("My Panda3D Window");
  // Open the window
  WindowFramework *window = framework.open_window();
  camera = window->get_camera_group(); // Get the camera and store it
  // Load the environment model
  NodePath environ = window->load_model(framework.get_models(),
  environ.set_scale(0.25 , 0.25, 0.25);
  environ.set_pos(-8, 42, 0);
  // Load our panda
  NodePath pandaActor = window->load_model(framework.get_models(),
  // Load the walk animation
  window->load_model(pandaActor, "panda-walk4");
  // Create the lerp intervals needed to walk back and forth
  PT(CLerpNodePathInterval) pandaPosInterval1, pandaPosInterval2,
    pandaHprInterval1, pandaHprInterval2;
  pandaPosInterval1 = new CLerpNodePathInterval("pandaPosInterval1",
    13.0, CLerpInterval::BT_no_blend,
    true, false, pandaActor, NodePath());
  pandaPosInterval1->set_start_pos(LPoint3f(0, 10, 0));
  pandaPosInterval1->set_end_pos(LPoint3f(0, -10, 0));
  pandaPosInterval2 = new CLerpNodePathInterval("pandaPosInterval2",
    13.0, CLerpInterval::BT_no_blend,
    true, false, pandaActor, NodePath());
  pandaPosInterval2->set_start_pos(LPoint3f(0, -10, 0));
  pandaPosInterval2->set_end_pos(LPoint3f(0, 10, 0));
  pandaHprInterval1 = new CLerpNodePathInterval("pandaHprInterval1", 3.0,
    true, false, pandaActor, NodePath());
  pandaHprInterval1->set_start_hpr(LPoint3f(0, 0, 0));
  pandaHprInterval1->set_end_hpr(LPoint3f(180, 0, 0));
  pandaHprInterval2 = new CLerpNodePathInterval("pandaHprInterval2", 3.0,
    true, false, pandaActor, NodePath());
  pandaHprInterval2->set_start_hpr(LPoint3f(180, 0, 0));
  pandaHprInterval2->set_end_hpr(LPoint3f(0, 0, 0));
  // Create and play the sequence that coordinates the intervals
  PT(CMetaInterval) pandaPace;
  pandaPace = new CMetaInterval("pandaPace");
  pandaPace->add_c_interval(pandaPosInterval1, 0,
  pandaPace->add_c_interval(pandaHprInterval1, 0,
  pandaPace->add_c_interval(pandaPosInterval2, 0,
  pandaPace->add_c_interval(pandaHprInterval2, 0,
  // Add our task.
  taskMgr->add(new GenericAsyncTask("Spins the camera",
    &SpinCameraTask, (void*) NULL));
  // This is a simpler way to do stuff every frame,
  // if you're too lazy to create a task.
  Thread *current_thread = Thread::get_current_thread();
  while(framework.do_frame(current_thread)) {
    // Step the interval manager
  return (0);

Please put your code between


tags when posting on the forums, that makes it more readable.

As for your issue, please make sure you’re using the latest development build of the SDK if you’re using MSVC 2010 and that you’re compiling in Release mode.

Sorry! I’ve edited the code and put it between code tags.
I have the latest SDK and I am compiling it in release mode.Other examples work fine except this one.

By “latest SDK”, which exact version do you mean?

Also, make sure you’re not making a unicode build.

Panda3d version - 1.8.1(Latest stable)
and I am using Multi-byte character set.