bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #57516] Subject: Memory leaks shown by "LDFLAGS=-fsanitize=address"


From: Bjarni Ingi Gislason
Subject: [bug #57516] Subject: Memory leaks shown by "LDFLAGS=-fsanitize=address"
Date: Wed, 1 Jan 2020 22:45:38 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

URL:
  <https://savannah.gnu.org/bugs/?57516>

                 Summary: Subject: Memory leaks shown by
"LDFLAGS=-fsanitize=address"
                 Project: GNU troff
            Submitted by: bjarniig
            Submitted on: Thu 02 Jan 2020 03:45:36 AM UTC
                Category: Core
                Severity: 3 - Normal
              Item Group: Build/Installation
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:


Subject: Memory leaks shown by "LDFLAGS=-fsanitize=address"

  Bug reports #56694, #55331, and #52335 could be related to
this phenomenon.

 If the html-documentation is not built, the next memory leak is reported for
"webpage.ps".

  Configuration of "groff" with:

CC='/usr/bin/gcc' # (Debian 9.2.1-21) 9.2.1 20191130

CFLAGS="\
-Wall -Wextra -Wformat=2 -Wmissing-prototypes \
-Wold-style-definition -Wstrict-prototypes -Wstringop-overflow=4 \
-Wold-style-declaration -Wshadow=global \
-fstack-protector-strong -fno-common -funsigned-char \
-fvar-tracking-assignments  \
-fstack-clash-protection \
-ftrapv \
-std=c11 -pedantic -D_FORTIFY_SOURCE=2  \
"
CXXFLAGS="\
-Wall -Wextra -Wformat=2   \
-fstack-protector-strong -fno-common -funsigned-char  \
-std=c++14 \
"
LDFLAGS="-fsanitize=undefined -fsanitize=address"



-- Begin of output from "make": 

[...]

  GROFF    doc/pic.html

=================================================================
==13419==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2607 byte(s) in 11 object(s) allocated from:
    #0 0x7fc74ab7c628 in malloc
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107628)
    #1 0x561e75a38693 in strsave(char const*)
(/home/bg/git/groff/build/pic+0x2c693)
    #2 0x561e75a1e990 in do_define() (/home/bg/git/groff/build/pic+0x12990)
    #3 0x561e75a200fb in yylex() (/home/bg/git/groff/build/pic+0x140fb)
    #4 0x561e75a1510c in yyparse() (/home/bg/git/groff/build/pic+0x910c)
    #5 0x561e75a2176c in do_picture(_IO_FILE*)
(/home/bg/git/groff/build/pic+0x1576c)
    #6 0x561e75a21c03 in do_file(char const*)
(/home/bg/git/groff/build/pic+0x15c03)
    #7 0x561e75a221f9 in main (/home/bg/git/groff/build/pic+0x161f9)
    #8 0x7fc749c3dbba in __libc_start_main ../csu/libc-start.c:308

Direct leak of 1800 byte(s) in 75 object(s) allocated from:
    #0 0x7fc74ab7e36f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x561e75a1aa72 in define_variable(char const*, double)
(/home/bg/git/groff/build/pic+0xea72)
    #2 0x561e75a1ecae in for_input::get()
(/home/bg/git/groff/build/pic+0x12cae)
    #3 0x561e75a1c9b6 in input_stack::get_char()
(/home/bg/git/groff/build/pic+0x109b6)
    #4 0x561e75a1d8dc in get_token(int)
(/home/bg/git/groff/build/pic+0x118dc)
    #5 0x561e75a20085 in yylex() (/home/bg/git/groff/build/pic+0x14085)
    #6 0x561e75a1510c in yyparse() (/home/bg/git/groff/build/pic+0x910c)
    #7 0x561e75a2176c in do_picture(_IO_FILE*)
(/home/bg/git/groff/build/pic+0x1576c)
    #8 0x561e75a21c03 in do_file(char const*)
(/home/bg/git/groff/build/pic+0x15c03)
    #9 0x561e75a221f9 in main (/home/bg/git/groff/build/pic+0x161f9)
    #10 0x7fc749c3dbba in __libc_start_main ../csu/libc-start.c:308

[...]

SUMMARY: AddressSanitizer: 7805 byte(s) leaked in 290 allocation(s).

=================================================================
==13421==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2760 byte(s) in 115 object(s) allocated from:
    #0 0x7f1d6c57e36f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x560d4759f3e7 in init_table(char const*)
(/home/bg/git/groff/build/eqn+0xe3e7)
    #2 0x560d4759e739 in main (/home/bg/git/groff/build/eqn+0xd739)
    #3 0x7f1d6b63dbba in __libc_start_main ../csu/libc-start.c:308

[...]

SUMMARY: AddressSanitizer: 6336 byte(s) leaked in 329 allocation(s).

=================================================================
==13423==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7f4853ec936f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x5583f3ffd743 in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/post-grohtml+0x28743)
    #2 0x5583f3ffd81d in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/post-grohtml+0x2881d)
    #3 0x5583f3ffd833 in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/post-grohtml+0x28833)
    #4 0x5583f400c954 in __libc_csu_init
(/home/bg/git/groff/build/post-grohtml+0x37954)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).

=================================================================
==13417==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7f760818136f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x55feb8f8e737 in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/groff+0x11737)
    #2 0x55feb8f8e811 in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/groff+0x11811)
    #3 0x55feb8f8e827 in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/groff+0x11827)
    #4 0x55feb8f9d284 in __libc_csu_init
