Your message dated Tue, 17 Jun 2008 09:31:55 -0500
with message-id <[EMAIL PROTECTED]>
and subject line Closing bug
has caused the Debian Bug report #339607,
regarding Valgrind crashes when executing cpuid instructions
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.)


-- 
339607: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339607
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: valgrind
Version: 1:3.0.1-2
Severity: important

Valgrind crashes when executing the cpuid instruction.

This means valgrind can't be used to test programs that use for example
/usr/lib/i686/cmov/libcrypto.so.0.9.8 from libssl0.9.8, since it calls the
OPENSSL_ia32_cpuid function that executes cpuid.

Version 1:2.4.0-3 of valgrind doesn't have this problem.

Disabling /usr/lib/i686/cmov/libcrypto.so.0.9.8 by renaming it can be used
as a work-around.

I'm including a test program and the output when running it in valgrind.

/Mikael

-- System Information:
Debian Release: testing/unstable
  APT prefers stable
  APT policy: (871, 'stable'), (50, 'testing'), (30, 'unstable'), (10, 
'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11-vserver-k7
Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)

Versions of packages valgrind depends on:
ii  libc6                         2.3.5-7    GNU C Library: Shared libraries an

Versions of packages valgrind recommends:
ii  gdb                           6.3-6      The GNU Debugger

-- no debconf information
#include <stdio.h>
#include <string.h>

static void cpuid(int operation)
{
    unsigned int eax;
    union {
	char str[13];
	struct {
	    unsigned int ebx, edx, ecx;
	} regs;
    } u;

    memset(&u, 0, sizeof(u));

    __asm__("cpuid"
	    : "=a" (eax),
	      "=b" (u.regs.ebx),
	      "=c" (u.regs.ecx),
	      "=d" (u.regs.edx)
	    : "0" (operation));

    printf("Cpuid %d %08x %08x %08x %08x %s\n",
	   operation, eax, u.regs.ebx, u.regs.ecx, u.regs.edx, u.str);
}

int main()
{
    cpuid(0);

    return 0;
}
==23961== Memcheck, a memory error detector.
==23961== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==23961== Using LibVEX rev 1367, a library for dynamic binary translation.
==23961== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==23961== Using valgrind-3.0.1-Debian, a dynamic binary instrumentation 
framework.
==23961== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==23961== For more details, rerun with: -v
==23961== 
--23961-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--23961-- DWARF2 CFI reader: unhandled CFI instruction 0:50

vex: priv/host-x86/hdefs.c:2315 (emit_X86Instr): Assertion `0' failed.
vex storage:  P 512,  T total 45149176 (1423758),  T curr 146820 (4423)

valgrind: the 'impossible' happened:
   LibVEX called failure_exit().
==23961==    at 0xB0016962: vgPlain_core_panic_at (m_libcassert.c:181)
==23961==    by 0xB0016961: panic (m_libcassert.c:177)
==23961==    by 0xB001697F: vgPlain_core_panic_at (m_libcassert.c:182)
==23961==    by 0xB0016990: vgPlain_core_panic (m_libcassert.c:187)
==23961==    by 0xB002388C: failure_exit (m_translate.c:360)
==23961==    by 0xB00573B6: vex_assert_fail (vex_util.c:163)
==23961==    by 0xB005B8AD: emit_X86Instr (hdefs.c:2315)
==23961==    by 0xB0056FF5: LibVEX_Translate (vex_main.c:574)
==23961==    by 0xB0023E11: vgPlain_translate (m_translate.c:585)
==23961==    by 0xB0038EE6: handle_tt_miss (scheduler.c:566)
==23961==    by 0xB0039212: vgPlain_scheduler (scheduler.c:680)
==23961==    by 0xB004F431: vgModuleLocal_thread_wrapper (syswrap-linux.c:80)
==23961==    by 0xB004B99E: run_a_thread_NORETURN (syswrap-x86-linux.c:150)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==23961==    at 0x8048398: cpuid (test-cpuid.c:5)
==23961==    by 0x1B936EBF: __libc_start_main (in /lib/tls/libc-2.3.5.so)
==23961==    by 0x8048300: ??? (start.S:119)


Note: see also the FAQ.txt in the source distribution.
It contains workarounds to several common problems.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what Linux distro you are using.  Thanks.


--- End Message ---
--- Begin Message ---
This bug is not longer present on current version

--- End Message ---

Reply via email to