Skip to content

Crash after loading an sdf containing an invalid near clip distance parameter #2615

@liyitao-code

Description

@liyitao-code

Environment

  • OS Version: Ubuntu 22.04
  • Source or binary build?
    source build
    gz-sim8 version: e4fd295
    built with
    gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
    build options: -DCMAKE_BUILD_TYPE=Coverage

Description

  • Expected behavior: Gazebo doesn't crash
  • Actual behavior: Gazebo crashes

Steps to reproduce

  1. gz sim c1.txt

Output

terminate called after throwing an instance of 'Ogre::InvalidParametersException'
  what():  OGRE EXCEPTION(2:InvalidParametersException): Near clip distance must be greater than zero. in Frustum::setNearClipDistance at ./OgreMain/src/OgreFrustum.cpp (line 149)
Stack trace (most recent call last) in thread 3271217:
#19   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#18   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f4d5652684f, in 
#17   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f4d56494ac2, in 
#16   Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f4d51edc252, in 
#15   Object "/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/libgz-sim-sensors-system.so", at 0x7f4d3be35847, in gz::sim::v8::systems::SensorsPrivate::RenderThread()
#14   Object "/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/libgz-sim-sensors-system.so", at 0x7f4d3be34406, in gz::sim::v8::systems::SensorsPrivate::RunOnce()
#13   Object "/lib/x86_64-linux-gnu/libgz-sim8-rendering.so.8", at 0x7f4d3aaf8015, in gz::sim::v8::RenderUtil::Update()
#12   Object "/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/libgz-sim-sensors-system.so", at 0x7f4d3be3a0bb, in std::_Function_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (unsigned long const&, sdf::v14::Sensor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), std::_Bind<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (gz::sim::v8::systems::Sensors::*(gz::sim::v8::systems::Sensors*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(unsigned long const&, sdf::v14::Sensor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> >::_M_invoke(std::_Any_data const&, unsigned long const&, sdf::v14::Sensor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
#11   Object "/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/libgz-sim-sensors-system.so", at 0x7f4d3be40cc3, in gz::sim::v8::systems::Sensors::CreateSensor(unsigned long const&, sdf::v14::Sensor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
#10   Object "/lib/x86_64-linux-gnu/libgz-sensors8-camera.so.8", at 0x7f4d3a1e2af7, in gz::sensors::v8::CameraSensor::SetScene(std::shared_ptr<gz::rendering::v8::Scene>)
#9    Object "/lib/x86_64-linux-gnu/libgz-sensors8-camera.so.8", at 0x7f4d3a1de1bd, in gz::sensors::v8::CameraSensor::CreateCamera()
#8    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7f4d0c91edd3, in 
#7    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7f4d0c91a8f3, in 
#6    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f4d51eae4d7, in __cxa_throw
#5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f4d51eae276, in std::terminate()
#4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f4d51eae20b, in 
#3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f4d51ea2b9d, in 
#2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f4d564287f2, in abort
#1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f4d56442475, in raise
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f4d564969fc, in pthread_kill
Aborted (Signal sent by tkill() 3271003 1000)```

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions