From a8ebc1bb067c3d6cbd8d1c7db488ed19bc78c72a Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Mon, 3 Sep 2018 12:02:19 +0200 Subject: [PATCH] Almost catch up with first-pass triaging of bugs. --- NEWS | 5 + docs/internals/3_13_BUGSTATUS.txt | 215 ++++++++++++++++++++++++++------------ 2 files changed, 151 insertions(+), 69 deletions(-) diff --git a/NEWS b/NEWS index 9a6e2a367..de1b48585 100644 --- a/NEWS +++ b/NEWS @@ -92,6 +92,7 @@ where XXXXXX is the bug number as listed below. == 384156 vex x86->IR: 0x67 0xE8 0x6B 0x6A == 386115 vex x86->IR: 0x67 0xE8 0xD3 0x8B any program == 388407 vex x86->IR: 0x67 0xE8 0xAB 0x29 + == 394903 vex x86->IR: 0x67 0xE8 0x1B 0xDA 384337 performance improvements to VEX register allocator v2 and v3 384526 reduce number of spill insns generated by VEX register allocator v3 384584 Callee saved regs listed first for AMD64, X86, and PPC architectures @@ -128,6 +129,7 @@ where XXXXXX is the bug number as listed below. 389373 exp-sgcheck the 'impossible' happened as Ist_LoadG is not instrumented 390471 suppression by specification of source-file line number 390723 make xtree dump files world wide readable, similar to log files +391164 constraint bug in tests/ppc64/test_isa_2_07_part1.c for mtfprwa 391861 Massif Assertion 'n_ips >= 1 && n_ips <= VG_(clo_backtrace_size)' 392118 unhandled amd64-linux syscall: 332 (statx) 392449 callgrind not clearing the number of calls properly @@ -142,6 +144,9 @@ where XXXXXX is the bug number as listed below. == 384727 396475 valgrind OS-X build: config.h not found (out-of-tree macOS builds) 396887 arch_prctl should return EINVAL on unknown option + == 397286 crash before launching binary (Unsupported arch_prctl option) + == 397393 valgrind: the 'impossible' happened: (Archlinux) + == 397521 valgrind: the 'impossible' happened: Unsupported [..] 397012 glibc ld.so uses arch_prctl on i386 397354 utimensat should ignore timespec tv_sec if tv_nsec is UTIME_NOW/OMIT 397424 glibc 2.27 and gdb_server tests diff --git a/docs/internals/3_13_BUGSTATUS.txt b/docs/internals/3_13_BUGSTATUS.txt index ac2ad293e..63f619f7b 100644 --- a/docs/internals/3_13_BUGSTATUS.txt +++ b/docs/internals/3_13_BUGSTATUS.txt @@ -47,6 +47,27 @@ Is this still valid? 390871 ELF debug info reader confused with multiple .rodata* sections +393857 Please add support for gcc's artificial attribute +Wishlist + +396476 Reading debug info of binaries with zero-size PT_LOAD segment +Seems pretty marginal + +396656 Warnings while reading debug info +arm32-linux + +397238 Look up of separate debuginfo does not search by build-id in + --extra-debuginfo-path +Has plausible patch + +397357 symbols not loaded with binutils-2.31.1 unless -fuse-ld=gold + specified to gcc/g++ +Possibly fixed already? + +398028 Assertion `csfi_fits` failing in simple C program with embedded + Julia code. +Probably fixed already ( + === Documentation ====================================================== 382099 valgrind release archive is not maintained @@ -60,6 +81,15 @@ Is this still valid? (carried over) 356174 Enhance the embedded gdbserver to allow LLDB to use it +395416 --log-file output isn't split correctly after call vgdb +This is probably invalid (see 395414) + +397187 z13 vector register support for vgdb gdbserver + +397357 symbols not loaded with binutils-2.31.1 unless -fuse-ld=gold + specified to gcc/g++ +Fixed, but not yet closed (awaiting confirmation) + === KernelInterface ==================================================== === KernelInterface/Linux ============================================== @@ -165,6 +195,25 @@ ppc32, 3.11.0 390553 update xen support to Xen 4.10 Should possibly take +393083 Unimplemented fcntl + +393182 Add support for pthread_setname_np() to set thread name +(I thought this already worked) + +395991 wine's unit tests enter a signal delivery loop under valgrind on + armv7l when SIGSEGV is used +FIX for 3.14 (arm32 signal-resume stuff) + +396369 WARNING: unhandled amd64-linux syscall: 332 + +397265 [PATCH] Add (partial) support for userfaultfd syscall and related ioctl + +397354 utimensat should ignore timespec tv_sec when tv_nsec + is UTIME_NOW or UTIME_OMIT + +397605 ioctl FICLONE mishandled +Sounds plausible + === KernelInterface/OS X =============================================== (carried over) @@ -230,6 +279,8 @@ Should possibly take on macOS 10.12 379893 valgrind segfault os x 10.12.4 + == 396367 unhandled syscall amd64-darwin unix:520 + (terminate_with_payload) and unix:521 (abort_with_payload) 380269 No multithreading in macOS Sierra (10.12) Has a bunch of patches; worth looking at? @@ -245,6 +296,8 @@ Has patch; dunno if it's any good 390754 unhandled amd64-darwin syscall: unix:216 (open_dprotected_np) +393415 Valgrind memory debugging for nodejs using child process failed on MacOS + === MPI ================================================================ === Output ============================================================= @@ -265,6 +318,9 @@ Wishlist, has patch 390866 "at" is doubled in "Block was alloc'd at" Trivial to fix, but could cause breakage for consumers? +393926 helpful to have report timestamp in wall-clock time +Has plausible patch + === Tools ============================================================== === Tools/Cachegrind =================================================== @@ -282,6 +338,8 @@ Trivial to fix, but could cause breakage for consumers? 388740 Ordering by timestamp instead of core number +394307 Add macro to extract current instruction count for peak load monitoring + === Tools/DHAT ========================================================= 390792 'impossible' happened in dh_handle_noninsn_write() @@ -315,6 +373,9 @@ Wishlist 384261 Assert failure on helgrind with the SIDT instruction Probably a trivial fix +392331 Spurious lock not held error from inside pthread_cond_timedwait +Some glibc internal use is mishandled + === Tools/Lackey ======================================================= === Tools/Massif ======================================================= @@ -401,6 +462,22 @@ This seems like it is important. Check with mjw. but not for std::vector Almost certainly invalid +392373 Valgrind could have an option to search for pointers at unaligned + addresses +Wishlist + +396053 Memcheck does not support copy-stack style coroutine +Seems marginal + +397083 Likely false positive "uninitialised value(s)" for __wmemchr_avx2 + and __wmemcmp_avx2_movbe + +397313 False positive on long double "uninitialised bytes" + +398066 cgijl dep1, 0 reports Conditional jump or move depends on + uninitialised value(s) +s390. Mjw has a fix in hand. + === Tools/SGCheck ====================================================== === Uncategorised ====================================================== @@ -439,6 +516,16 @@ Wishlist 391311 [Patch] Fix arm64 valgrind tests compilation with clang +391853 Makefile.all.am:L247 and @SOLARIS_UNDEF_LARGESOURCE@ being empty + +392180 LTO build simplification: __asm__ in m_libcsetjmp.c + +396452 none/test/arm/vfp.c doesn't build with binutils 2.31 gas +I think the binutils crew fixed gas properly + +396906 compile tests failure on mips32-linux: broken inline asm in tests + on mips32-linux + === Uncategorised/run ================================================== (carried over) @@ -471,6 +558,18 @@ Wishlist 384630 The 'impossible' happened (__ubsan_handle_shift_out_of_bounds) as soon as starting anything under valgrind +394361 [Enhancement] : Client request to control thread-yielding in valgrind +Seems dubious to me + +395139 Terminate process and fail at errors. +Wishlist, marginal + +395266 Environment variables with slashes get dropped +Should fix + +396415 Valgrind is not looking up $ORIGIN rpath of shebang programs +Not sure what's going on here + === VEX ================================================================ === VEX/amd64 ========================================================== @@ -537,6 +636,16 @@ Potentially serious 391845 Unrecognised instruction: __svml_irem8_l9 Probably invalid (3.11.0) +393351 vex amd64->IR: 0x62 0xF1 0xFD 0x48 0x6F 0xD 0xE1 0xEC 0x8 + +394582 vex amd64->IR: 0x62 0xF1 0x7C 0x48 0x57 0xC0 0x48 0x8D 0x35 0x6A + +396706 VEX issue with AMD64 SHR instruction? +Missing spec rule, fix this + +397089 [PATCH] Incorrect decoding of three-register vmovss/vmovsd opcode 11h +FIX FOR 3.14 + === VEX/arm32 ========================================================== (carried over) @@ -593,6 +702,16 @@ On Android, may be important? instruction Potentially serious +393036 arm: unhandled instruction: 0xEBAD 0x1BC7 (sub.w fp, sp, r7, lsl #7) +Potentially serious + +395777 disInstr(arm): unhandled instruction: 0xE7F000F0 + (wine, dlls/msvcp90/tests/misc.c) +This is handled correctly, but shouldn't be so verbose (--sigill-diagnostics?) + +396001 unhandled instruction: 0xEC51 0x0F1E; ARMv7 libcrypto 'mrrc' + == disInstr(arm): unhandled instruction: 0xEC510F1E + === VEX/arm64 ========================================================== (carried over) @@ -611,8 +730,14 @@ Is this really not supported? 386861 ARM64: Pre-indexed store to the stack reported as invalid write More missing earlyWB problems? +392146 aarch64: unhandled instruction 0xD5380001 (MRS rT, mdir_el1) +Has patch, but looks pretty dirty + === VEX/mips =========================================================== +396905 compile tests failure on mips32-linux: Error: opcode not + supported on this processor: mips1 (mips1) + === VEX/other ========================================================== 384681 PUT(pc, ) should specialize to help debugging @@ -621,6 +746,10 @@ Wishlist 384842 Reporting for VEX IR semantic bugs This does actually show 3 problems which look ungood! +394227 [x86] False negative "uninitialised value" report due to not + recognizing simd registers clear by pcmp* +Should fold these to constant zero in iropt; awaiting test case + === VEX/ppc ============================================================ (carried over) @@ -638,9 +767,14 @@ This does actually show 3 problems which look ungood! 385411 s390x: z13 vector floating-point instructions not implemented +396839 s390x: Trap instructions not implemented + === VEX/x86 ============================================================ === zz_other =========================================================== + +396290 [PATCH] Possible tool - allocfail + === zz_other/Android =================================================== (carried over) @@ -671,6 +805,9 @@ This does actually show 3 problems which look ungood! 374814 VALGRIND INTERNAL ERROR: signal 11 (SIGSEGV) - exiting possibly TLS related +393457 valgrind crash at _start with arm CPU +Not enough info to do anything with this + === zz_other/arm64 ===================================================== (carried over) @@ -786,77 +923,17 @@ Created Tues 24 July 2018. All bugs after the release of 3.13.0 go in here. Also, this contains bugs from 3_12_BUGSTATUS.txt that didn't get fixed in 3.12. These are marked "(carried over)". -391164 constraint bug in tests/ppc64/test_isa_2_07_part1.c for mtfprwa -** should be closed? queried carl - Mon 6 Aug 11:04:50 CEST 2018 -391853 Makefile.all.am:L247 and @SOLARIS_UNDEF_LARGESOURCE@ being empty -391861 Massif assertion failed -392118 unhandled amd64-linux syscall: 332 [KDE executables] -392146 aarch64: unhandled instruction 0xD5380001 (MRS rT, mdir_el1) -392180 LTO build simplification: __asm__ in m_libcsetjmp.c -392331 Spurious lock not held error from inside pthread_cond_timedwait -392373 Valgrind could have an option to search for pointers at unaligned - addresses -392449 callgrind not clearing the number of calls properly -393017 Add missing support for xsmaxcdp instruction, bug fixes for xsmincdp, - lxssp, stxssp and stxvl instructions -393023 callgrind_control risks using the wrong vgdb -393036 arm: unhandled instruction: 0xEBAD 0x1BC7 (sub.w fp, sp, r7, lsl #7) -393062 Reading build-id ELF note through phdrs triggers - "debuginfo reader: ensure_valid failed" -393083 NOT IMPLEMENTED -393099 posix_memalign() invalid write if alignment == 0 -393146 Memcheck fails assert "is_DebugInfo_active(di)" - even though code built with -g -393182 Add support for pthread_setname_np() to set thread name -393351 unhandled instruction bytes: 0x62 0xF1 0xFD 0x48 0x6F 0xD 0xE1 0xEC 0x8 -393415 Valgrind memory debugging for nodejs using child process failed on MacOS -393457 valgrind crash at _start with arm CPU -393769 Building 3.13.0 on MacOS High Sierra -393857 Please add support for gcc's artificial attribute -393926 helpful to have reort timestamp in wall-clock time -394036 xml file could not be able to parse from valgrind plugin in jenkins -394227 [x86] False negative "uninitialised value" report due to not - recognizing simd registers clear by pcmp* -394307 Add macro to extract current instruction count for peak load monitoring -394361 [Enhancement] : Client request to control thread-yielding in valgrind -394582 vex amd64->IR: 0x62 0xF1 0x7C 0x48 0x57 0xC0 0x48 0x8D 0x35 0x6A -394585 Valgrind on ARM without VFP, dead at dispatch-arm-linux.S - "fmxr fpscr, r4" -394731 allow building if arch=amd64 instead of x86-64 -394903 vex x86->IR: 0x67 0xE8 0x1B 0xDA -395136 Valgrind crashed when run -395139 Terminate process and fail at errors. -395246 vex amd64->IR: unhandled instruction bytes: -395266 Environment variables with slashes get dropped -395414 Valgrind hangs when about to exit -395416 --log-file output isn't split correctly after call vgdb -395434 valgrind XML output should setlinebuf() to facilitate online use -395682 Reading debug info -395709 PPC64 is missing support for the xvnegsp instruction -395777 disInstr(arm): unhandled instruction: 0xE7F000F0 - (wine, dlls/msvcp90/tests/misc.c) -395809 Unrecognised instruction by std::random_device::_M_getval() -395871 unhandled instruction bytes -395991 wine's unit tests enter a signal delivery loop under valgrind on - armv7l when SIGSEGV is used -396001 unhandled instruction: 0xEC51 0x0F1E; ARMv7 libcrypto 'mrrc' -396053 Memcheck does not support copy-stack style coroutine -396176 vex amd64->IR: 0xF 0xC7 0xF0 0xBA 0x1 0x0 0x0 0x0 0x89 0x6 -396220 vex x86->IR: 0xC4 0xE2 0x41 0xF7 -396290 [PATCH] Possible tool - allocfail -396367 unhandled syscall amd64-darwin unix:520 and unix:521 -396369 WARNING: unhandled amd64-linux syscall: 332 -396415 Valgrind is not looking up $ORIGIN rpath of shebang programs -396452 none/test/arm/vfp.c doesn't build with binutils 2.31 gas -396476 Reading debug info of binaries with zero-size PT_LOAD segment -396656 Warnings while reading debug info -396706 VEX issue with AMD64 SHR instruction? - Tue 24 Jul 11:50:41 CEST 2018 -Also: make arm32 resume with sigcontext regs after signal return (395991) +397670 [Helgrind] False positive race detected with sig_atomic_t +398086 Unrecognised instruction with X11 + OpenGL programs +398153 Apparent false positive of uninitialised values in libjpeg-turbo +398178 cachegrind --LL=5242880,2,64 command parameter for Opteron 6174 + rejected +398183 Vex errors with _mm256_shuffle_epi8/vpshufb. -396839 s390x: Trap instructions not implemented +## 388174 is fixed but not in NEWS + +Mon 3 Sep 12:01:52 CEST 2018 -- 2.11.4.GIT