(/home/bg/git/groff/build/groff+0x20284)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).
make[1]: *** [Makefile:11880: doc/pic.html] Error 1
make[1]: Leaving directory '/home/bg/git/groff/build'
make: *** [Makefile:5648: all] Error 2

--- End of output from "make":

-- Begin of file "tmp/groff-regions-vCZUNF":

=================================================================
==13430==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator
delete []) on 0x604000000750
    #0 0x7fbf6e656137 in operator delete[](void*)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10a137)
    #1 0x557e10d7b5c5 in process_startup_file(char const*)
(/home/bg/git/groff/build/troff+0x615c5)
    #2 0x557e10d7c795 in main (/home/bg/git/groff/build/troff+0x62795)
    #3 0x7fbf6d714bba in __libc_start_main ../csu/libc-start.c:308
    #4 0x557e10d4f649 in _start (/home/bg/git/groff/build/troff+0x35649)

0x604000000750 is located 0 bytes inside of 41-byte region
[0x604000000750,0x604000000779)
allocated by thread T0 here:
    #0 0x7fbf6e653628 in malloc
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107628)
    #1 0x557e10da8cb6 in strsave(char const*)
(/home/bg/git/groff/build/troff+0x8ecb6)
    #2 0x557e10da7996 in search_path::open_file(char const*, char**)
(/home/bg/git/groff/build/troff+0x8d996)
    #3 0x557e10d7b552 in process_startup_file(char const*)
(/home/bg/git/groff/build/troff+0x61552)
    #4 0x557e10d7c795 in main (/home/bg/git/groff/build/troff+0x62795)
    #5 0x7fbf6d714bba in __libc_start_main ../csu/libc-start.c:308

SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10a137) in operator delete[](void*)
==13430==HINT: if you don't care about these errors you may set
ASAN_OPTIONS=alloc_dealloc_mismatch=0
==13430==ABORTING

=================================================================
==13431==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7ff52b9da36f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x55981f27aefd in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/grops+0x1eefd)
    #2 0x55981f27afd7 in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/grops+0x1efd7)
    #3 0x55981f27afed in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/grops+0x1efed)
    #4 0x55981f28a2f4 in __libc_csu_init
(/home/bg/git/groff/build/grops+0x2e2f4)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).

=================================================================
==13428==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7f605ef9636f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x55c1dcc63737 in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/groff+0x11737)
    #2 0x55c1dcc63811 in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/groff+0x11811)
    #3 0x55c1dcc63827 in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/groff+0x11827)
    #4 0x55c1dcc72284 in __libc_csu_init
(/home/bg/git/groff/build/groff+0x20284)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).

-- End of file "tmp/groff-regions-vCZUNF".


-- Begin of output from "test-groff":

=================================================================
==13542==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator
delete []) on 0x6040000006d0
    #0 0x7fc3fe417137 in operator delete[](void*)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10a137)
    #1 0x56072324c5c5 in process_startup_file(char const*)
(/home/bg/git/groff/build/troff+0x615c5)
    #2 0x56072324d795 in main (/home/bg/git/groff/build/troff+0x62795)
    #3 0x7fc3fd4d5bba in __libc_start_main ../csu/libc-start.c:308
    #4 0x560723220649 in _start (/home/bg/git/groff/build/troff+0x35649)

0x6040000006d0 is located 0 bytes inside of 41-byte region
[0x6040000006d0,0x6040000006f9)
allocated by thread T0 here:
    #0 0x7fc3fe414628 in malloc
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107628)
    #1 0x560723279cb6 in strsave(char const*)
(/home/bg/git/groff/build/troff+0x8ecb6)
    #2 0x560723278996 in search_path::open_file(char const*, char**)
(/home/bg/git/groff/build/troff+0x8d996)
    #3 0x56072324c552 in process_startup_file(char const*)
(/home/bg/git/groff/build/troff+0x61552)
    #4 0x56072324d795 in main (/home/bg/git/groff/build/troff+0x62795)
    #5 0x7fc3fd4d5bba in __libc_start_main ../csu/libc-start.c:308

SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10a137) in operator delete[](void*)
==13542==HINT: if you don't care about these errors you may set
ASAN_OPTIONS=alloc_dealloc_mismatch=0
==13542==ABORTING

=================================================================
==13543==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7f33c7d7936f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x55b91ba76efd in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/grops+0x1eefd)
    #2 0x55b91ba76fd7 in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/grops+0x1efd7)
    #3 0x55b91ba76fed in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/grops+0x1efed)
    #4 0x55b91ba862f4 in __libc_csu_init
(/home/bg/git/groff/build/grops+0x2e2f4)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).

=================================================================
==13541==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 3456 byte(s) in 432 object(s) allocated from:
    #0 0x7fe54ce0436f in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10936f)
    #1 0x55ae07382737 in glyph_to_unicode_init::glyph_to_unicode_init()
(/home/bg/git/groff/build/groff+0x11737)
    #2 0x55ae07382811 in __static_initialization_and_destruction_0(int, int)
(/home/bg/git/groff/build/groff+0x11811)
    #3 0x55ae07382827 in _GLOBAL__sub_I__ZN23glyph_to_unicode_passocC2Ev
(/home/bg/git/groff/build/groff+0x11827)
    #4 0x55ae07391284 in __libc_csu_init
(/home/bg/git/groff/build/groff+0x20284)

SUMMARY: AddressSanitizer: 3456 byte(s) leaked in 432 allocation(s).

-- End of output from "test-groff".






    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57516>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]