Open osrf-migration opened 11 years ago
Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).
After installing ogre-1.8.0 the UNIT_Sensor_TEST
is not failing anymore, but some others are, most of them related to sensors. For example UNIT_Sensor_TEST
:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe4e5b700 (LWP 14825)]
0x00007fffdc59f34a in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
(gdb) bt
#0 0x00007fffdc59f34a in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
#1 0x00007fffdc5a052b in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
#2 0x00007fffdc5bb9b5 in Ogre::GLRenderSystem::GLRenderSystem() ()
from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
#3 0x00007fffdc5b4b4c in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
#4 0x00007ffff28431f1 in Ogre::Root::installPlugin(Ogre::Plugin*) ()
from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.0
#5 0x00007fffdc5a8415 in dllStartPlugin () from /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/RenderSystem_GL.so
#6 0x00007ffff284338a in Ogre::Root::loadPlugin(std::string const&) ()
from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.0
#7 0x00007ffff6f75426 in gazebo::rendering::RenderEngine::LoadPlugins (
this=this@entry=0x7ffff7519600 <SingletonT<gazebo::rendering::RenderEngine>::GetInstance()::t>)
at /home/osrf/gazebo/gazebo/rendering/RenderEngine.cc:377
#8 0x00007ffff6f78671 in gazebo::rendering::RenderEngine::Load (
this=this@entry=0x7ffff7519600 <SingletonT<gazebo::rendering::RenderEngine>::GetInstance()::t>)
at /home/osrf/gazebo/gazebo/rendering/RenderEngine.cc:124
#9 0x00007ffff6f7dc1e in gazebo::rendering::load ()
at /home/osrf/gazebo/gazebo/rendering/RenderingIface.cc:33
#10 0x00007ffff72cbdc2 in gazebo::sensors::load () at /home/osrf/gazebo/gazebo/sensors/SensorsIface.cc:38
#11 0x00007ffff65fd731 in gazebo::Server::LoadImpl (this=this@entry=0x7fffd80008e0, _elem=..., _physics=...)
at /home/osrf/gazebo/gazebo/Server.cc:341
#12 0x00007ffff65fe95e in gazebo::Server::LoadFile (this=0x7fffd80008e0, _filename=..., _physics=...)
at /home/osrf/gazebo/gazebo/Server.cc:297
#13 0x0000000000436718 in ServerFixture::RunServer (this=0x6b2280, _worldFilename=...,
_paused=<optimized out>, _physics=...) at /home/osrf/gazebo/test/ServerFixture.hh:214
#14 0x00007ffff5eb06e9 in ?? () from /usr/lib/libboost_thread.so.1.49.0
#15 0x00007ffff63b6f8e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#16 0x00007ffff54b6e1d in clone () from /lib/x86_64-linux-gnu/libc.so.6
All them are pointed to gazebo::rendering::RenderEngine::LoadPlugins
functions as the last gazebo function in the function call stack.
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
Update: over 100 tests are currently failing in jenkins with intel gpu (basically any tests that load a server or try to use rendering).
I just did some testing on an intel NUC that we have connected to a projector in a conference room, and it was able to run gazebo whenever it was actively driving a display. However, it seg-faulted whenever I connected via ssh and the display was inactive. I have a backtrace without debug information:
Program received signal SIGSEGV, Segmentation fault.
0x00007fffcba260a8 in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
(gdb) bt
#0 0x00007fffcba260a8 in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
#1 0x00007fffcba2af69 in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
#2 0x00007fffcba7a05e in Ogre::GLRenderSystem::GLRenderSystem() () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
#3 0x00007fffcba33dc4 in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
#4 0x00007fffefcf09be in Ogre::Root::installPlugin(Ogre::Plugin*) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#5 0x00007fffcba703d6 in dllStartPlugin () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
#6 0x00007fffefcf0c77 in Ogre::Root::loadPlugin(std::string const&) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#7 0x00007ffff02e6408 in gazebo::rendering::RenderEngine::LoadPlugins() () from /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.5
#8 0x00007ffff02e868a in gazebo::rendering::RenderEngine::Load() () from /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.5
#9 0x00007ffff02ec903 in gazebo::rendering::load() () from /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.5
#10 0x000000000042e60d in gazebo::setupServer(int, char**) ()
#11 0x0000000000416c5f in gazebo::Server::ParseArgs(int, char**) ()
#12 0x000000000040ddd1 in ?? ()
#13 0x00007ffff4c1ba40 in __libc_start_main (main=0x40dcd0, argc=2, argv=0x7fffffffe5f8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffe5e8) at libc-start.c:289
#14 0x000000000040fd39 in _start ()
(gdb)
I also compared the ~/.gazebo/ogre.log
for failed and successful runs:
End of failed log:
16:30:45: *-*-* OGRE Initialising
16:30:45: *-*-* Version 1.9.0 (Ghadamon)
16:30:45: OverlayElementFactory for type Panel registered.
16:30:45: OverlayElementFactory for type BorderPanel registered.
16:30:45: OverlayElementFactory for type TextArea registered.
16:30:45: Registering ResourceManager for type Font
16:30:45: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
16:30:45: Installing plugin: GL RenderSystem
16:30:45: OpenGL Rendering Subsystem created.
Middle of successful log:
16:33:17: *-*-* OGRE Initialising
16:33:17: *-*-* Version 1.9.0 (Ghadamon)
16:33:17: OverlayElementFactory for type Panel registered.
16:33:17: OverlayElementFactory for type BorderPanel registered.
16:33:17: OverlayElementFactory for type TextArea registered.
16:33:17: Registering ResourceManager for type Font
16:33:17: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so
16:33:17: Installing plugin: GL RenderSystem
16:33:17: OpenGL Rendering Subsystem created.
16:33:17: Plugin successfully installed
16:33:17: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/Plugin_ParticleFX.so
It seems to fail while attempting to install a plugin, as the backtrace seems to indicate.
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
Also, there doesn't appear to be a noticeable difference in the glxinfo
output when the screen is active or not.
Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).
Interesting. This explains why I can use gazebo most of the times just fine on my laptop with an intel integrated graphic card but the jenkins node is failing.
We can try a couple of things:
I'm not sure about the differences between both approaches, I would say that if we go with the dummy driver, all our simulations that requires rendering (camera, laser, ...) will fail. The xvfb approach, was tested by Ricardo Tellez and seems to work fine.
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
Let's try xvfb
on our gpu-intel
nodes and see if it helps.
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
For the NUC machines, there are some suggestions in this thread
Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).
I've installed xvfb on our intel nodes and let jenkins to handle the xvfb startup and finalization through the xvfb jenkins plugin, configured to run on DISPLAY :11.
Here we go, the example It is running jus GpuLaser_TEST but should be enough. Graphic acceleration detection seems to be fine, it is still compiling.
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
That test looked good, not sure what all the LIBGL_DEBUG
messages mean, but this is a big improvement!
Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).
I enabled the LIBGL_DEBUG
in my previous tests, supposing that the test failures were somewhat related to the rendering support. I've remove it.
Full testing branch with GPU support, 5 failing tests, two of them seems common with our usual nvidia job. The other three are:
* UNIT_DataLogger_TEST.xml.
101: SharePercentChange[0.712652] ShareMaxPercentChange[1]
101: ResPercentChange[2.12628]ResMaxPercentChange[3]
101: SharePercentChange[0.5272973d4814726c8ded66a0ff826aa552ac8f9a] ShareMaxPercentChange[1]
101: ResPercentChange[0.482817]ResMaxPercentChange[3]
101/178 Test #101: UNIT_DataLogger_TEST ...................***Timeout 240.02 sec
* UNIT_GpuRaySensor_TEST.test_ran**
163: Test timeout computed to be: 240
163: [----------] Global test environment set-up.
163: [----------] 1 test from GPURaySensor_TEST
163: [ RUN ] GPURaySensor_TEST.CreateLaser
163: [1;32m[Msg] [0m[1;32mWaiting for master.[0m[1;32m
163: [0m[1;32m[0m[1;32m[Msg] [0m[1;32mConnected to gazebo master @ [0m[1;32mhttp://127.0.0.1:11345[0m[1;32m
163: [0m[1;32m[0m[1;32m[Msg] [0m[1;32mPublicized address: [0m[1;32m172.23.1.170[0m[1;32m
163: [0m[1;32m[0m[1;36m[Dbg] [0m[1;36m[[0m[1;36mServerFixture.cc[0m[1;36m:[0m[1;36m154[0m[1;36m] [0m[1;36mServerFixture load in [0m[1;36m0.7[0m[1;36m seconds, timeout after [0m[1;36m600[0m[1;36m seconds
163: [0munknown file: Failure
163: C++ exception with description "OGRE EXCEPTION(7:InternalErrorException): Cannot create GL vertex buffer in GLHardwareVertexBuffer::GLHardwareVertexBuffer at /build/buildd/ogre-1.8-1.8.1+dfsg/RenderSystems/GL/src/OgreGLHardwareVertexBuffer.cpp (line 46)" thrown in the test body.
163/178 Test #163: UNIT_GpuRaySensor_TEST .................***Exception: SegFault 11.23 sec
* UNIT_ImagesView_TEST.xml.
117: Test command: /var/lib/jenkins/workspace/gazebo-any-devel-trusty-amd64-gpu-intel-debug/build/gazebo/gui/viewers/UNIT_ImagesView_TEST "-xml" "-o" "/var/lib/jenkins/workspace/gazebo-any-devel-trusty-amd64-gpu-intel-debug/build/test_results/UNIT_ImagesView_TEST.xml"
117: Test timeout computed to be: 240
117: SharePercentChange[0.679459] ShareMaxPercentChange[1]
117: ResPercentChange[2.03693]ResMaxPercentChange[3]
117: SharePercentChange[0.000249273] ShareMaxPercentChange[1]
117: ResPercentChange[0.494918]ResMaxPercentChange[3]
117: UNIT_ImagesView_TEST: /usr/include/boost/thread/pthread/mutex.hpp:108: boost::mutex::~mutex(): Assertion `!posix::pthread_mutex_destroy(&m)' failed.
117/178 Test #117: UNIT_ImagesView_TEST ...................***Exception: Other 85.51 sec
We are close!
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
I get the same UNIT_GpuRaySensor_TEST
failure in about 60% of my overnight tests
Original comment by Ką Mykolas (Bitbucket: Kamiccolo).
UNIT_GpuRaySenor_TEST
been failingon NVidia as well:
$ ./UNIT_GpuRaySensor_TEST
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from GPURaySensor_TEST
[ RUN ] GPURaySensor_TEST.CreateLaser
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: xxx.xxx.xxx.xxx
[Dbg] [ServerFixture.cc:145] ServerFixture load in 1.1 seconds, timeout after 600 seconds
unknown file: Failure
C++ exception with description "OGRE EXCEPTION(7:InternalErrorException): Cannot create GL vertex buffer in GLHardwareVertexBuffer::GLHardwareVertexBuffer at /build/buildd/ogre-1.8-1.8.1+dfsg/RenderSystems/GL/src/OgreGLHardwareVertexBuffer.cpp (line 46)" thrown in the test body.
[Dbg] [ServerFixture.cc:96] ServerFixture::Unload
Segmentation fault (core dumped)
The fact that I couldn't reproduce it on GDB makes it similar to some kind of... race condition. Even thought, Valgrind
produces following:
==18472== Thread 3:
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0x1D289094: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D22F425: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D231C6D: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D3475EF: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D348B1D: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D2691E4: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D269561: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D2695F7: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D346FD4: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D34FED0: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1CF74875: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1CF74BF7: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0x1D289094: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D22F425: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D22FCDC: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D37B170: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D37C5B0: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D2691E4: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D269561: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D2695F7: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D37B456: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D353EEA: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D2260F4: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472== by 0x1D208EAB: ??? (in /usr/lib/nvidia-340-updates/libnvidia-glcore.so.340.96)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E37: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41841A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:181)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E60: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41841A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:181)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E40: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41841A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:181)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E69: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41841A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:181)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E37: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41843A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:182)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E60: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41843A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:182)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E40: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41843A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:182)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
==18472== Conditional jump or move depends on uninitialised value(s)
==18472== at 0xCF99E69: Ogre::PixelUtil::packColour(float, float, float, float, Ogre::PixelFormat, void*) (in /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.8.1)
==18472== by 0xD417EA7: SkyX::VClouds::DataManager::_updateVolTextureData(SkyX::VClouds::DataManager::Cell***, SkyX::VClouds::DataManager::VolTextureId const&, int const&, int const&, int const&) (DataManager.cpp:693)
==18472== by 0xD41843A: SkyX::VClouds::DataManager::create(int const&, int const&, int const&) (DataManager.cpp:182)
==18472== by 0xD421571: SkyX::VClouds::VClouds::create() (VClouds.cpp:82)
==18472== by 0xD415E2F: SkyX::VCloudsManager::create(float const&) (VCloudsManager.cpp:108)
==18472== by 0x5A2FBA6: gazebo::rendering::Scene::SetSky() (Scene.cc:2667)
==18472== by 0x5A3ACFF: gazebo::rendering::Scene::Init() (Scene.cc:329)
==18472== by 0x5A20FD5: gazebo::rendering::RenderEngine::CreateScene(std::string const&, bool, bool) (RenderEngine.cc:192)
==18472== by 0x5A27212: gazebo::rendering::create_scene(std::string const&, bool, bool) (RenderingIface.cc:88)
==18472== by 0x44022B: gazebo::ServerFixture::RunServer(std::string const&, bool, std::string const&) (ServerFixture.cc:228)
==18472== by 0x6F58A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==18472== by 0x631B183: start_thread (pthread_create.c:312)
==18472==
[Dbg] [ServerFixture.cc:145] ServerFixture load in [Wrn] [Publisher.cc:132] 20.8 seconds, timeout after 600 seconds
Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
unknown file: Failure
C++ exception with description "OGRE EXCEPTION(7:InternalErrorException): Cannot create GL vertex buffer in GLHardwareVertexBuffer::GLHardwareVertexBuffer at /build/buildd/ogre-1.8-1.8.1+dfsg/RenderSystems/GL/src/OgreGLHardwareVertexBuffer.cpp (line 46)" thrown in the test body.
[Dbg] [ServerFixture.cc:96] ServerFixture::Unload
[Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/physics/contacts, deleting message. This warning is printed only once.
[ FAILED ] GPURaySensor_TEST.CreateLaser (39510 ms)
[----------] 1 test from GPURaySensor_TEST (39522 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (39568 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] GPURaySensor_TEST.CreateLaser
1 FAILED TEST
Original comment by Alexey Denisov (Bitbucket: denisov_alexey).
Don't know if this is related to this bug, but I got a similar crash with backtrace which looked like @Kamiccolo's one. It was due to wrong texture indexing in VClouds::DataManager, and can be fixed with this patch:
diff -r 095ee3acebe41d2d91506dd4d59444113537a636 gazebo/rendering/skyx/src/VClouds/DataManager.cpp
--- a/gazebo/rendering/skyx/src/VClouds/DataManager.cpp Wed May 03 14:44:20 2017 +0000
+++ b/gazebo/rendering/skyx/src/VClouds/DataManager.cpp Thu May 04 12:33:56 2017 +0500
@@ -22,6 +22,8 @@
*/
#include <vector>
+
+#include <OgrePixelFormat.h>
#include "VClouds/DataManager.h"
#include "VClouds/VClouds.h"
@@ -689,8 +691,9 @@
{
for (x = pb.left; x < pb.right; x++)
{
+ Ogre::uint8* ptr = (Ogre::uint8 *) pb.data + (x + y * pb.rowPitch + z * pb.slicePitch) * Ogre::PixelUtil::getNumElemBytes(pb.format);
Ogre::PixelUtil::packColour(c[x][y][z].dens/* TODO!!!! */,
- c[x][y][z].light, 0, 0, pb.format, &pbptr[x]);
+ c[x][y][z].light, 0, 0, pb.format, ptr);
}
pbptr += pb.rowPitch;
}
Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).
@denisov_alexey 's patch is applied to the default branch (gazebo 9) by @kartikmohta on pull request #2719
Original report (archived issue) by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).
running
UNIT_Sensor_TEST
with ogre debug information.Same error was found by @scpeters while starting gzserver in the same machine