CelestiaProject / Celestia

Real-time 3D visualization of space.
https://celestiaproject.space
GNU General Public License v2.0
1.86k stars 309 forks source link

Segfault in png_combine_row #2257

Closed levinli303 closed 2 weeks ago

levinli303 commented 2 weeks ago

This was collected by crash reporter lib, not sure how to reproduce, but is a new crash so I suppose it is related to recent changes to png loader. The build is based on this commit https://github.com/CelestiaProject/Celestia/tree/97fe2c9c101d4ccba887fb9cd8d6a3de90b11344 and

OS Version: Android 13 (PD2083F_EX_A_8.78.17)
Report Version: 104

Exception Type: Unknown (SIGSEGV)

Application Specific Information:
Segfault

Thread 0 Crashed:
0   libc.so                         0x70d2de8ec0        <unknown> + 484574138048
1   libcelestia.so                  0x6db3c5c034        png_combine_row (pngrutil.c:3675)
2   libcelestia.so                  0x6db3c4f21c        png_read_row (pngread.c:610)
3   libcelestia.so                  0x6db3c4f458        png_read_image (pngread.c:757)
4   libcelestia.so                  0x6db3a61004        celestia::engine::LoadPNGImage (png.cpp:256)
5   libcelestia.so                  0x6db3a60630        celestia::engine::Image::load (image.cpp:397)
6   libcelestia.so                  0x6db3a55834        LoadTextureFromFile (texture.cpp:931)
7   libcelestia.so                  0x6db3a52338        TextureInfo::load (texmanager.cpp:112)
8   libcelestia.so                  0x6db39f11c4        ResourceManager<T>::InfoType::load (resmanager.h:90)
9   libcelestia.so                  0x6db39f1018        ResourceManager<T>::loadResource (resmanager.h:116)
10  libcelestia.so                  0x6db3a05fb0        [inlined] ResourceManager<T>::find (resmanager.h:64)
11  libcelestia.so                  0x6db3a05fb0        GLSLUnlit_RenderContext::makeCurrent (rendcontext.cpp:611)
12  libcelestia.so                  0x6db39ef7bc        ModelGeometry::render (modelgeometry.cpp:204)
13  libcelestia.so                  0x6db39abe60        celestia::render::NebulaRenderer::renderNebula (nebularenderer.cpp:103)
14  libcelestia.so                  0x6db39aba4c        celestia::render::NebulaRenderer::render (nebularenderer.cpp:71)
15  libcelestia.so                  0x6db3a0e4f8        Renderer::renderDeepSkyObjects (render.cpp:3927)
16  libcelestia.so                  0x6db3a0c968        Renderer::render (render.cpp:1594)
17  libcelestia.so                  0x6db3880474        CelestiaCore::draw (celestiacore.cpp:2010)
18  libcelestia.so                  0x6db38801ac        CelestiaCore::draw (celestiacore.cpp:1929)
19  libcelestia.so                  0x6db3a79888        [inlined] CelestiaRenderer::tickAndDraw (CelestiaRenderer.cpp:238)
20  libcelestia.so                  0x6db3a79888        CelestiaRenderer::threadCallback (CelestiaRenderer.cpp:421)

Screenshot 2024-11-08 at 9 43 43 AM

using libpng 1.6.44 https://github.com/pnggroup/libpng/tree/v1.6.44

ajtribick commented 2 weeks ago

Looks like it's indexed PNGs with transparency