Skip to content

Ogre2 crash due to float overflow when visual geometry size is near DBL_MAX #586

@XINJIANGMO

Description

@XINJIANGMO

Environment

  • OS Version: Ubuntu noble
  • Source or binary build?
    source , latest
    build option : Coverage

Description

  • Expected behavior: not crash but warning or error msgs
  • Actual behavior: gazebo crash

Steps to reproduce

  1. gz sim -r -s crash.sdf
  2. crash
    sure that caused by
<visual name="infinite_vis">
    <geometry>
         <box>
              <size>1e308 1e308 1e308</size>
           </box>
    </geometry>
</visual>

Output

gz-sim-main: ./OgreMain/include/Math/Array/SSE2/Single/OgreMathlibSSE2.h:142: static Ogre::ArrayReal Ogre::MathlibSSE2::Cmov4(Ogre::ArrayReal, Ogre::ArrayReal, Ogre::ArrayMaskR): Assertion `_mm_movemask_ps( _mm_cmpeq_ps( newNan1, newNan1 ) ) == 0x0f && _mm_movemask_ps( _mm_cmpeq_ps( newNan2, newNan2 ) ) == 0x0f && "Passing +/- Infinity values to CMov4"' failed.
Stack trace (most recent call last) in thread 1498343:
#11   Object "", at 0xffffffffffffffff, in 
#10   Source "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 78, in clone3 [0x70c24e929c6b]
#9    Source "./nptl/pthread_create.c", line 447, in start_thread [0x70c24e89caa3]
#8    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x70c22893d5e9, in 
#7    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x70c2289394a1, in Ogre::SceneManager::_updateWorkerThread(Ogre::ThreadHandle*)
#6    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x70c22892c178, in Ogre::SceneManager::updateAllTransformsThread(Ogre::UpdateTransformRequest const&, unsigned long)
#5    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x70c228898f0a, in Ogre::Node::updateAllTransforms(unsigned long, Ogre::Transform)
#4    Source "./assert/assert.c", line 105, in __assert_fail [0x70c24e83b516]
#3    Source "./assert/assert.c", line 96, in __assert_fail_base [0x70c24e82881a]
#2    Source "./stdlib/abort.c", line 79, in abort [0x70c24e8288fe]
#1    Source "../sysdeps/posix/raise.c", line 26, in raise [0x70c24e84527d]
#0  | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
    | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
      Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x70c24e89eb2c]
Aborted (Signal sent by tkill() 1498222 1000)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Inbox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions