Segfault in libGLU.so related to Blocks #31

Closed
kbogert opened this Issue Oct 19, 2012 · 5 comments

Comments

Projects
None yet
3 participants

kbogert commented Oct 19, 2012

I'm seeing a reproducible segfault in libGLU.so when loading a world file in which a position model has a block. Removing the block prevents the crash, as does running stage without graphics enabled.

The example world file is at: https://kforge.ros.org/navigation/tutorials/file/d1f3dda4fd5a/roomba_stage/roomba_lse_arena.world

Starting program: /opt/ros/fuerte/stacks/stage/bin/stageros /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0x42720b40 (LWP 7706)]
[New Thread 0x42921b40 (LWP 7707)]
[New Thread 0x42d00b40 (LWP 7708)]
[New Thread 0x43200b40 (LWP 7715)]
[New Thread 0x4516db40 (LWP 7719)]
[Loading /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world][New Thread 0x45bcab40 (LWP 7720)]
[Image "./maps/lse_arena.pgm"]
warn: worldfile /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:22 : property [laser_return] is defined but not used (/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc WarnUnused)
warn: worldfile /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:32 : property [color] is defined but not used (/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc WarnUnused)
warn: worldfile /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:8 : property [range_max] is defined but not used (/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc WarnUnused)
warn: worldfile /home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:7 : property [range_min] is defined but not used (/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc WarnUnused)
[ INFO] [1350446716.598520044]: found 1 position/laser pair in the file
[New Thread 0x45dcbb40 (LWP 7727)]

Program received signal SIGSEGV, Segmentation fault.
0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at libtess/priorityq.c:132
132 j = r + 1;
(gdb) bt
#0 0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at libtess/priorityq.c:132
#1 0x4097fb2e in InitPriorityQ (tess=< optimized out>) at libtess/sweep.c:1251
#2 __gl_computeInterior (tess=0x8666078) at libtess/sweep.c:1321
#3 0x40980900 in gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540
#4 0x40273d55 in Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243
#5 0x40274155 in Stg::BlockGroup::CallDisplayList (this=0x864a6d4) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:288
#6 0x4028857e in Stg::Model::DrawBlocks (this=0x864a678) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:253
#7 0x402889b2 in Stg::Model::DrawBlocksTree (this=0x864a678) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:235
#8 0x402adc73 in Stg::Canvas::DrawBlocks (this=0x80bbfd0) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:717
#9 0x402b5950 in Stg::Canvas::renderFrame (this=0x80bbfd0) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:954
#10 0x402ad7e1 in Stg::Canvas::draw (this=0x80bbfd0) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:1321
#11 0x40a74197 in Fl_Gl_Window::flush() () from /usr/lib/i386-linux-gnu/libfltk_gl.so.1.1
#12 0x405e6ee3 in Fl::flush() () from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#13 0x405e8645 in Fl::wait(double) () from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#14 0x08059209 in main (argc=2, argv=0xbffff004) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/src/stageros.cpp:445

