# rviz on groovy only works if started in gdb [closed]

I am having serious problems with my Fuerte install since the update released to the repository a few days ago (ros-fuerte-desktop-full 1.0.0-s1367681458~precise, bug report here, but likely filed in the wrong place). So I am trying to begin the process of migrating all of my code to the new build system so I can start using Groovy/Hydro. The problem is that every time I start rviz I get

[ INFO] [1368200619.347291158]: rviz version 1.9.29
[ INFO] [1368200619.347507729]: compiled against OGRE version 1.7.4 (Cthugha)
Segmentation fault


Here is my ogre log, and my system info from the rviz system_info.sh script in Fuerte.

The weird part is that if I run rviz in gdb, everything works without crashing. This is very reproducible; I have never had rviz work outside of gdb, and it has worked every single time inside of gdb.

Does anyone have any suggestions about how to begin debugging this?

EDIT 1

It seems that the comment from @dgossow is likely correct. I was able to produce a core dump from the rviz segfault, and then postmortem that core dump with gdb The backtrace is as follows:

Core was generated by /opt/ros/groovy/lib/rviz/rviz'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fbce7bbe21c in ?? () from /usr/lib/fglrx/libGL.so.1
(gdb) bt
#0  0x00007fbce7bbe21c in ?? () from /usr/lib/fglrx/libGL.so.1
#1  0x00007fbce7d39bdb in ?? () from /usr/lib/fglrx/libGL.so.1
#2  0x0000000000000001 in ?? ()
#3  0x0000000000000001 in ?? ()
#4  0x000000000000005f in ?? ()
#5  0x00007fbce7d39d20 in ?? () from /usr/lib/fglrx/libGL.so.1
#6  0x000000000000590e in ?? ()
#7  0x0000000000000000 in ?? ()


That obviously doesn't tell me much, but it does point to a problem in my graphics drivers. Running in valgrind provides slightly more useful information. The full log can be seen here. The most relevant part is:

==25602== Conditional jump or move depends on uninitialised value(s)
==25602==    at 0x2B3A9F95: ??? (in /usr/lib/fglrx/dri/fglrx_dri.so)
==25602==    by 0xFFFFFFFFFFFFFFFE: ???
==25602==    by 0xFFFFFFFFFFFFFFFE: ???
==25602==    by 0xC07FFFFEFFFFFFFF: ???
==25602==    by 0x7FEFFE01F: ???
==25602==    by 0x2D773F0F: ???
==25602==    by 0x2D7752AF: ???
==25602==    by 0x2D77732B: ???
==25602==    by 0x2B426FB7: ??? (in /usr/lib/fglrx/dri/fglrx_dri.so)
==25602==
==25602==
==25602== Process terminating with default action of signal 11 (SIGSEGV)
==25602==    at 0x979521C: ??? (in /usr/lib/fglrx/libGL.so.1.2)
==25602==    by 0x26E1DB0F: ???
==25602==    by 0x2EBCB4B5: ??? (in /usr/lib/x86_64-linux-gnu/OGRE-1.7.4/RenderSystem_GL.so)
==25602==    by 0x990304F: ??? (in /usr/lib/fglrx/libGL.so.1.2)
==25602==    by 0x7FEFFE36F: ???
==25602==    by 0x9910BDA: ??? (in /usr/lib/fglrx/libGL.so.1.2)
`

Still doesn't give me much to go off of. Any ideas on how I should proceed?

edit retag reopen merge delete

### Closed for the following reason question is not relevant or outdated by jarvisschultz close date 2015-07-01 11:10:44.968465

The fact that RViz crashes immediately after calling GLXWindow::create hints at a driver bug. Did you maybe also get a driver update at the same time as updating ROS?

( 2013-05-10 07:20:47 -0500 )edit

No I didn't, and the Fuerte version of rviz still works fine.

( 2013-05-10 07:46:10 -0500 )edit

Sort by » oldest newest most voted

Something similar happens to me, but for me rviz works 50% of times I run it with rosrun, in gdb have failed sometimes. I have report the issue to github repo and they say the bug seems to be due to graphic card.

more