OGRECave / ogre

scene-oriented, flexible 3D engine (C++, Python, C#, Java)
https://ogrecave.github.io/ogre/
MIT License
3.99k stars 979 forks source link

Assimp plugin Critical error detected c0000374 Thread 1 received signal SIGTRAP, Trace/breakpoint trap #3019

Open maxpa1n87 opened 9 months ago

maxpa1n87 commented 9 months ago

System Information

Detailled description

Assimp plugin Critical error detected c0000374 Thread 1 received signal SIGTRAP, Trace/breakpoint trap while executing debug build loading Assimp plugin.

Ogre.log

19:36:59: Creating resource group General
19:36:59: Creating resource group OgreInternal
19:36:59: Creating resource group OgreAutodetect
19:36:59: SceneManagerFactory for type 'DefaultSceneManager' registered.
19:36:59: Registering ResourceManager for type Material
19:36:59: Registering ResourceManager for type Mesh
19:36:59: Registering ResourceManager for type Skeleton
19:36:59: MovableObjectFactory for type 'ParticleSystem' registered.
19:36:59: ArchiveFactory for type 'FileSystem' registered
19:36:59: ArchiveFactory for type 'Zip' registered
19:36:59: ArchiveFactory for type 'EmbeddedZip' registered
19:36:59: DDS codec registering
19:36:59: ETC codec registering
19:36:59: ASTC codec registering
19:36:59: Registering ResourceManager for type GpuProgram
19:36:59: Registering ResourceManager for type Compositor
19:36:59: MovableObjectFactory for type 'Entity' registered.
19:36:59: MovableObjectFactory for type 'Light' registered.
19:36:59: MovableObjectFactory for type 'BillboardSet' registered.
19:36:59: MovableObjectFactory for type 'ManualObject' registered.
19:36:59: MovableObjectFactory for type 'BillboardChain' registered.
19:36:59: MovableObjectFactory for type 'RibbonTrail' registered.
19:36:59: MovableObjectFactory for type 'StaticGeometry' registered.
19:36:59: MovableObjectFactory for type 'Rectangle2D' registered.
19:36:59: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\RenderSystem_Direct3D9_d.dll
19:36:59: Installing plugin: D3D9 RenderSystem
19:36:59: D3D9 : Direct3D9 Rendering Subsystem created.
19:36:59: D3D9: Driver Detection Starts
19:36:59: D3D9: Driver Detection Ends
19:36:59: Plugin successfully installed
19:36:59: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\RenderSystem_Direct3D11_d.dll
19:36:59: Installing plugin: D3D11 RenderSystem
19:36:59: D3D11: Direct3D11 Rendering Subsystem created.
19:37:00: D3D11: Driver Detection Starts
19:37:00: D3D11: "NVIDIA GeForce GTX 660"
19:37:00: D3D11: "Microsoft Basic Render Driver (software)"
19:37:00: D3D11: Driver Detection Ends
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\RenderSystem_GL_d.dll
19:37:00: Installing plugin: GL RenderSystem
19:37:00: OpenGL Rendering Subsystem created.
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\RenderSystem_GL3Plus_d.dll
19:37:00: Installing plugin: GL 3+ RenderSystem
19:37:00: OpenGL 3+ Rendering Subsystem created.
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\RenderSystem_GLES2_d.dll
19:37:00: Installing plugin: OpenGL ES 2.0 RenderSystem
19:37:00: OpenGL ES 2.x Rendering Subsystem created.
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_ParticleFX_d.dll
19:37:00: Installing plugin: ParticleFX
19:37:00: Particle Emitter Type 'Point' registered
19:37:00: Particle Emitter Type 'Box' registered
19:37:00: Particle Emitter Type 'Ellipsoid' registered
19:37:00: Particle Emitter Type 'Cylinder' registered
19:37:00: Particle Emitter Type 'Ring' registered
19:37:00: Particle Emitter Type 'HollowEllipsoid' registered
19:37:00: Particle Affector Type 'LinearForce' registered
19:37:00: Particle Affector Type 'ColourFader' registered
19:37:00: Particle Affector Type 'ColourFader2' registered
19:37:00: Particle Affector Type 'ColourImage' registered
19:37:00: Particle Affector Type 'ColourInterpolator' registered
19:37:00: Particle Affector Type 'Scaler' registered
19:37:00: Particle Affector Type 'Rotator' registered
19:37:00: Particle Affector Type 'DirectionRandomiser' registered
19:37:00: Particle Affector Type 'DeflectorPlane' registered
19:37:00: Particle Affector Type 'TextureAnimator' registered
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_BSPSceneManager_d.dll
19:37:00: Installing plugin: BSP Scene Manager
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Codec_STBI_d.dll
19:37:00: stb_image - v2.28 - public domain image loader
19:37:00: Supported formats: jpeg,jpg,png,bmp,psd,tga,gif,pic,ppm,pgm,hdr
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_PCZSceneManager_d.dll
19:37:00: Installing plugin: Portal Connected Zone Scene Manager
19:37:00: PCZone Factory Type 'ZoneType_Default' registered
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_OctreeZone_d.dll
19:37:00: Installing plugin: Octree Zone Factory
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_OctreeSceneManager_d.dll
19:37:00: Installing plugin: Octree Scene Manager
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Plugin_DotScene_d.dll
19:37:00: Installing plugin: DotScene Loader
19:37:00: Plugin successfully installed
19:37:00: Loading library E:/Users/Max/eclipse-workspace-cpp/Test/build/cmake.debug.win32.x86_64/.\Codec_Assimp_d.dll
19:37:00: Assimp - 5.2.83739982 - Open-Asset-Importer
19:37:00: Supported formats: 3d 3ds 3mf ac ac3d acc amf ase ask assbin b3d blend bvh cob csm dae dxf enff fbx glb gltf hmp ifc ifczip iqm irr irrmesh lwo lws lxo md2 md3 md5anim md5camera md5mesh mdl mot ms3d ndo nff obj off ogex pk3 ply pmx prj q3o q3s scn sib smd step stl stp ter uc vta x x3d x3db xgl xml zae zgl
paroj commented 9 months ago

is assimp built by ogre or externally? is the used assimp library built as debug?

maxpa1n87 commented 9 months ago

By ogre yes build in debug mode

paroj commented 9 months ago

sounds like #1303. can you double-check that assimp is built as debug?

maxpa1n87 commented 9 months ago

It is build in separate directories one in release and another in debug. My Cmake Project selects the proper Release or Debug libraries. And as the name states Codec_Assimp_d.dll with _d suffix it is compiled in debug mode.

paroj commented 9 months ago

yes, Codec_Assimp will be a debug librarary. What about Assimp itself? Where does assimp_DIR in Cmake point to? Does it contain the debug library of assimp? If all above is correct, please provide a stacktrace.

maxpa1n87 commented 9 months ago

assimp_DIR points to E:/dev/ogre3d/ogre/build/debug/Dependencies/lib/cmake/assimp-5.2. E:\dev\ogre3d\ogre\build\debug\assimp-5.2.5\lib contains libassimpd.a which is build in debug mode. Stacktrace:

Thread #1 0 (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)    
    ntdll!RtlIsZeroMemory() at 0x7ffbfe98f2d3   
    ntdll!RtlpNtSetValueKey() at 0x7ffbfe998092 
    ntdll!RtlpNtSetValueKey() at 0x7ffbfe99837a 
    ntdll!RtlpNtSetValueKey() at 0x7ffbfe99e001 
    ntdll!RtlGetCurrentServiceSessionId() at 0x7ffbfe8b5bf0 
    ntdll!RtlFreeHeap() at 0x7ffbfe8b47b1   
    msvcrt!free() at 0x7ffbfcdb9c9c 
    std::locale::_Impl::~_Impl() at 0x7ffb46d03118  
    std::locale::~locale() at 0x7ffb46d03638    
    Ogre::Log::Stream::~Stream() at OgreLog.h:225 0x7ffb469c364d    
    Ogre::AssimpCodec::startup() at AssimpLoader.cpp:1.391 0x7ffb469c1f92   
    Ogre::dllStartPlugin() at AssimpLoader.cpp:1.419 0x7ffb46758bf5 
    Ogre::Root::loadPlugin() at OgreRoot.cpp:1.095 0x7ffb5dae63fe   
    Ogre::Root::loadPlugins() at OgreRoot.cpp:892 0x7ffb5dae5032    
    Ogre::Root::Root() at OgreRoot.cpp:230 0x7ffb5dae2506   
    OgreBites::ApplicationContextBase::createRoot() at OgreApplicationContextBase.cpp:191 0x7ffbb6b1422b    
    OgreBites::ApplicationContextBase::initApp() at OgreApplicationContextBase.cpp:55 0x7ffbb6b13a1a    
    main() at main.cpp:32 0x7ff654f414ea    

Disabling Codec_Assimp resolves the problem.

paroj commented 9 months ago

no idea though.. might be MinGW specific. You can try master, where we updated to assimp 5.3.1 to check whether it is caused by assimp