hi steph,

your change in  "libgag/src/TextStream.cpp"  was not good.
Line 467: delete backend;
I don't get into the main menu when starting - without valgrind.

Here's the corresponding valgrind output:

==5961== Memcheck, a memory error detector.
==5961== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==5961== Using LibVEX rev 1658, a library for dynamic binary translation.
==5961== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==5961== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==5961== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==5961== For more details, rerun with: -v
==5961== 
==5961== My PID = 5961, parent PID = 4103.  Prog and args are:
==5961==    src/glob2
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A1DB: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x4003780: dl_main (in /lib64/ld-2.5.so)
==5961==    by 0x4012779: _dl_sysdep_start (in /lib64/ld-2.5.so)
==5961==    by 0x4001362: _dl_start (in /lib64/ld-2.5.so)
==5961==    by 0x4000B87: (within /lib64/ld-2.5.so)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A1E4: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x4003780: dl_main (in /lib64/ld-2.5.so)
==5961==    by 0x4012779: _dl_sysdep_start (in /lib64/ld-2.5.so)
==5961==    by 0x4001362: _dl_start (in /lib64/ld-2.5.so)
==5961==    by 0x4000B87: (within /lib64/ld-2.5.so)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A1DB: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x4003888: dl_main (in /lib64/ld-2.5.so)
==5961==    by 0x4012779: _dl_sysdep_start (in /lib64/ld-2.5.so)
==5961==    by 0x4001362: _dl_start (in /lib64/ld-2.5.so)
==5961==    by 0x4000B87: (within /lib64/ld-2.5.so)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A1E4: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x4003888: dl_main (in /lib64/ld-2.5.so)
==5961==    by 0x4012779: _dl_sysdep_start (in /lib64/ld-2.5.so)
==5961==    by 0x4001362: _dl_start (in /lib64/ld-2.5.so)
==5961==    by 0x4000B87: (within /lib64/ld-2.5.so)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A1DB: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x40107D9: dl_open_worker (in /lib64/ld-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x40101B6: _dl_open (in /lib64/ld-2.5.so)
==5961==    by 0x63191D9: (within /lib64/libdl-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x631955C: (within /lib64/libdl-2.5.so)
==5961==    by 0x6319151: dlopen (in /lib64/libdl-2.5.so)
==5961==    by 0x509842A: SDL_LoadObject (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x509B900: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50AA1B5: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094D87: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A40B: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x40107D9: dl_open_worker (in /lib64/ld-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x40101B6: _dl_open (in /lib64/ld-2.5.so)
==5961==    by 0x63191D9: (within /lib64/libdl-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x631955C: (within /lib64/libdl-2.5.so)
==5961==    by 0x6319151: dlopen (in /lib64/libdl-2.5.so)
==5961==    by 0x509842A: SDL_LoadObject (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x509B900: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50AA1B5: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094D87: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961== 
==5961== Conditional jump or move depends on uninitialised value(s)
==5961==    at 0x400A306: _dl_relocate_object (in /lib64/ld-2.5.so)
==5961==    by 0x40107D9: dl_open_worker (in /lib64/ld-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x40101B6: _dl_open (in /lib64/ld-2.5.so)
==5961==    by 0x63191D9: (within /lib64/libdl-2.5.so)
==5961==    by 0x400C885: _dl_catch_error (in /lib64/ld-2.5.so)
==5961==    by 0x631955C: (within /lib64/libdl-2.5.so)
==5961==    by 0x6319151: dlopen (in /lib64/libdl-2.5.so)
==5961==    by 0x509842A: SDL_LoadObject (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x509B900: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50AA1B5: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094D87: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961== 
==5961== Syscall param write(buf) points to uninitialised byte(s)
==5961==    at 0x51E2CA0: __write_nocancel (in /lib64/libpthread-2.5.so)
==5961==    by 0x5F3C9EE: (within /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F312EE: (within /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F313E0: _XReply (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F1929D: XInternAtom (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x50AACD9: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50A95D5: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50AA463: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094C95: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506A9F7: SDL_InitSubSystem (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506AA1E: SDL_Init (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x61DBA3: GAGCore::GraphicContext::GraphicContext(int, int, 
unsigned) (GraphicContext.cpp:1746)
==5961==  Address 0x717E19E is 14 bytes inside a block of size 16,384 alloc'd
==5961==    at 0x4A1FFC6: calloc (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x5F1EA54: XOpenDisplay (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x50AA244: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094C95: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506A9F7: SDL_InitSubSystem (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506AA1E: SDL_Init (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x61DBA3: GAGCore::GraphicContext::GraphicContext(int, int, 
unsigned) (GraphicContext.cpp:1746)
==5961==    by 0x62996F: GAGCore::Toolkit::initGraphic(int, int, unsigned) 
(Toolkit.cpp:51)
==5961==    by 0x4E6720: GlobalContainer::load() (GlobalContainer.cpp:432)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961== 
==5961== Syscall param write(buf) points to uninitialised byte(s)
==5961==    at 0x51E2CDB: (within /lib64/libpthread-2.5.so)
==5961==    by 0x5F3C9EE: (within /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F312EE: (within /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F313E0: _XReply (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F2B568: XSync (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x50A8327: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50A9EA6: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x509396E: SDL_SetVideoMode (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x61B617: GAGCore::GraphicContext::setRes(int, int, unsigned) 
(GraphicContext.cpp:1810)
==5961==    by 0x61DC02: GAGCore::GraphicContext::GraphicContext(int, int, 
unsigned) (GraphicContext.cpp:1762)
==5961==    by 0x62996F: GAGCore::Toolkit::initGraphic(int, int, unsigned) 
(Toolkit.cpp:51)
==5961==    by 0x4E6720: GlobalContainer::load() (GlobalContainer.cpp:432)
==5961==  Address 0x7184063 is 19 bytes inside a block of size 16,384 alloc'd
==5961==    at 0x4A1FFC6: calloc (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x5F1EA54: XOpenDisplay (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x50AA261: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094C95: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506A9F7: SDL_InitSubSystem (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506AA1E: SDL_Init (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x61DBA3: GAGCore::GraphicContext::GraphicContext(int, int, 
unsigned) (GraphicContext.cpp:1746)
==5961==    by 0x62996F: GAGCore::Toolkit::initGraphic(int, int, unsigned) 
(Toolkit.cpp:51)
==5961==    by 0x4E6720: GlobalContainer::load() (GlobalContainer.cpp:432)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961== 
==5961== Invalid read of size 8
==5961==    at 0x55E4FB: Race::loadDefault() (Race.cpp:54)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961==  Address 0x69DCDA8 is 0 bytes inside a block of size 16 free'd
==5961==    at 0x4A209ED: operator delete(void*) (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x628DEB: GAGCore::FileStreamBackend::~FileStreamBackend() 
(StreamBackend.h:61)
==5961==    by 0x64B075: 
GAGCore::TextInputStream::TextInputStream(GAGCore::StreamBackend*) 
(TextStream.cpp:470)
==5961==    by 0x55E4C7: Race::loadDefault() (Race.cpp:53)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961== 
==5961== Invalid write of size 8
==5961==    at 0x628981: GAGCore::StreamBackend::~StreamBackend() 
(StreamBackend.h:37)
==5961==    by 0x55E50A: Race::loadDefault() (Race.cpp:54)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961==  Address 0x69DCDA8 is 0 bytes inside a block of size 16 free'd
==5961==    at 0x4A209ED: operator delete(void*) (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x628DEB: GAGCore::FileStreamBackend::~FileStreamBackend() 
(StreamBackend.h:61)
==5961==    by 0x64B075: 
GAGCore::TextInputStream::TextInputStream(GAGCore::StreamBackend*) 
(TextStream.cpp:470)
==5961==    by 0x55E4C7: Race::loadDefault() (Race.cpp:53)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961== 
==5961== Invalid free() / delete / delete[]
==5961==    at 0x4A209ED: operator delete(void*) (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x628995: GAGCore::StreamBackend::~StreamBackend() 
(StreamBackend.h:37)
==5961==    by 0x55E50A: Race::loadDefault() (Race.cpp:54)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961==  Address 0x69DCDA8 is 0 bytes inside a block of size 16 free'd
==5961==    at 0x4A209ED: operator delete(void*) (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x628DEB: GAGCore::FileStreamBackend::~FileStreamBackend() 
(StreamBackend.h:61)
==5961==    by 0x64B075: 
GAGCore::TextInputStream::TextInputStream(GAGCore::StreamBackend*) 
(TextStream.cpp:470)
==5961==    by 0x55E4C7: Race::loadDefault() (Race.cpp:53)
==5961==    by 0x4E68EC: GlobalContainer::load() (GlobalContainer.cpp:462)
==5961==    by 0x4E4FE2: Glob2::run(int, char**) (Glob2.cpp:246)
==5961==    by 0x4E5A00: main (Glob2.cpp:435)
==5961== 
==5961== ERROR SUMMARY: 8094 errors from 12 contexts (suppressed: 0 from 0)
==5961== malloc/free: in use at exit: 37,065 bytes in 400 blocks.
==5961== malloc/free: 179,612 allocs, 179,213 frees, 124,513,630 bytes 
allocated.
==5961== For counts of detected errors, rerun with: -v
==5961== searching for pointers to 400 not-freed blocks.
==5961== checked 769,896 bytes.
==5961== 
==5961== 
==5961== 12 bytes in 2 blocks are definitely lost in loss record 5 of 40
==5961==    at 0x4A2214E: malloc (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x5F65A1A: (within /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F66025: _XimSetICValueData (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F5B437: _XimLocalCreateIC (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x5F4430C: XCreateIC (in /usr/lib64/libX11.so.6.2.0)
==5961==    by 0x50A9733: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x50AA463: (within /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x5094C95: SDL_VideoInit (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506A9F7: SDL_InitSubSystem (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x506AA1E: SDL_Init (in /usr/lib64/libSDL-1.2.so.0.11.0)
==5961==    by 0x61DBA3: GAGCore::GraphicContext::GraphicContext(int, int, 
unsigned) (GraphicContext.cpp:1746)
==5961==    by 0x62996F: GAGCore::Toolkit::initGraphic(int, int, unsigned) 
(Toolkit.cpp:51)
==5961== 
==5961== 
==5961== 5,536 bytes in 4 blocks are definitely lost in loss record 39 of 40
==5961==    at 0x4A2214E: malloc (in 
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==5961==    by 0x653276F: ft_mem_qalloc (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x6536272: ft_mem_alloc (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x6536A7A: ft_mem_qrealloc (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x6536B5A: ft_mem_realloc (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x658134E: (within /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x6584587: (within /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x65366CA: FT_New_Size (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x6538DF3: FT_Open_Face (in /usr/lib64/libfreetype.so.6.3.8)
==5961==    by 0x551252C: TTF_OpenFontIndexRW (in 
/usr/lib64/libSDL_ttf-2.0.so.0.6.2)
==5961==    by 0x64FD09: GAGCore::TrueTypeFont::load(char const*, unsigned) 
(TrueTypeFont.cpp:80)
==5961==    by 0x6293DA: GAGCore::Toolkit::loadFont(char const*, unsigned, char 
const*) (Toolkit.cpp:123)
==5961== 
==5961== LEAK SUMMARY:
==5961==    definitely lost: 5,548 bytes in 6 blocks.
==5961==      possibly lost: 0 bytes in 0 blocks.
==5961==    still reachable: 31,517 bytes in 394 blocks.
==5961==         suppressed: 0 bytes in 0 blocks.
==5961== Reachable blocks (those to which a pointer was found) are not shown.
==5961== To see them, rerun with: --show-reachable=yes

-- 
Kai Antweiler
_______________________________________________
glob2-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/glob2-devel

Reply via email to