
Bugs reported after the release of 3.7.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This file lists bugs that were reported after 3.7.0 was released, both
in 3.7.0 and trunk, and that have not been closed.  Bugs that have
been closed as "fixed" are listed in the top level NEWS file instead.
In other words they get listed here first and moved to NEWS if they
get fixed.

-- reenable amd64_toIR.c commented out insns
-- amd64 toIR memcheck icc -O3 -mAVX probs?
-- add arm stack-scan hacks?
-- add allocator-mismatch checking?
-- 302709, minor tidying needed?
-- reconsider https://bugs.kde.org/show_bug.cgi?id=253657 (AMD64 seg regs)
-- make sure it works OK on Ubuntu 12.04 and Fedora latest (glibc 2.16)
-- carll 2.11 Limitations, what insn sets does ppc now support
-- ditto 2.11 Limitations for MIPS

284540  Memcheck shouldn't count suppressions matching
        still-reachable allocations
  wishlist, w/patch, unclear if important

284904  Avoid cycles by disabling inclusive costs for cycles?
  wishlist

285780  Nice to be able to display (animate) movement of variables through caches
  wishlist

286769  replace __intel_new_memcpy with valgrind's memcpy
  not started

286849  Interceptors for new/delete on Darwin were erroneously commented
        out in r12043
  **possible 3.8.0

286864  strlen function redirection error
  **probably invalid

288099  valgrind should print arguments/return values of functions in stack
  wishlist

287862  MPI_IN_PLACE not supported for MPI collect
  libmpiwrap.c problem; low prio

288274  Aborts at illegal instruction 0x48 0xF 0x5A 0x7 0x48 0xF
  == 278744 REX.W CVTPS2PD
  **possible 3.8.0 (redundant REX prefix)

288363  valgrind: m_libcfile.c:73 (vgPlain_safe_fd): Assertion
        'newfd >= VG_(fd_hard_limit)' failed.
  OSX weirdness; QUERIED (maybe invalid)

288756  add '-x' to strip when stripping dynamic libraries on OSX
  OSX.  low prio

289360  parse_type_DIE confused by DW_TAG_enumeration_type
  low prio; --read-var-info=yes problem; OP queried

289578  Backtraces with unwind tables (=without debug symbols)
        using offline symbol resolving
  wishlist

289836  Unhanded instructions mfatbu and mfatbl
  ppc e500 insns

289912  link_tool_exe_darwin should not use relative paths
  unsupported build configuration; low prio

290061  pie elf always loaded at 0x108000
  w/ patch; looks OK; easy fix ?
  not sure this wouldn't break something else -- needs looking into

290066  Warning messages from libraries with Valgrind 3.7.0
  ppc elfery wierdness
  **revisit -- related to some other bug re ELF problems (296318)?

290384  Valgrind does not show line numbers
  on 32 bit FC16
  **uninvestigated

290673  wine+valgrind: failed to start tool 'memcheck' for platform
        'x86-linux': No such  file or directory
  **probably invalid; build config problem?

291924  vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x38 0x31
  invalid (SSE4) (WONTFIX)

292281  Not supported LL cache size of AMD Opteron 6176
  hmm, more cache size kludgery required
  **need access to the machine to fix

293855  vex amd64->IR: 0x2F 0x55 0x73 0x65 0x72 0x73 0x2F 0x6A
  some problem with interceptors on Helgrind/OSX 

294065  valgrind running wine does not find pdb file because of wrong
        path to egrep
  w/ somewhat dodgy patch

294147  Exception in thread "main" java
  probably invalid
  not sure what is going on here

294285  --partial-loads-ok does not work for 16-byte SSE loads
  true

294454  delphi uses 16-bit addressing in the TEB (%fs)
  obscure (16 bit (0x67 ?) insns in 32 bit mode)

294861  ./configure fails to locate Boost (located in /usr/local)
  low prio

295084  Hard-coded /usr/include
  OSX, XCode 4.3 problem

251569  rdtscp not supported: vex amd64->IR: 0xF 0x1 0xF9 0x8B 0x4C 0x24
  has doesn't-really-look-right patch 

295403  Memory access below SP with some STRD instructions.
  ARM, fiddly to fix/verify

295472 "executable has wrong endian-ness" when target executable has
  correct endianess
  cross-compiling x86->ppc32 weirdness

295514  unhandled instruction bytes : 0x66 0x9C (pushfw on x86_64)
  not high prio
  **possible 3.8.0 (easy to fix?)

295808  vex amd64->IR: 0xF3 0xF 0xBC 0xC0 0x48 0x1 0xD0 0x48 (TZCNT)
  **possible 3.8.0 ? see also 301011 (32 bit)

295974  vex-x86 omits some SSE4.1 opcodes such as PEXTRD
  **check before 3.8.0; maybe some 64-bit insns missing?  OP queried

296166  Add support for ARM in ptrcheck
  **no patch yet

296308  helgrind tests fail on Linux/x86 due to clone syscall
  missing unwind info
  **possible 3.8.0; has low risk patch

296311  Wrong stack traces due to -fomit-frame-pointer (x86)
  **not sure what to do about this.  Is it serious?

296480  valgrind hangs early when run on Python
  OSX.  Not started.  Queried.
  (might be == 301281, 284004, but not sure)

296577  vex x86->IR: 0x66 0xF 0x3A 0x17
  **wontfix (AES on 32-bit)

296578  vex amd64->IR: 0x60 0x0 0x0 0x0 0x0 0x0 0x0 0x0
  **no idea what this is

296947  vex amd64->IR: 0x1F 0x7 0x0 0x0 0x0 0x0
  probably invalid

297407  Failed reading debug information for Fortran codes; invalid cuOff
  Tromey made a patch for this.  Dunno if it should land.  Queried.

298097  on ppc32 (e500mc core) target, valgrind report a app a
        mem error but the app is good to me.
  probably closable (may be dup of 296318)

298546  wishlist: track virtual memory leaks due to mmap without munmap
  wishlist

298905  argv / argc to be changed to non valgrind values.
  wishlist

300102  memcheck tester
  unclear what status is

301011  vex x86->IR: 0xF3 0xF 0xBC 0xDE (TZCNT)
  **possible 3.8.0; see also 295808 (64 bit)

301269  optimize Memcheck to use light tracking for trusted code
  too big a change for 3.8.0; + in development still

301336  Valgrind vassert(0) in dis_neon_data_2reg_misc()
  **possible 3.8.0.  OP queried; is this the same as 287175 ?

301830  mtV: improve Valgrind so that it runs multiple threads in parallel
  not 3.8.0 (alas)

301922  gcc -O2 problem with SSE optimization?
  invalid (versioning problem) .. should close

301967  vex x86->IR: 0xC5 0xF9 0x6E 0x40 (AVX in 32-bit mode)
  probable wontfix

302234  fesetround() function does not affect FPU calculations
  x86 rounding; dup of 136779 (which has a patch!)

302271  Bug with Callgrind dump-instr and Trace-children
  unclear what status is; queried JosefW

302630  Memcheck on multithreaded program fails with Assertion
        'sizeof(UWord) == sizeof(UInt)' failed in m_syscall.c
  configuration error, very weird

303460  Killed by fatal signal at doRegisterAllocation
  queried OP (gentoo weirdness)

-- Tues 17 July 2012 11am

(transitioned to 3_8_BUGSTATUS after this point)
