overte icon indicating copy to clipboard operation
overte copied to clipboard

Crash in Overte_Hub on getMipFace

Open JulianGro opened this issue 9 months ago • 1 comments

Maybe a corrupted KTX cache file? But maybe we should just delete the file in such a case?

[04/11 20:54:24] [DEBUG] [hifi.core.storage] Failed to map file, falling back to memory storage  "/home/juliangro/.local/share/Overte - dev/Interface/ktx_cache/d583bd2fc11ec85819c2ff92e59d18fb.ktx"
[04/11 20:54:24] [WARNING] [default] Failed to get a valid storageView for faceSize= 16384   faceOffset= 22347960 out of valid file  "/home/juliangro/.local/share/Overte - dev/Interface/ktx_cache/d583bd2fc11ec85819c2ff92e59d18fb.ktx"

Thread 50 "Presentation Th" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff6bff76c0 (LWP 209073)]
0x00007ffff01b0a75 in storage::Storage::toMemoryStorage (this=0x0) at /home/juliangro/git/overte-master/libraries/shared/src/shared/Storage.cpp:36
36	    return std::make_shared<MemoryStorage>(size(), data());
(gdb) bt
#0  0x00007ffff01b0a75 in storage::Storage::toMemoryStorage (this=0x0) at /home/juliangro/git/overte-master/libraries/shared/src/shared/Storage.cpp:36
#1  0x00007ffff55d3f61 in gpu::Texture::KtxStorage::getMipFace (this=<optimized out>, level=<optimized out>, face=<optimized out>) at /home/juliangro/git/overte-master/libraries/gpu/src/gpu/Texture_ktx.cpp:299
#2  0x00007ffff61cc451 in gpu::Texture::accessStoredMipFace (this=<optimized out>, level=25792, face=0 '\000') at /home/juliangro/git/overte-master/libraries/gpu/src/gpu/Texture.h:610
#3  gpu::gl::GLTexture::copyMipFaceFromTexture (this=this@entry=0x5555ad08d900, sourceMip=sourceMip@entry=5, targetMip=targetMip@entry=2, face=face@entry=0 '\000') at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLTexture.cpp:156
#4  0x00007ffff7e35250 in gpu::gl45::GL45Backend::GL45ResourceTexture::copyMipsFromTexture (this=this@entry=0x5555ad08d900) at /home/juliangro/git/overte-master/libraries/gpu-gl/src/gpu/gl45/GL45BackendVariableTexture.cpp:125
#5  0x00007ffff7e35396 in gpu::gl45::GL45Backend::GL45ResourceTexture::GL45ResourceTexture (this=this@entry=0x5555ad08d900, backend=std::weak_ptr<gpu::gl::GLBackend> (use count 2, weak count 5118) = {...}, texture=...)
    at /home/juliangro/git/overte-master/libraries/gpu-gl/src/gpu/gl45/GL45BackendVariableTexture.cpp:99
#6  0x00007ffff7e3321c in gpu::gl45::GL45Backend::syncGPUObject (this=0x55555ca54040, texturePointer=std::shared_ptr<gpu::Texture> (use count 3, weak count 1) = {...}) at /home/juliangro/git/overte-master/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:101
#7  0x00007ffff61b8279 in gpu::gl::GLBackend::setResourceTexture (this=0x55555ca54040, slot=0, resourceTexture=std::shared_ptr<gpu::Texture> (use count 3, weak count 1) = {...}, sampler=...)
    at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLBackendPipeline.cpp:298
#8  gpu::gl::GLBackend::bindResourceTexture (this=0x55555ca54040, slot=0, resourceTexture=std::shared_ptr<gpu::Texture> (use count 3, weak count 1) = {...}, sampler=...) at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLBackendPipeline.cpp:260
#9  0x00007ffff61b8983 in gpu::gl::GLBackend::do_setResourceTextureTable (this=0x55555ca54040, batch=..., paramOffset=569) at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLBackendPipeline.cpp:334
#10 0x00007ffff61afb7d in gpu::gl::GLBackend::renderPassDraw (this=this@entry=0x55555ca54040, batch=...) at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp:500
#11 0x00007ffff61b331b in gpu::gl::GLBackend::render (this=0x55555ca54040, batch=...) at /home/juliangro/git/overte-master/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp:572
#12 0x00007ffff557a914 in gpu::Context::executeFrame (this=0x55555ca52750, frame=std::shared_ptr<gpu::Frame> (use count 1, weak count 0) = {...}) at /home/juliangro/git/overte-master/libraries/gpu/src/gpu/Context.cpp:147
#13 0x00007ffff7ed6ce3 in OpenGLDisplayPlugin::present (this=this@entry=0x55555c5f8330, refreshRateController=std::shared_ptr<RefreshRateController> (use count 1, weak count 0) = {...})
    at /home/juliangro/git/overte-master/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp:718
#14 0x00007ffff7edc557 in PresentThread::run (this=0x55556c123a10) at /home/juliangro/git/overte-master/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp:201
#15 0x00007ffff6cdec21 in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#16 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287
#17 QThreadPrivate::start (arg=0x55556c123a10) at thread/qthread_unix.cpp:310
#18 0x00007fffefc9cb7b in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448
#19 0x00007fffefd1a7b8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) 

JulianGro avatar Apr 11 '25 19:04 JulianGro

Here is the KTX file mentioned: d583bd2fc11ec85819c2ff92e59d18fb.ktx.zip It is 0 bytes in size, so that might explain issues.

JulianGro avatar Apr 11 '25 19:04 JulianGro