This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug other/34129] New: backtrace () requires malloc () during initialization


The following stack shows backtrace () requiring malloc () when initializing.
This makes writing memory tools slightly problematic. In the example, the code
deadlocks in my malloc () during initialization:

#0  malloc (size=28) at example.cpp:17
#1  0x006821d8 in _dl_map_object_deps () from /lib/ld-linux.so.2
#2  0x00791159 in dl_open_worker () from /lib/tls/libc.so.6
#3  0x006830fe in _dl_catch_error () from /lib/ld-linux.so.2
#4  0x00791cb8 in _dl_open () from /lib/tls/libc.so.6
#5  0x0079304d in do_dlopen () from /lib/tls/libc.so.6
#6  0x006830fe in _dl_catch_error () from /lib/ld-linux.so.2
#7  0x0079312e in __libc_dlopen_mode () from /lib/tls/libc.so.6
#8  0x0076fdfa in init () from /lib/tls/libc.so.6
#9  0x0091dc8b in pthread_once () from /lib/tls/libpthread.so.0
#10 0x007700f9 in backtrace () from /lib/tls/libc.so.6
#11 0x080486ff in malloc (size=4) at example.cpp:29
#12 0x080487fc in main () at example.cpp:55

This appears to be an issue in newer versions (~3.4.6 and above). Older
versions do not appear to initialize in this manner (tested with 3.2.3).


-- 
           Summary: backtrace () requires malloc () during initialization
           Product: gcc
           Version: 3.4.6
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: stephenc at cisco dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34129


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]