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

How to fetch proper source for libc



I'm tracking a memory leak that appears to stem from regexec().

elf@florence ~...coastal/ssem > apt-cache policy libc6

 libc6:
   Installed: 2.3.1-5
   Candidate: 2.3.1-5
   Version Table:
  *** 2.3.1-5 0
         500 file: unstable/main Packages
         100 /var/lib/dpkg/status
      2.2.5-6 0
         500 file: woody/main Packages
      2.1.3-24 0
         500 http://security.debian.org potato/updates/main Packages

However, when I fetch source I get version 2.2.5

elf@florence ~...coastal/ssem > apt-get source libc6

 Reading Package Lists... Done
 Building Dependency Tree... Done
 Need to get 0B/11.8MB of source archives.
 dpkg-source: extracting glibc in glibc-2.2.5

Odd, but I assume apt is doing the right thing.

My memory allocator saves a stack backtrace for each allocation so I
can pinpoint the culprit.  The call stack looks like this:

  regexec
  re_search_internal
  set_regs
  proceed_next_node
  re_node_set_insert
  malloc

Note that this program is statically linked so that I can see all of
the symbols.

On building the library from source (2.2.5), these symbols are not
present.  If I unpack 2.3.1 source I don't see the symbols in
posix/regex.c.  Finally, I forced libc6-dev to reinstall the most
recent unstable version.  The symbols are definitely still present in
/usr/lib/libc.a.

Any suggestions?

 - Marc Singer



Reply to: