From: Alex W. <kin...@gm...> - 2012-04-09 11:45:01
|
Hi all, This one has me stumped. I seem to be getting a seg fault when I try and call WorldGui::Load with the simple.world file (unmodified) The valgrind output is as follows: ==8663== Invalid read of size 4 ==8663== at 0x447E426: ??? (in /usr/lib/mesa/libGL.so.1.2) ==8663== by 0x40DC1D3: Stg::Canvas::InitGl() (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x40DC331: Stg::Canvas::resize(int, int, int, int) (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x46742DA: Fl_Group::resize(int, int, int, int) (Fl_Group.cxx:533) ==8663== by 0x46B070B: Fl_Window::resize(int, int, int, int) (Fl_x.cxx:1032) ==8663== by 0x46AEB10: fl_handle(_XEvent const&) (Fl_x.cxx:997) ==8663== by 0x46AF6AD: do_queued_events() (Fl_x.cxx:176) ==8663== by 0x46AF94C: fl_wait(double) (Fl_x.cxx:201) ==8663== by 0x465DB94: Fl::wait(double) (Fl.cxx:368) ==8663== by 0x465DC3B: Fl::check() (Fl.cxx:412) ==8663== by 0x40E96BB: Stg::WorldGui::Load(std::string const&) (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x804F51A: StageUI::createWorld(std::string) (StageUI.cpp:34) ==8663== Address 0x430 is not stack'd, malloc'd or (recently) free'd ==8663== ==8663== ==8663== Process terminating with default action of signal 11 (SIGSEGV) ==8663== Access not within mapped region at address 0x430 ==8663== at 0x447E426: ??? (in /usr/lib/mesa/libGL.so.1.2) ==8663== by 0x40DC1D3: Stg::Canvas::InitGl() (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x40DC331: Stg::Canvas::resize(int, int, int, int) (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x46742DA: Fl_Group::resize(int, int, int, int) (Fl_Group.cxx:533) ==8663== by 0x46B070B: Fl_Window::resize(int, int, int, int) (Fl_x.cxx:1032) ==8663== by 0x46AEB10: fl_handle(_XEvent const&) (Fl_x.cxx:997) ==8663== by 0x46AF6AD: do_queued_events() (Fl_x.cxx:176) ==8663== by 0x46AF94C: fl_wait(double) (Fl_x.cxx:201) ==8663== by 0x465DB94: Fl::wait(double) (Fl.cxx:368) ==8663== by 0x465DC3B: Fl::check() (Fl.cxx:412) ==8663== by 0x40E96BB: Stg::WorldGui::Load(std::string const&) (in /usr/local/lib/libstage.so.4.1.1) ==8663== by 0x804F51A: StageUI::createWorld(std::string) (StageUI.cpp:34) ==8663== If you believe this happened as a result of a stack ==8663== overflow in your program's main thread (unlikely but ==8663== possible), you can try to increase the size of the ==8663== main thread stack using the --main-stacksize= flag. ==8663== The main thread stack size used in this run was 8388608. ==8663== ==8663== HEAP SUMMARY: ==8663== in use at exit: 339,082 bytes in 883 blocks ==8663== total heap usage: 10,055 allocs, 9,172 frees, 616,922 bytes allocated ==8663== ==8663== LEAK SUMMARY: ==8663== definitely lost: 0 bytes in 0 blocks ==8663== indirectly lost: 0 bytes in 0 blocks ==8663== possibly lost: 2,352 bytes in 99 blocks ==8663== still reachable: 336,730 bytes in 784 blocks ==8663== suppressed: 0 bytes in 0 blocks ==8663== Rerun with --leak-check=full to see details of leaked memory ==8663== ==8663== For counts of detected and suppressed errors, rerun with: -v ==8663== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 83 from 12) Segmentation fault The relevant code is as follows: Load is called in the createWorld function. StageUI::StageUI(int numberOfRobots) { vector<string> robotsNames; robotsNames.push_back("r0"); robots.resize(numberOfRobots); world = createWorld("/home/alex/Stage/worlds/simple-orig.world"); connectToAgents(world, robotsNames); world->Run(); } StageUI::~StageUI() { } Stg::WorldGui* StageUI::createWorld(string worldFile) { char *ptest[2]; int ntest = 1; ptest[0] = "0"; char **pptest = ptest; char ***ppptest = &pptest; // initialize libstage Stg::Init(&ntest, ppptest); Stg::WorldGui* world = new Stg::WorldGui(800, 700, "Evolution Training"); world->Load(worldFile.c_str()); return world; } I have this code but using World instead of WorldGui working just fine so I really don't know what's going on. Oh and the command "stage simple.world" works just fine. Also can you tell me if you prefer me to put the code on a site like pastbin where the syntax is highlighted and link to it or do you just want a copy in the email (thinking of you guys)? Regards Alex Wood |
From: Alex W. <kin...@gm...> - 2012-04-10 12:08:45
|
Hi, Just a update of what I found. I checked in installation paths for FLTK and they do correspond to where Stage thinks the various elements are (ran ccmake on the Stage installation and made sure everything was where is thought it was) I also tried installing the latest stable version of FLTK which did not change the error. Finally I tried running a FLTK demo that was provided by the FLTK package which ran perfectly. Any idea what it could be? Alex |
From: Richard V. <va...@sf...> - 2012-04-10 16:04:45
|
Please tell us what version of Stage you are using (4.1.1, git master, etc), and provide the backtrace following the crash in the debugger. Otherwise we'd be just guessing. Also, I prefer to offer Stage support via the github tracker these days. Richard/ On 2012-04-10, at 5:08 AM, Alex Wood <kin...@gm...> wrote: > Hi, > > Just a update of what I found. > > I checked in installation paths for FLTK and they do correspond to > where Stage thinks the various elements are (ran ccmake on the Stage > installation and made sure everything was where is thought it was) > > I also tried installing the latest stable version of FLTK which did > not change the error. > > Finally I tried running a FLTK demo that was provided by the FLTK > package which ran perfectly. > > Any idea what it could be? > > Alex > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users |
From: Alex W. <kin...@gm...> - 2012-04-10 18:39:27
|
Hi, I am using version version 4.1.1 Backtrace: Program received signal SIGSEGV, Segmentation fault. 0x00574426 in glLoadIdentity () from /usr/lib/mesa/libGL.so.1 (gdb) thread apply all backtrace Thread 1 (Thread 0xb7fe26e0 (LWP 10415)): #0 0x00574426 in glLoadIdentity () from /usr/lib/mesa/libGL.so.1 #1 0x001ccea7 in Stg::Canvas::FixViewport(int, int) () from /usr/local/lib/libstage.so.4.1.1 #2 0x001cd0c4 in Stg::Canvas::InitGl() () from /usr/local/lib/libstage.so.4.1.1 #3 0x001cd222 in Stg::Canvas::resize(int, int, int, int) () from /usr/local/lib/libstage.so.4.1.1 #4 0x007682db in Fl_Group::resize(int, int, int, int) () from /usr/lib/libfltk.so.1.1 #5 0x007a470c in Fl_Window::resize(int, int, int, int) () from /usr/lib/libfltk.so.1.1 #6 0x007a2b11 in fl_handle(_XEvent const&) () from /usr/lib/libfltk.so.1.1 #7 0x007a36ae in ?? () from /usr/lib/libfltk.so.1.1 #8 0x007a394d in fl_wait(double) () from /usr/lib/libfltk.so.1.1 #9 0x00751b95 in Fl::wait(double) () from /usr/lib/libfltk.so.1.1 #10 0x00751c3c in Fl::check() () from /usr/lib/libfltk.so.1.1 #11 0x001da5ac in Stg::WorldGui::Load(std::string const&) () from /usr/local/lib/libstage.so.4.1.1 #12 0x0804f593 in StageUI::createWorld (this=0x8064278, worldFile=...) at StageUI.cpp:34 #13 0x0804f34a in StageUI (this=0x8064278, numberOfRobots=1) at StageUI.cpp:16 #14 0x0804dcb3 in runTraining () at main.cpp:30 #15 0x0804dd09 in main (argc=1, argv=0xbffff484) at main.cpp:39 Thanks for the heads up, any other problems I come across I'll submit to the tracker. Thanks Alex |