[Uml-devel] [Bug 64501] Crash when closed by the window closing icon

Sebastian Stein seb_stein at gmx.de
Sat Oct 4 10:20:04 UTC 2003


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
     
http://bugs.kde.org/show_bug.cgi?id=64501     




------- Additional Comments From seb_stein at gmx.de  2003-10-04 19:19 -------
Subject: Re: [Uml-devel]  Crash when closed by the window closing icon

When closed by the Quit menu entry, the destructor of UMLApp isn't called.
Sure, we may work around it that the destructor isn't called as well when
clicking the close button, but this wouldn't be the right way to do. So when
clicking the close X the crash happens. You can see the problem here with
valgrind output. This code was done by Brian, so please have a look at it,
you know best how to handle!

queryClose
queryExit
WARNING: DESTROYED CODE DOCUMENT name:new_class id:0x4539c228
WARNING: DESTROYED CODE DOCUMENT name:new_interface id:0x46223774
WARNING: DESTROYED CODE DOCUMENT name:new_class_1 id:0x465f313c
WARNING: DESTROYED CODE DOCUMENT name:new_interface_1 id:0x46609cd0
WARNING: DESTROYED CODE DOCUMENT name:build id:0x46662c10
~UMLApp
==3916==
==3916== Invalid read of size 4
==3916==    at 0x80DAA62: CodeClassField::removeMethod(CodeAccessorMethod*) (codeclassfield.cpp:186)
==3916==    by 0x80DA419: CodeClassField::~CodeClassField() (codeclassfield.cpp:55)
==3916==    by 0x40267BE7: JavaCodeClassField::~JavaCodeClassField() (javacodeclassfield.cpp:45)
==3916==    by 0x40D28E01: QObject::~QObject() (in /usr/lib/qt-3.2.1/lib/libqt-mt.so.3.2.1)
==3916==    Address 0x4539C228 is 0 bytes inside a block of size 192 free'd
==3916==    at 0x4002974F: __builtin_delete (vg_replace_malloc.c:233)
==3916==    by 0x4002976D: operator delete(void*) (vg_replace_malloc.c:242)
==3916==    by 0x4026876E: JavaClassifierCodeDocument::~JavaClassifierCodeDocument() (javaclassifiercodedocument.cpp:44)
==3916==    by 0x80E361C: CodeGenerator::~CodeGenerator() (codegenerator.cpp:69)
disInstr: unhandled instruction bytes: 0x62 0x40 0x0 0x0
==3916==
==3916== Invalid read of size 1
==3916==    at 0x4063AD98: ???
==3916==    by 0x80DA419: CodeClassField::~CodeClassField() (codeclassfield.cpp:55)
==3916==    by 0x40267BE7: JavaCodeClassField::~JavaCodeClassField() (javacodeclassfield.cpp:45)
==3916==    by 0x40D28E01: QObject::~QObject() (in /usr/lib/qt-3.2.1/lib/libqt-mt.so.3.2.1)
==3916==    Address 0xABD1477E is not stack'd, malloc'd or free'd
==3916== Warning: client attempted to close Valgrind's logfile fd (2).
==3916==    Use --logfile-fd=<number> to select an alternative logfile fd.
KCrash: Application 'umbrello' crashing...
==3916== Warning: invalid file descriptor 8 in syscall write()
==3916== discard syms in /usr/lib/gconv/ISO8859-1.so due to munmap()
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C63F9: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477E6: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77764 is 8 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F555: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid write of size 4
==3916==    at 0x413C63FF: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477E6: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77764 is 8 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F555: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C6404: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477E6: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B7777C is 32 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F555: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C640B: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477E6: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B7775C is 0 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F555: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid write of size 4
==3916==    at 0x413C6425: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477E6: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B7775C is 0 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F555: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C63F9: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477F0: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77110 is 8 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3281: free_mem (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid write of size 4
==3916==    at 0x413C63FF: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477F0: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77110 is 8 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3281: free_mem (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C6404: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477F0: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77128 is 32 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3281: free_mem (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid read of size 4
==3916==    at 0x413C640B: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477F0: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77108 is 0 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3281: free_mem (in /lib/libc-2.3.2.so)
==3916==
==3916== Invalid write of size 4
==3916==    at 0x413C6425: __gconv_release_step (in /lib/libc-2.3.2.so)
==3916==    by 0x413C6FFC: __gconv_close_transform (in /lib/libc-2.3.2.so)
==3916==    by 0x414477F0: _nl_cleanup_ctype (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3512: _nl_archive_subfreeres (in /lib/libc-2.3.2.so)
==3916==    Address 0x44B77108 is 0 bytes inside a block of size 60 free'd
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x413C63A0: free_derivation (in /lib/libc-2.3.2.so)
==3916==    by 0x4148F532: tdestroy_recurse (in /lib/libc-2.3.2.so)
==3916==    by 0x414C3281: free_mem (in /lib/libc-2.3.2.so)
==3916== discard syms in /lib/libnss_compat-2.3.2.so due to munmap()
==3916== discard syms in /lib/libnsl-2.3.2.so due to munmap()
==3916==
==3916== Invalid free() / delete / delete[]
==3916==    at 0x400296C7: free (vg_replace_malloc.c:220)
==3916==    by 0x414C3A5B: free_mem (in /lib/libc-2.3.2.so)
==3916==    by 0x414C37C8: __GI___libc_freeres (in /lib/libc-2.3.2.so)
==3916==    by 0x40181E00: vgPlain___libc_freeres_wrapper (vg_intercept.c:831)
==3916==    Address 0x41383D00 is not stack'd, malloc'd or free'd
==3916==




More information about the umbrello-devel mailing list