* [devel] QA: socket programming - mem leaks
@ 2004-02-02 17:43 Peter V. Saveliev
0 siblings, 0 replies; only message in thread
From: Peter V. Saveliev @ 2004-02-02 17:43 UTC (permalink / raw)
To: devel
...
Столкнулся с неприятной штукой, при прогоне своей программы через valgrind:
8<------------------------------------------------------------------
==19598== Conditional jump or move depends on uninitialised value(s)
==19598== at 0x11CBD6: (within /lib/ld-2.2.6.so)
8<------------------------------------------------------------------
Это вначале выполнения. Причиной является использование gethostbyname,
как показалось. Дальше - больше:
8<------------------------------------------------------------------
==19608== malloc/free: in use at exit: 672 bytes in 6 blocks.
==19608== malloc/free: 64 allocs, 58 frees, 54736 bytes allocated.
==19608==
==19608== searching for pointers to 6 not-freed blocks.
==19608== checked 3498272 bytes.
==19608==
==19608==
==19608== 16 bytes in 1 blocks are definitely lost in loss record 1 of 6
==19608== at 0x134BAA: malloc (vg_replace_malloc.c:153)
==19608== by 0x804A1A2: main (main.c:400)
==19608== by 0x366681: __libc_start_main (in /lib/libc-2.2.6.so)
==19608== by 0x8048AA0: (within /home/peet/Projects/icaph/icaph)
==19608==
==19608==
==19608== 23 bytes in 1 blocks are still reachable in loss record 2 of 6
==19608== at 0x134BAA: malloc (vg_replace_malloc.c:153)
==19608== by 0x117F91: (within /lib/ld-2.2.6.so)
==19608== by 0x11407D: (within /lib/ld-2.2.6.so)
==19608== by 0x11532B: _dl_map_object (in /lib/ld-2.2.6.so)
==19608==
==19608==
==19608== 23 bytes in 1 blocks are still reachable in loss record 3 of 6
==19608== at 0x134BAA: malloc (vg_replace_malloc.c:153)
==19608== by 0x1156E4: _dl_map_object (in /lib/ld-2.2.6.so)
==19608== by 0x444220: (within /lib/libc-2.2.6.so)
==19608== by 0x119A45: _dl_catch_error (in /lib/ld-2.2.6.so)
==19608==
==19608==
==19608== 28 bytes in 1 blocks are still reachable in loss record 4 of 6
==19608== at 0x134BAA: malloc (vg_replace_malloc.c:153)
==19608== by 0x118CD6: _dl_map_object_deps (in /lib/ld-2.2.6.so)
==19608== by 0x4442B4: (within /lib/libc-2.2.6.so)
==19608== by 0x119A45: _dl_catch_error (in /lib/ld-2.2.6.so)
==19608==
==19608==
==19608== 128 bytes in 1 blocks are still reachable in loss record 5 of 6
==19608== at 0x13503A: calloc (vg_replace_malloc.c:284)
==19608== by 0x11AC13: _dl_check_map_versions (in /lib/ld-2.2.6.so)
==19608== by 0x44463E: (within /lib/libc-2.2.6.so)
==19608== by 0x119A45: _dl_catch_error (in /lib/ld-2.2.6.so)
==19608==
==19608==
==19608== 454 bytes in 1 blocks are still reachable in loss record 6 of 6
==19608== at 0x13503A: calloc (vg_replace_malloc.c:284)
==19608== by 0x117D62: (within /lib/ld-2.2.6.so)
==19608== by 0x11407D: (within /lib/ld-2.2.6.so)
==19608== by 0x11532B: _dl_map_object (in /lib/ld-2.2.6.so)
==19608==
==19608== LEAK SUMMARY:
==19608== definitely lost: 16 bytes in 1 blocks.
==19608== possibly lost: 0 bytes in 0 blocks.
==19608== still reachable: 656 bytes in 5 blocks.
==19608== suppressed: 0 bytes in 0 blocks.
8<------------------------------------------------------------------
Как выяснилось в результате некоторого усилия, сходная картина
наблюдается при использовании netcat и telnet.
Это избывается только полным изъятием из кода любой клиентской части,
начиная с connect. В программе, которая в коде несёт только сервер,
такого поведения не демонстрирует.
версия glibc -
[peet@kelisaari peet]$ rpm -qa | grep glibc
glibc-2.2.6-alt0.11
glibc-gconv-modules-2.2.6-alt0.11
glibc-devel-static-2.2.6-alt0.11
glibc-utils-2.2.6-alt0.11
glibc-kernheaders-2.4.21-alt1
glibc-nss-2.2.6-alt0.11
glibc-timezones-2.2.6-alt0.11
glibc-core-2.2.6-alt0.11
glibc-locales-2.2.6-alt0.11
glibc-devel-2.2.6-alt0.11
drweb-4.30-glibc.2.2
На других версиях/дистрибутивах пока не гонял.
Это какая-то известная фича, с которой я просто впервые сталкиваюсь в
результате малого опыта, или таракан в голове, или просто бага такая?
--
<signature />
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-02-02 17:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-02 17:43 [devel] QA: socket programming - mem leaks Peter V. Saveliev
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git