Post via forum by datahead <cjj_009@xxxxxxxxxx>:
I couldn't sleep, so I did a little valgrinding. I figured I'd at least post the
valgrind output.
./runRelease.sh shell script commands:
[code]
rm ~/.config/tsc/config.xml
cd /home/datahead/TSC-Release/TSC/tsc/build
valgrind ./testinstall/bin/tsc
[/code]
Valgrind output:
[code]
datahead@datahead-G750JW:~$ ./runRelease.sh
rm: cannot remove ‘/home/datahead/.config/tsc/config.xml’: No such file or directory
==2766== Memcheck, a memory error detector
==2766== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==2766== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==2766== Command: ./testinstall/bin/tsc
==2766==
Initializing resource manager and core classes
Game data directory: /home/datahead/TSC-Release/TSC/tsc/build/testinstall/share/tsc
User data directory: /home/datahead/.local/share/tsc
User cache directory: /home/datahead/.cache/tsc
User config directory: /home/datahead/.config/tsc
Initializing Package Manager
==2766== Conditional jump or move depends on uninitialised value(s)
==2766== at 0xC422094: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3C8425: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3CAC6D: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC55C175: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC55FAB1: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4021E4: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC402561: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4025F7: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC55C795: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC5691D3: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC10D875: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC10DBF7: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766==
==2766== Conditional jump or move depends on uninitialised value(s)
==2766== at 0xC422094: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3C8425: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3CA9CF: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC57C005: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC57D73E: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4021E4: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC402561: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4025F7: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC57C7B0: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC56A098: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC10DE42: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC56EDE2: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766==
==2766== Conditional jump or move depends on uninitialised value(s)
==2766== at 0xC422094: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3C8425: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3C8CDC: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC5A4397: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC5A5B4E: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4021E4: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC402561: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC4025F7: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC5A4715: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC56EE82: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3BF0F4: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766== by 0xC3A1EAB: ??? (in /usr/lib/nvidia-340/libnvidia-glcore.so.340.96)
==2766==
Warning: Preferences file '/home/datahead/.config/tsc/config.xml' does not exist.
Using default values.
Configuration file is '/home/datahead/.config/tsc/config.xml'.
Translation locale is en_US.UTF-8
Translation support with gettext set to:
Directory /home/datahead/TSC-Release/TSC/tsc/build/testinstall/share/tsc/translations
Codeset: UTF-8
Text domain: Secretchronicles
CEGUI log file is at '/home/datahead/.cache/tsc/cegui.log'.
Loading campaigns
Loaded campaign file:
/home/datahead/TSC-Release/TSC/tsc/build/testinstall/share/tsc/campaigns/tutorial.tsccpn
Loaded campaign file:
/home/datahead/TSC-Release/TSC/tsc/build/testinstall/share/tsc/campaigns/smc.tsccpn
Setting up level player
Loading levels
Applying preferences
==2766== Invalid read of size 4
==2766== at 0x6B684C: TSC::cSprite_Manager::Generate_UID() (sprite_manager.cpp:459)
==2766== by 0x6B574E: TSC::cSprite_Manager::Add(TSC::cSprite*) (sprite_manager.cpp:62)
==2766== by 0x6BFA89: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:803)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
==2766== Address 0x10c3d030 is 32 bytes inside a block of size 40 free'd
==2766== at 0x4C2C2BC: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2766== by 0x6BAE57: __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::deallocate(std::_Rb_tree_node<int>*, unsigned long) (new_allocator.h:110)
==2766== by 0x6B9FF7: std::_Rb_tree<int, int, std::_Identity<int>,
std::less<int>, std::allocator<int>
>::_M_put_node(std::_Rb_tree_node<int>*) (stl_tree.h:374)
==2766== by 0x6B8ED5: std::_Rb_tree<int, int, std::_Identity<int>,
std::less<int>, std::allocator<int>
>::_M_destroy_node(std::_Rb_tree_node<int>*) (stl_tree.h:422)
==2766== by 0x6B9D9B: std::_Rb_tree<int, int, std::_Identity<int>,
std::less<int>, std::allocator<int>
>::_M_erase_aux(std::_Rb_tree_const_iterator<int>) (stl_tree.h:1746)
==2766== by 0x6B8C58: std::_Rb_tree<int, int, std::_Identity<int>,
std::less<int>, std::allocator<int>
>::erase[abi:cxx11](std::_Rb_tree_const_iterator<int>) (stl_tree.h:809)
==2766== by 0x6B7A56: std::set<int, std::less<int>, std::allocator<int>
>::erase[abi:cxx11](std::_Rb_tree_const_iterator<int>) (stl_set.h:552)
==2766== by 0x6B683F: TSC::cSprite_Manager::Generate_UID() (sprite_manager.cpp:458)
==2766== by 0x6B574E: TSC::cSprite_Manager::Add(TSC::cSprite*) (sprite_manager.cpp:62)
==2766== by 0x6BFA89: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:803)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766==
==2766== Invalid read of size 1
==2766== at 0x540B4B: TSC::cVideo::Downscale_Image(unsigned char const*, int, int, int,
unsigned char*, int, int) const (video.cpp:1426)
==2766== by 0x53FDC5: TSC::cVideo::Create_Texture(sf::Image*, bool, unsigned int,
unsigned int) const (video.cpp:1063)
==2766== by 0x53F8D6: TSC::cVideo::Load_GL_Surface_Helper(boost::filesystem::path,
bool, bool, bool) (video.cpp:952)
==2766== by 0x53E646: TSC::cVideo::Get_Surface_Helper(boost::filesystem::path, bool,
bool) (video.cpp:789)
==2766== by 0x53E2E7: TSC::cVideo::Get_Surface(boost::filesystem::path, bool)
(video.cpp:753)
==2766== by 0x6BFA1C: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:801)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
==2766== Address 0x1b657080 is 0 bytes after a block of size 524,288 alloc'd
==2766== at 0x4C2B0E0: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2766== by 0x5236B81: std::vector<unsigned char, std::allocator<unsigned
char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned
long, unsigned char const&) (in /usr/local/lib/libCEGUIBase-0.so.2.4.2)
==2766== by 0x598414A: sf::priv::ImageLoader::loadImageFromFile(std::string const&,
std::vector<unsigned char, std::allocator<unsigned char> >&,
sf::Vector2<unsigned int>&) (in /usr/local/lib/libsfml-graphics.so.2.3.2)
==2766== by 0x53F06C: TSC::cVideo::Load_Image_Helper(boost::filesystem::path, bool,
bool, bool) const (video.cpp:874)
==2766== by 0x53F84A: TSC::cVideo::Load_GL_Surface_Helper(boost::filesystem::path,
bool, bool, bool) (video.cpp:939)
==2766== by 0x53E646: TSC::cVideo::Get_Surface_Helper(boost::filesystem::path, bool,
bool) (video.cpp:789)
==2766== by 0x53E2E7: TSC::cVideo::Get_Surface(boost::filesystem::path, bool)
(video.cpp:753)
==2766== by 0x6BFA1C: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:801)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
==2766==
==2766== Invalid write of size 1
==2766== at 0x540B97: TSC::cVideo::Downscale_Image(unsigned char const*, int, int, int,
unsigned char*, int, int) const (video.cpp:1430)
==2766== by 0x53FDC5: TSC::cVideo::Create_Texture(sf::Image*, bool, unsigned int,
unsigned int) const (video.cpp:1063)
==2766== by 0x53F8D6: TSC::cVideo::Load_GL_Surface_Helper(boost::filesystem::path,
bool, bool, bool) (video.cpp:952)
==2766== by 0x53E646: TSC::cVideo::Get_Surface_Helper(boost::filesystem::path, bool,
bool) (video.cpp:789)
==2766== by 0x53E2E7: TSC::cVideo::Get_Surface(boost::filesystem::path, bool)
(video.cpp:753)
==2766== by 0x6BFA1C: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:801)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
==2766== Address 0x1a951e00 is 0 bytes after a block of size 131,072 alloc'd
==2766== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2766== by 0x53FD66: TSC::cVideo::Create_Texture(sf::Image*, bool, unsigned int,
unsigned int) const (video.cpp:1062)
==2766== by 0x53F8D6: TSC::cVideo::Load_GL_Surface_Helper(boost::filesystem::path,
bool, bool, bool) (video.cpp:952)
==2766== by 0x53E646: TSC::cVideo::Get_Surface_Helper(boost::filesystem::path, bool,
bool) (video.cpp:789)
==2766== by 0x53E2E7: TSC::cVideo::Get_Surface(boost::filesystem::path, bool)
(video.cpp:753)
==2766== by 0x6BFA1C: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:801)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
==2766==
valgrind: m_mallocfree.c:278 (mk_plain_bszB): Assertion 'bszB != 0' failed.
valgrind: This is probably caused by your program erroneously writing past the
end of a heap block and corrupting heap metadata. If you fix any
invalid writes reported by Memcheck, this assertion failure will
probably go away. Please try that before reporting this as a bug.
host stacktrace:
==2766== at 0x3805DB16: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x3805DC24: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x3805DDA6: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x380688EA: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x38069402: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x3806AF84: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x3802CCA4: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x3802CECA: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x380AF1F5: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==2766== by 0x380BDCBC: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable
==2766== at 0x4C2B0E0: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2766== by 0x5236B81: std::vector<unsigned char, std::allocator<unsigned
char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned
long, unsigned char const&) (in /usr/local/lib/libCEGUIBase-0.so.2.4.2)
==2766== by 0x596A091: sf::Image::create(unsigned int, unsigned int, unsigned char
const*) (in /usr/local/lib/libsfml-graphics.so.2.3.2)
==2766== by 0x53FDF8: TSC::cVideo::Create_Texture(sf::Image*, bool, unsigned int,
unsigned int) const (video.cpp:1066)
==2766== by 0x53F8D6: TSC::cVideo::Load_GL_Surface_Helper(boost::filesystem::path,
bool, bool, bool) (video.cpp:952)
==2766== by 0x53E646: TSC::cVideo::Get_Surface_Helper(boost::filesystem::path, bool,
bool) (video.cpp:789)
==2766== by 0x53E2E7: TSC::cVideo::Get_Surface(boost::filesystem::path, bool)
(video.cpp:753)
==2766== by 0x6BFA1C: TSC::cEditor::Try_Add_Image_Item(boost::filesystem::path)
(editor.cpp:801)
==2766== by 0x6C11F7: TSC::cEditor::load_image_items() (editor.cpp:937)
==2766== by 0x6BC47A: TSC::cEditor::Init() (editor.cpp:93)
==2766== by 0x69F414: TSC::Init_Game() (main.cpp:311)
==2766== by 0x69E895: main (main.cpp:180)
Thread 2: status = VgTs_WaitSys
==2766== at 0x81193AD: ??? (syscall-template.S:81)
==2766== by 0x1237EFD7: pa_iochannel_read_with_creds (in
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so)
==2766== by 0x1238EFE6: ??? (in
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so)
==2766== by 0x11F26AEB: pa_mainloop_dispatch (in
/usr/lib/x86_64-linux-gnu/libpulse.so.0.16.2)
==2766== by 0x11F26ED9: pa_mainloop_iterate (in
/usr/lib/x86_64-linux-gnu/libpulse.so.0.16.2)
==2766== by 0x11F26F7F: pa_mainloop_run (in
/usr/lib/x86_64-linux-gnu/libpulse.so.0.16.2)
==2766== by 0x11F34FE2: ??? (in /usr/lib/x86_64-linux-gnu/libpulse.so.0.16.2)
==2766== by 0x1239EF07: ??? (in
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so)
==2766== by 0xA74E183: start_thread (pthread_create.c:312)
==2766== by 0x811837C: clone (clone.S:111)
Thread 3: status = VgTs_WaitSys
==2766== at 0xA74BC7A: __pthread_mutex_lock_full (pthread_mutex_lock.c:341)
==2766== by 0x1239E08D: pa_mutex_lock (in
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so)
==2766== by 0x8B4A54C: ??? (in /usr/lib/x86_64-linux-gnu/libopenal.so.1.14.0)
==2766== by 0x8B3CE69: ??? (in /usr/lib/x86_64-linux-gnu/libopenal.so.1.14.0)
==2766== by 0xA74E183: start_thread (pthread_create.c:312)
==2766== by 0x811837C: clone (clone.S:111)
Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to:
www.valgrind.org
In the bug report, send all the above text, the valgrind
version, and what OS and version you are using. Thanks.
[/code]
--
Sent by Chessboard.