Mutual GNU / Linux


Client don't start anymore

Hi yet again,

This seems relevant in the valgrind output, I get many of them before enough damage is done to corrupt the freelist:

==14683== Invalid write of size 1
==14683== at 0x1076D97: NLMISC::CBitmap::decompressDXT1(bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CBAF13: NL3D::NLDRIVERGL::CDriverGL::setupTextureEx(NL3D::ITexture&, bool, bool&, bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CB5169: NL3D::NLDRIVERGL::CDriverGL::setupTexture(NL3D::ITexture&) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11DA654: NL3D::CMaterial::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11B02EC: NL3D::CMeshBase::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11FD1BB: NL3D::CShapeBank::preLoadShapes(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::string const&, NLMISC::IProgressCallback*, bool, NL3D::IDriver*) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x12129BC: NL3D::CShapeBankUser::preLoadShapesFromBNP(std::string const&, std::string const&, std::string const&, NLMISC::IProgressCallback*, bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0xA174AA: initMainLoop() (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x9C0F68: main (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== Address 0x468a3200 is 0 bytes after a block of size 51,200 alloc'd
==14683== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14683== by 0x969AB6: NLMISC::CObjectVector<unsigned char, false>::myRealloc(unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0xA90A04: NLMISC::CObjectVector<unsigned char, false>::resize(unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x10768E8: NLMISC::CBitmap::decompressDXT1(bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CBAF13: NL3D::NLDRIVERGL::CDriverGL::setupTextureEx(NL3D::ITexture&, bool, bool&, bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CB5169: NL3D::NLDRIVERGL::CDriverGL::setupTexture(NL3D::ITexture&) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11DA654: NL3D::CMaterial::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11B02EC: NL3D::CMeshBase::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11FD1BB: NL3D::CShapeBank::preLoadShapes(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::string const&, NLMISC::IProgressCallback*, bool, NL3D::IDriver*) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x12129BC: NL3D::CShapeBankUser::preLoadShapesFromBNP(std::string const&, std::string const&, std::string const&, NLMISC::IProgressCallback*, bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0xA174AA: initMainLoop() (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x9C0F68: main (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)


And then the next 14 bytes are accessed illegally one by one up to 0x468a320f.
And then a similar sequence of consecutive bytes from 0x468a3600 to 0x468a360f until we crash:

==14683== Invalid write of size 1
==14683== at 0x1076EFA: NLMISC::CBitmap::decompressDXT1(bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CBAF13: NL3D::NLDRIVERGL::CDriverGL::setupTextureEx(NL3D::ITexture&, bool, bool&, bool) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x1CB5169: NL3D::NLDRIVERGL::CDriverGL::setupTexture(NL3D::ITexture&) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11DA654: NL3D::CMaterial::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11B02EC: NL3D::CMeshBase::flushTextures(NL3D::IDriver&, unsigned int) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x11FD1BB: NL3D::CShapeBank::preLoadShapes(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::string const&, NLMISC::IProgres
sCallback*, bool, NL3D::IDriver*) (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x12129BC: NL3D::CShapeBankUser::preLoadShapesFromBNP(std::string const&, std::string const&, std::string const&, NLMISC::IProgressCallback*, bool) (in /home/tund
e/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0xA174AA: initMainLoop() (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== by 0x9C0F68: main (in /home/tunde/.local/share/Ryzom/ryzom_live/ryzom_client)
==14683== Address 0x468a3600 is 960 bytes inside an unallocated block of size 11,680 in arena "client"
Show topic
Last visit Tuesday, 16 April 22:39:02 UTC
P_:

powered by ryzom-api