(gdb) info locals
p = 0x8666f20
r = 0x8666f5c
i = 0x8666f5c
j = 0x8666f60
piv = 0x8666eb8
Stack = {{p = 0x8666f20, r = 0x8666f5c}, {p = 0xbfffe6b8, r = 0x404912c1}, {p = 0x866f600, r = 0x43337ff4}, {p = 0x41018899, r = 0x404912c1}, {p = 0x82e3de0, r = 0xb}, {p = 0x80cdd50, r = 0x404912c1}, {
p = 0x268, r = 0x2710}, {p = 0x48, r = 0x405c0470}, {p = 0x405c0478, r = 0x9}, {p = 0x40, r = 0x9}, {p = 0x3d8, r = 0x2710}, {p = 0x40, r = 0x405c0470}, {p = 0x405c0478, r = 0x0}, {p = 0x3c, r = 0x8}, {
p = 0x1, r = 0x50}, {p = 0x0, r = 0x404912c1}, {p = 0x0, r = 0x0}, {p = 0x8, r = 0x39}, {p = 0x5b, r = 0x6e}, {p = 0x77, r = 0x404912c1}, {p = 0x0, r = 0x30}, {p = 0x0, r = 0x405bfff4}, {p = 0x0,
r = 0x2710}, {p = 0x110, r = 0x405c0470}, {p = 0x5b, r = 0x6e}, {p = 0x108, r = 0x22}, {p = 0x4, r = 0x2710}, {p = 0x88, r = 0x405c0470}, {p = 0x0, r = 0x0}, {p = 0x80, r = 0x11}, {p = 0x2, r = 0x98}, {
p = 0x0, r = 0x0}, {p = 0x0, r = 0x0}, {p = 0x11, r = 0x3a}, {p = 0x5b, r = 0x6e}, {p = 0x77, r = 0x7c}, {p = 0x8660000, r = 0x86654c0}, {p = 0x0, r = 0x405bfff4}, {p = 0x405c0440, r = 0x4097a520}, {
p = 0x80, r = 0x40493fec}, {p = 0x0, r = 0x0}, {p = 0x0, r = 0x409d0ff4}, {p = 0x86652c0, r = 0x8666d00}, {p = 0x866f484, r = 0x4097c20a}, {p = 0x108, r = 0x3ff00000}, {p = 0x0, r = 0x4097c993}, {
p = 0x843f9f8, r = 0x4097a520}, {p = 0x86652c0, r = 0x4097c5a0}, {p = 0x80, r = 0x3fc51eb8}, {p = 0x2e5096af, r = 0xdf238d35}}
top = < optimized out>
seed = 1409832680
(gdb) up
#1 0x4097fb2e in InitPriorityQ (tess=< optimized out>) at libtess/sweep.c:1251

