Your message dated Tue, 15 May 2012 22:00:29 +0200
with message-id <20120515200029.GA15175@PC-Ale>
and subject line Re: Bug#626389: libc6: uninitialised value via gconv_open.c:70
has caused the Debian Bug report #626389,
regarding libc6: uninitialised value via gconv_open.c:70
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
626389: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626389
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libc6, valgrind
Version: libc6/2.13-2
Severity: normal

It seems that with the new libc6 package, we get some more uninitialized
values. There seems to be a value uninitialized somewhere (something
pointed to by _nl_C_locobj_ptr?), causing dgettext() to produce warnings
in valgrind, as seen in the example.

$ LC_ALL=de_DE.UTF-8 valgrind gettext -d "libapt-pkg4.10" "Recommends"
==21918== Memcheck, a memory error detector
==21918== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==21918== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==21918== Command: gettext -d libapt-pkg4.10 Recommends
==21918== 
==21918== Conditional jump or move depends on uninitialised value(s)
==21918==    at 0x4EAD23B: __GI___strcasecmp_l (strcmp.S:243)
==21918==    by 0x4E4CE6C: __gconv_open (gconv_open.c:70)
==21918==    by 0x4E59EC6: _nl_find_msg (dcigettext.c:990)
==21918==    by 0x4E5A683: __dcigettext (dcigettext.c:654)
==21918==    by 0x401D05: ??? (in /usr/bin/gettext)
==21918==    by 0x4E4BEEC: (below main) (libc-start.c:228)
==21918== 
==21918== Use of uninitialised value of size 8
==21918==    at 0x4EAF374: __GI___strcasecmp_l (strcmp.S:2257)
==21918==    by 0x4E4CE6C: __gconv_open (gconv_open.c:70)
==21918==    by 0x4E59EC6: _nl_find_msg (dcigettext.c:990)
==21918==    by 0x4E5A683: __dcigettext (dcigettext.c:654)
==21918==    by 0x401D05: ??? (in /usr/bin/gettext)
==21918==    by 0x4E4BEEC: (below main) (libc-start.c:228)
==21918== 
==21918== Use of uninitialised value of size 8
==21918==    at 0x4EAF378: __GI___strcasecmp_l (strcmp.S:2258)
==21918==    by 0x4E4CE6C: __gconv_open (gconv_open.c:70)
==21918==    by 0x4E59EC6: _nl_find_msg (dcigettext.c:990)
==21918==    by 0x4E5A683: __dcigettext (dcigettext.c:654)
==21918==    by 0x401D05: ??? (in /usr/bin/gettext)
==21918==    by 0x4E4BEEC: (below main) (libc-start.c:228)
==21918== 
Empfiehlt==21918== 
==21918== HEAP SUMMARY:
==21918==     in use at exit: 0 bytes in 0 blocks
==21918==   total heap usage: 72 allocs, 72 frees, 11,090 bytes allocated
==21918== 
==21918== All heap blocks were freed -- no leaks are possible
==21918== 
==21918== For counts of detected and suppressed errors, rerun with: -v
==21918== Use --track-origins=yes to see where uninitialised values come from
==21918== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 4 from 4)


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (250, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.13-2     Embedded GNU C Library: Binaries
ii  libgcc1                       1:4.6.0-7  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.39     Debian configuration management sy
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.13-2     Embedded GNU C Library: National L

-- debconf information excluded

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

Attachment: pgpU4ttPv0p5g.pgp
Description: PGP signature


--- End Message ---
--- Begin Message ---
Version: 1:3.7.0-1

On Wed, May 11, 2011 at 07:48:32PM +0200, Aurelien Jarno wrote:
> On Wed, May 11, 2011 at 03:51:10PM +0200, Julian Andres Klode wrote:
> > Package: libc6, valgrind
> > Version: libc6/2.13-2
> > Severity: normal
> > 
> > It seems that with the new libc6 package, we get some more uninitialized
> > values. There seems to be a value uninitialized somewhere (something
> > pointed to by _nl_C_locobj_ptr?), causing dgettext() to produce warnings
> > in valgrind, as seen in the example.
> 
> The problem is on the valgrind side. The new version of strcasecmp uses
> sse to compare strings, and compare them 16 bytes by 16 bytes:
> 
>         pxor    %xmm0, %xmm0            /* clear %xmm0 for null char checks */
>         pcmpeqb %xmm1, %xmm0            /* Any null chars? */
>         pcmpeqb %xmm2, %xmm1            /* compare first 16 bytes for 
> equality */
>         psubb   %xmm0, %xmm1            /* packed sub of comparison results*/
>         pmovmskb %xmm1, %edx
>         sub     $0xffff, %edx           /* if first 16 bytes are same, edx == 
> 0xffff */
>         jnz     LABEL(less16bytes)      /* If not, find different value or 
> null char */

This should have been fixed in the latest upstream release (3.7.0).

Cheers

-- 
perl -E '$_=q;$/= @{[@_]};and s;\S+;<inidehG ordnasselA>;eg;say~~reverse'

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to