1251 if (v != vHead || !pqInit( pq ) ) { /* __gl_pqSortInit */
(gdb) info locals
pq = 0x843f9f8
v = 0x866f430
vHead = 0x866f430
(gdb) up
#2 __gl_computeInterior (tess=0x8666078) at libtess/sweep.c:1321

1321 if ( !InitPriorityQ( tess ) ) return 0; /* if error */
(gdb) info locals
v = < optimized out>
vNext = < optimized out>
(gdb) up
#3 0x40980900 in gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540

540 if ( !__gl_computeInterior( tess ) ) {
(gdb) info locals
mesh = < optimized out>
(gdb) up
#4 0x40273d55 in Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243

243 /tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc: No such file or directory.
(gdb) info locals
tobj = 0x8666078
geom = {pose = {_vptr.Pose = 0x8071dd8, x = 0, y = 0, z = 0, a = 0}, size = {x = 0.33000000000000002, y = 0.33000000000000002, z = 0.10000000000000001}}
contours = {< std::_Vector_base< std::vector< double, std::allocator< double> >, std::allocator< std::vector< double, std::allocator< double> > > >> = {
_M_impl = {< std::allocator< std::vector< double, std::allocator< double> > >> = {< __gnu_cxx::new_allocator< std::vector< double, std::allocator< double> > >> = {< No data fields>}, < No data fields>},
_M_start = 0x866aee8, _M_finish = 0x866aef4, _M_end_of_storage = 0x866aef4}}, < No data fields>}
c = < optimized out>

Owner

rtv commented Oct 26, 2012

Hi,

The crash seems to be in the GLU tesselation code. As a workaround, try
changing the winding direction of your polygon, and make sure the polygon
does not self-intersect. I suspect the tesselator is fast rather than
robust. Probably Stage should do some checks on your polygon. Let me know
if you figure out if some assumption is violated. I will take a look at
Stage's related code meanwhile in case I can see a bug.

R/

On Fri, Oct 19, 2012 at 3:16 PM, kbogert notifications@github.com wrote:

I'm seeing a reproducible segfault in libGLU.so when loading a world file
in which a position model has a block. Removing the block prevents the
crash, as does running stage without graphics enabled.

The example world file is at:
https://kforge.ros.org/navigation/tutorials/file/d1f3dda4fd5a/roomba_stage/roomba_lse_arena.world

Starting program: /opt/ros/fuerte/stacks/stage/bin/stageros
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0x42720b40 (LWP 7706)]
[New Thread 0x42921b40 (LWP 7707)]
[New Thread 0x42d00b40 (LWP 7708)]
[New Thread 0x43200b40 (LWP 7715)]
[New Thread 0x4516db40 (LWP 7719)]
[Loading
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world][New
Thread 0x45bcab40 (LWP 7720)]
[Image "./maps/lse_arena.pgm"]
warn: worldfile
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:22
: property [laser_return] is defined but not used
(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:32
: property [color] is defined but not used
(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:8
: property [range_max] is defined but not used
(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile
/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:7
: property [range_min] is defined but not used
(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
[ INFO] [1350446716.598520044]: found 1 position/laser pair in the file
[New Thread 0x45dcbb40 (LWP 7727)]

Program received signal SIGSEGV, Segmentation fault.
0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at libtess/priorityq.c:132
132 j = r + 1;
(gdb) bt
#0 0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at libtess/priorityq.c:132
#1 #1 0x4097fb2e in InitPriorityQ
(tess=< optimized out>) at libtess/sweep.c:1251
#2 #2 __gl_computeInterior
(tess=0x8666078) at libtess/sweep.c:1321
#3 #3 0x40980900 in
gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540
#4 #4 0x40273d55 in
Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243
#5 #5 0x40274155 in
Stg::BlockGroup::CallDisplayList (this=0x864a6d4) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:288
#6 #6 0x4028857e in
Stg::Model::DrawBlocks (this=0x864a678) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:253
#7 #7 0x402889b2 in
Stg::Model::DrawBlocksTree (this=0x864a678) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:235
#8 #8 0x402adc73 in
Stg::Canvas::DrawBlocks (this=0x80bbfd0) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:717
#9 #9 0x402b5950 in
Stg::Canvas::renderFrame (this=0x80bbfd0) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:954
#10 #10 0x402ad7e1 in
Stg::Canvas::draw (this=0x80bbfd0) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:1321
#11 #11 0x40a74197 in
Fl_Gl_Window::flush() () from /usr/lib/i386-linux-gnu/libfltk_gl.so.1.1
#12 #12 0x405e6ee3 in Fl::flush() ()
from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#13 #13 0x405e8645 in
Fl::wait(double) () from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#14 #14 0x08059209 in main (argc=2,
argv=0xbffff004) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/src/stageros.cpp:445

(gdb) info locals
p = 0x8666f20
r = 0x8666f5c
i = 0x8666f5c
j = 0x8666f60
piv = 0x8666eb8
Stack = {{p = 0x8666f20, r = 0x8666f5c}, {p = 0xbfffe6b8, r = 0x404912c1},
{p = 0x866f600, r = 0x43337ff4}, {p = 0x41018899, r = 0x404912c1}, {p =
0x82e3de0, r = 0xb}, {p = 0x80cdd50, r = 0x404912c1}, {
p = 0x268, r = 0x2710}, {p = 0x48, r = 0x405c0470}, {p = 0x405c0478, r =
0x9}, {p = 0x40, r = 0x9}, {p = 0x3d8, r = 0x2710}, {p = 0x40, r =
0x405c0470}, {p = 0x405c0478, r = 0x0}, {p = 0x3c, r = 0x8}, {
p = 0x1, r = 0x50}, {p = 0x0, r = 0x404912c1}, {p = 0x0, r = 0x0}, {p =
0x8, r = 0x39}, {p = 0x5b, r = 0x6e}, {p = 0x77, r = 0x404912c1}, {p = 0x0,
r = 0x30}, {p = 0x0, r = 0x405bfff4}, {p = 0x0,
r = 0x2710}, {p = 0x110, r = 0x405c0470}, {p = 0x5b, r = 0x6e}, {p =
0x108, r = 0x22}, {p = 0x4, r = 0x2710}, {p = 0x88, r = 0x405c0470}, {p =
0x0, r = 0x0}, {p = 0x80, r = 0x11}, {p = 0x2, r = 0x98}, {
p = 0x0, r = 0x0}, {p = 0x0, r = 0x0}, {p = 0x11, r = 0x3a}, {p = 0x5b, r
= 0x6e}, {p = 0x77, r = 0x7c}, {p = 0x8660000, r = 0x86654c0}, {p = 0x0, r
= 0x405bfff4}, {p = 0x405c0440, r = 0x4097a520}, {
p = 0x80, r = 0x40493fec}, {p = 0x0, r = 0x0}, {p = 0x0, r = 0x409d0ff4},
{p = 0x86652c0, r = 0x8666d00}, {p = 0x866f484, r = 0x4097c20a}, {p =
0x108, r = 0x3ff00000}, {p = 0x0, r = 0x4097c993}, {
p = 0x843f9f8, r = 0x4097a520}, {p = 0x86652c0, r = 0x4097c5a0}, {p =
0x80, r = 0x3fc51eb8}, {p = 0x2e5096af, r = 0xdf238d35}}
top = < optimized out>
seed = 1409832680
(gdb) up
#1 #1 0x4097fb2e in InitPriorityQ
(tess=< optimized out>) at libtess/sweep.c:1251
1251 if (v != vHead || !pqInit( pq ) ) { /* _gl_pqSortInit /
(gdb) info locals
pq = 0x843f9f8
v = 0x866f430
vHead = 0x866f430
(gdb) up
#2 #2 __gl_computeInterior
(tess=0x8666078) at libtess/sweep.c:1321
1321 if ( !InitPriorityQ( tess ) ) return 0; / if error */
(gdb) info locals
v = < optimized out>
vNext = < optimized out>
(gdb) up
#3 #3 0x40980900 in
gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540
540 if ( !_gl_computeInterior( tess ) ) {
(gdb) info locals
mesh = < optimized out>
(gdb) up
#4 #4 0x40273d55 in
Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243
243
/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:
No such file or directory.
(gdb) info locals
tobj = 0x8666078
geom = {pose = {_vptr.Pose = 0x8071dd8, x = 0, y = 0, z = 0, a = 0}, size
= {x = 0.33000000000000002, y = 0.33000000000000002, z =
0.10000000000000001}}
contours = {< std::_Vector_base< std::vector< double, std::allocator<
double> >, std::allocator< std::vector< double, std::allocator< double> > >

= {
_M_impl = {< std::allocator< std::vector< double, std::allocator< double>

= {< __gnu_cxx::new_allocator< std::vector< double, std::allocator<
double> > >> = {< No data fields>}, < No data fields>},
_M_start = 0x866aee8, _M_finish = 0x866aef4, _M_end_of_storage =
0x866aef4}}, < No data fields>}
c = < optimized out>


Reply to this email directly or view it on GitHubhttps://github.com/rtv/Stage/issues/31.

kbogert commented Oct 27, 2012

Hello,

As far as I can tell, the polygon looks ok. I'm testing with:

block
(
points 4
point[0] [0.16 0.16]
point[1] [-0.16 0.16]
point[2] [-0.16 -0.16]
point[3] [0.16 -0.16]

color "red"
)

I still see this crash if I reverse the order.

I'm running this on ubuntu 12.04 32 bit, stage is installed from ros
fuerte. I do not see this crash running ros electric's version on
ubuntu 11.10.

kdb

On 10/26/2012 05:48 PM, Richard Vaughan wrote:

Hi,

The crash seems to be in the GLU tesselation code. As a workaround, try
changing the winding direction of your polygon, and make sure the polygon
does not self-intersect. I suspect the tesselator is fast rather than
robust. Probably Stage should do some checks on your polygon. Let me know
if you figure out if some assumption is violated. I will take a look at
Stage's related code meanwhile in case I can see a bug.

R/

On Fri, Oct 19, 2012 at 3:16 PM, kbogert notifications@github.com
wrote:

I'm seeing a reproducible segfault in libGLU.so when loading a world
file
in which a position model has a block. Removing the block prevents the
crash, as does running stage without graphics enabled.

The example world file is at:

https://kforge.ros.org/navigation/tutorials/file/d1f3dda4fd5a/roomba_stage/roomba_lse_arena.world

Starting program: /opt/ros/fuerte/stacks/stage/bin/stageros

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0x42720b40 (LWP 7706)]
[New Thread 0x42921b40 (LWP 7707)]
[New Thread 0x42d00b40 (LWP 7708)]
[New Thread 0x43200b40 (LWP 7715)]
[New Thread 0x4516db40 (LWP 7719)]
[Loading

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world][New
Thread 0x45bcab40 (LWP 7720)]
[Image "./maps/lse_arena.pgm"]
warn: worldfile

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:22
: property [laser_return] is defined but not used

(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:32
: property [color] is defined but not used

(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:8
: property [range_max] is defined but not used

(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
warn: worldfile

/home/ros/fuerte_workspace/navigation_tutorials/roomba_stage/roomba_lse_arena.world:7
: property [range_min] is defined but not used

(/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/worldfile.cc
WarnUnused)
[ INFO] [1350446716.598520044]: found 1 position/laser pair in the file
[New Thread 0x45dcbb40 (LWP 7727)]

Program received signal SIGSEGV, Segmentation fault.
0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at libtess/priorityq.c:132
132 j = r + 1;
(gdb) bt
#0 0x4097c793 in __gl_pqSortInit (pq=0x843f9f8) at
libtess/priorityq.c:132
#1 #1 0x4097fb2e in InitPriorityQ
(tess=< optimized out>) at libtess/sweep.c:1251
#2 #2 __gl_computeInterior
(tess=0x8666078) at libtess/sweep.c:1321
#3 #3 0x40980900 in
gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540
#4 #4 0x40273d55 in
Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243
#5 #5 0x40274155 in
Stg::BlockGroup::CallDisplayList (this=0x864a6d4) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:288
#6 #6 0x4028857e in
Stg::Model::DrawBlocks (this=0x864a678) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:253
#7 #7 0x402889b2 in
Stg::Model::DrawBlocksTree (this=0x864a678) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/model_draw.cc:235
#8 #8 0x402adc73 in
Stg::Canvas::DrawBlocks (this=0x80bbfd0) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:717
#9 #9 0x402b5950 in
Stg::Canvas::renderFrame (this=0x80bbfd0) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:954
#10 #10 0x402ad7e1 in
Stg::Canvas::draw (this=0x80bbfd0) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/canvas.cc:1321
#11 #11 0x40a74197 in
Fl_Gl_Window::flush() () from /usr/lib/i386-linux-gnu/libfltk_gl.so.1.1
#12 #12 0x405e6ee3 in
Fl::flush() ()
from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#13 #13 0x405e8645 in
Fl::wait(double) () from /usr/lib/i386-linux-gnu/libfltk.so.1.1
#14 #14 0x08059209 in main
(argc=2,
argv=0xbffff004) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/src/stageros.cpp:445

(gdb) info locals
p = 0x8666f20
r = 0x8666f5c
i = 0x8666f5c
j = 0x8666f60
piv = 0x8666eb8
Stack = {{p = 0x8666f20, r = 0x8666f5c}, {p = 0xbfffe6b8, r =
0x404912c1},
{p = 0x866f600, r = 0x43337ff4}, {p = 0x41018899, r = 0x404912c1}, {p =
0x82e3de0, r = 0xb}, {p = 0x80cdd50, r = 0x404912c1}, {
p = 0x268, r = 0x2710}, {p = 0x48, r = 0x405c0470}, {p = 0x405c0478,
r =
0x9}, {p = 0x40, r = 0x9}, {p = 0x3d8, r = 0x2710}, {p = 0x40, r =
0x405c0470}, {p = 0x405c0478, r = 0x0}, {p = 0x3c, r = 0x8}, {
p = 0x1, r = 0x50}, {p = 0x0, r = 0x404912c1}, {p = 0x0, r = 0x0}, {p =
0x8, r = 0x39}, {p = 0x5b, r = 0x6e}, {p = 0x77, r = 0x404912c1}, {p
= 0x0,
r = 0x30}, {p = 0x0, r = 0x405bfff4}, {p = 0x0,
r = 0x2710}, {p = 0x110, r = 0x405c0470}, {p = 0x5b, r = 0x6e}, {p =
0x108, r = 0x22}, {p = 0x4, r = 0x2710}, {p = 0x88, r = 0x405c0470},
{p =
0x0, r = 0x0}, {p = 0x80, r = 0x11}, {p = 0x2, r = 0x98}, {
p = 0x0, r = 0x0}, {p = 0x0, r = 0x0}, {p = 0x11, r = 0x3a}, {p =
0x5b, r
= 0x6e}, {p = 0x77, r = 0x7c}, {p = 0x8660000, r = 0x86654c0}, {p =
0x0, r
= 0x405bfff4}, {p = 0x405c0440, r = 0x4097a520}, {
p = 0x80, r = 0x40493fec}, {p = 0x0, r = 0x0}, {p = 0x0, r =
0x409d0ff4},
{p = 0x86652c0, r = 0x8666d00}, {p = 0x866f484, r = 0x4097c20a}, {p =
0x108, r = 0x3ff00000}, {p = 0x0, r = 0x4097c993}, {
p = 0x843f9f8, r = 0x4097a520}, {p = 0x86652c0, r = 0x4097c5a0}, {p =
0x80, r = 0x3fc51eb8}, {p = 0x2e5096af, r = 0xdf238d35}}
top = < optimized out>
seed = 1409832680
(gdb) up
#1 #1 0x4097fb2e in InitPriorityQ
(tess=< optimized out>) at libtess/sweep.c:1251
1251 if (v != vHead || !pqInit( pq ) ) { /* _gl_pqSortInit /
(gdb) info locals
pq = 0x843f9f8
v = 0x866f430
vHead = 0x866f430
(gdb) up
#2 #2 __gl_computeInterior
(tess=0x8666078) at libtess/sweep.c:1321
1321 if ( !InitPriorityQ( tess ) ) return 0; / if error */
(gdb) info locals
v = < optimized out>
vNext = < optimized out>
(gdb) up
#3 #3 0x40980900 in
gluTessEndPolygon (tess=0x8666078) at libtess/tess.c:540
540 if ( !_gl_computeInterior( tess ) ) {
(gdb) info locals
mesh = < optimized out>
(gdb) up
#4 #4 0x40273d55 in
Stg::BlockGroup::BuildDisplayList (this=0x864a6d4) at

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:243
243

/tmp/buildd/ros-fuerte-stage-1.6.6/debian/ros-fuerte-stage/opt/ros/fuerte/stacks/stage/build/stage/libstage/blockgroup.cc:
No such file or directory.
(gdb) info locals
tobj = 0x8666078
geom = {pose = {_vptr.Pose = 0x8071dd8, x = 0, y = 0, z = 0, a = 0},
size
= {x = 0.33000000000000002, y = 0.33000000000000002, z =
0.10000000000000001}}
contours = {< std::_Vector_base< std::vector< double, std::allocator<
double> >, std::allocator< std::vector< double, std::allocator<
double> > >

= {
_M_impl = {< std::allocator< std::vector< double, std::allocator<
double>

= {< __gnu_cxx::new_allocator< std::vector< double,
std::allocator<
double> > >> = {< No data fields>}, < No data fields>},
_M_start = 0x866aee8, _M_finish = 0x866aef4, _M_end_of_storage =
0x866aef4}}, < No data fields>}
c = < optimized out>


Reply to this email directly or view it on
GitHubhttps://github.com/rtv/Stage/issues/31.


Reply to this email directly or view it on GitHub
#31 (comment).

Contributor

jpgr87 commented Dec 13, 2012

Try to add the "z" parameter to the points list:

block (
points 4
point[0] [0.16 0.16]
point[1] [-0.16 0.16]
point[2] [-0.16 -0.16]
point[3] [0.16 -0.16]
z [0 .32] # This one seems to be missing from a lot of models
color "red"
)

kbogert commented Dec 13, 2012

That seems to fix it, Thanks!

kdb

On 12/12/2012 10:50 PM, Rich wrote:

Try to add the "z" parameter to the points list:

block (
points 4
point[0] [0.16 0.16]
point[1] [-0.16 0.16]
point[2] [-0.16 -0.16]
point[3] [0.16 -0.16]
z [0 .32] # This one seems to be missing from a lot of models
color "red"
)


Reply to this email directly or view it on GitHub
#31 (comment).

Owner

rtv commented Apr 26, 2017

Fixed.

rtv closed this Apr 26, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment