Closed Bug 793584 Opened 7 years ago Closed 7 years ago

Valgrind tbpl i686 32-bit builds not using suppressions file

Categories

(Release Engineering :: General, defect)

x86
Linux
defect
Not set

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: gkw, Assigned: gkw)

References

Details

(Whiteboard: [valgrind])

Attachments

(3 files)

In https://tbpl.mozilla.org/php/getParsedLog.php?id=15471615&tree=Firefox you can see:

args: ['/usr/bin/valgrind', '--error-exitcode=1', '--smc-check=all-non-file', '--gen-suppressions=all', '--leak-check=full', '--num-callers=50', '--show-possibly-lost=no', '--suppressions=/builds/slave/m-cen-lnx64-valgrind/objdir/_valgrind/x86_64-redhat-linux-gnu.sup', '/builds/slave/m-cen-lnx64-valgrind/objdir/dist/firefox/firefox-bin', '-no-remote', '-profile', '/builds/slave/m-cen-lnx64-valgrind/objdir/_profile/pgo/pgoprofile/', 'http://localhost:8888/index.html']

that 64-bit builds are run with the suppression files for Valgrind, but not for 32-bit ones in https://tbpl.mozilla.org/php/getParsedLog.php?id=15471493&tree=Firefox :

args: ['/usr/bin/valgrind', '--error-exitcode=1', '--smc-check=all-non-file', '--gen-suppressions=all', '--leak-check=full', '--num-callers=50', '--show-possibly-lost=no', '/builds/slave/m-cen-lnx-valgrind/objdir/dist/firefox/firefox-bin', '-no-remote', '-profile', '/builds/slave/m-cen-lnx-valgrind/objdir/_profile/pgo/pgoprofile/', 'http://localhost:8888/index.html']

This is because "debugger_args" is not updated with the suppressions parameter after the first generation of "debugger_args".
Turns out that $MACHTYPE evaluates to i386-redhat-linux-gnu instead of i686-redhat-linux-gnu once these moved into a mock environment (a chroot), so the -f test at
 http://hg.mozilla.org/build/tools/file/default/scripts/valgrind/valgrind.sh#l72
is false. A simple file rename would get it going again.
Attached patch patchSplinter Review
Renamed like this?
Assignee: nobody → gary
Status: NEW → ASSIGNED
Attachment #663971 - Flags: review?(nthomas)
Attachment #663971 - Flags: review?(nthomas) → review+
https://hg.mozilla.org/mozilla-central/rev/cbd181aafd5f
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
I asked catlee to trigger a Valgrind build on m-c after the merge, but we're now getting:

{
make[3]: Entering directory `/builds/slave/m-cen-lnx-valgrind/objdir/build'
make -C unix libs
rm -f ../dist/bin/update-settings.ini
make[4]: Entering directory `/builds/slave/m-cen-lnx-valgrind/objdir/build/unix'
make -C stdc++compat libs
mkdir -p ../../dist/sdk/bin/
/builds/slave/m-cen-lnx-valgrind/objdir/_virtualenv/bin/python ../../src/config/Preprocessor.py  -DGRE_MILESTONE=18.0a1 -DAPP_BUILDID=20120925094214 -DMOZ_APP_VERSION="18.0a1" -DMOZ_SOURCE_STAMP="7c7639f797d0" -DMOZ_SOURCE_REPO="http://hg.mozilla.org/mozilla-central" -DMOZ_APP_BASENAME="Firefox" -DMOZ_APP_VENDOR="Mozilla" -DMOZ_APP_ID="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" -DMAR_CHANNEL_ID="firefox-mozilla-central" -DACCEPTED_MAR_CHANNEL_IDS="firefox-mozilla-central"  -DMOZILLA_OFFICIAL -DMOZ_PROFILE_MIGRATOR -DMOZ_EXTENSION_MANAGER -DMOZ_GLUE_IN_PROGRAM -DJSGC_INCREMENTAL=1 -DMOZ_VALGRIND=1 -DMOZ_ENABLE_PROFILER_SPS=1 -DMOZ_PROFILING=1 -DMOZILLA_VERSION=\"18.0a1\" -DMOZILLA_VERSION_U=18.0a1 -DMOZILLA_UAVERSION=\"18.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_CPUID_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_BYTESWAP_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_WIDGET_GTK=2 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GNOMEVFS=1 -DMOZ_ENABLE_GCONF=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_WEBRTC=1 -DMOZ_SRTP=1 -DMOZ_SAMPLE_TYPE_FLOAT32=1 -DMOZ_RAW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_MEDIA_NAVIGATOR=1 -DMOZ_VP8=1 -DMOZ_VP8_ERROR_CONCEALMENT=1 -DMOZ_VP8_ENCODER=1 -DVPX_X86_ASM=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_SPEEX_RESAMPLER=1 -DMOZ_CUBEB=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_OPUS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER=1 -DHAVE_CURL_CURL_H=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DLIBJPEG_TURBO_X86_ASM=1 -DMOZ_WEBAPP_RUNTIME=1 -DMOZ_ENABLE_SIGNMAR=1 -DMOZ_UPDATER=1 -DMOZ_UPDATE_CHANNEL=nightly -DMOZ_FEEDS=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DJSGC_INCREMENTAL=1 -DJS_CRASH_DIAGNOSTICS=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DMOZ_TREE_PIXMAN=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_AITC=1 -DMOZ_SERVICES_NOTIFICATIONS=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_MACBUNDLE_ID=org.mozilla.nightly -DMOZ_B2G_VERSION=\"1.0.0\" -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"18.0a1\" -DFIREFOX_VERSION=18.0a1 -DMOZ_TELEMETRY_REPORTING=1 -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DXP_UNIX=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=28 -DATK_REV_VERSION=0 -DNDEBUG -DTRIMMED ../../src/build/update-settings.ini > ../dist/bin/update-settings.ini
/builds/slave/m-cen-lnx-valgrind/objdir/_virtualenv/bin/python ../../src/config/Preprocessor.py \
	-DBROWSER_PATH=\"../dist/bin/firefox-bin\" -DXPC_BIN_PATH=\"/builds/slave/m-cen-lnx-valgrind/objdir/dist/bin\" -DBIN_SUFFIX=\"\" -DPROFILE_DIR=\"../_profile/pgo\" -DCERTS_SRC_DIR=\"/builds/slave/m-cen-lnx-valgrind/objdir/build/../../src/build/pgo/certs\" -DPERL="\"/usr/bin/perl\""  -DIS_MAC=0 -DIS_LINUX=1 -DIS_CAMINO=0 -DIS_TEST_BUILD=1 -DIS_DEBUG_BUILD=0 -DCRASHREPORTER=1 -DGRE_MILESTONE=18.0a1 -DAPP_BUILDID=20120925094214 -DMOZ_APP_VERSION="18.0a1" -DMOZ_SOURCE_STAMP="7c7639f797d0" -DMOZ_SOURCE_REPO="http://hg.mozilla.org/mozilla-central" -DMOZ_APP_BASENAME="Firefox" -DMOZ_APP_VENDOR="Mozilla" -DMOZ_APP_ID="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" -DMAR_CHANNEL_ID="firefox-mozilla-central" -DACCEPTED_MAR_CHANNEL_IDS="firefox-mozilla-central"  -DMOZILLA_OFFICIAL -DMOZ_PROFILE_MIGRATOR -DMOZ_EXTENSION_MANAGER -DMOZ_GLUE_IN_PROGRAM -DJSGC_INCREMENTAL=1 -DMOZ_VALGRIND=1 -DMOZ_ENABLE_PROFILER_SPS=1 -DMOZ_PROFILING=1 -DMOZILLA_VERSION=\"18.0a1\" -DMOZILLA_VERSION_U=18.0a1 -DMOZILLA_UAVERSION=\"18.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_CPUID_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_BYTESWAP_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_WIDGET_GTK=2 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GNOMEVFS=1 -DMOZ_ENABLE_GCONF=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_WEBRTC=1 -DMOZ_SRTP=1 -DMOZ_SAMPLE_TYPE_FLOAT32=1 -DMOZ_RAW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_MEDIA_NAVIGATOR=1 -DMOZ_VP8=1 -DMOZ_VP8_ERROR_CONCEALMENT=1 -DMOZ_VP8_ENCODER=1 -DVPX_X86_ASM=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_SPEEX_RESAMPLER=1 -DMOZ_CUBEB=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_OPUS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER=1 -DHAVE_CURL_CURL_H=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DLIBJPEG_TURBO_X86_ASM=1 -DMOZ_WEBAPP_RUNTIME=1 -DMOZ_ENABLE_SIGNMAR=1 -DMOZ_UPDATER=1 -DMOZ_UPDATE_CHANNEL=nightly -DMOZ_FEEDS=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DJSGC_INCREMENTAL=1 -DJS_CRASH_DIAGNOSTICS=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DMOZ_TREE_PIXMAN=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_AITC=1 -DMOZ_SERVICES_NOTIFICATIONS=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_MACBUNDLE_ID=org.mozilla.nightly -DMOZ_B2G_VERSION=\"1.0.0\" -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"18.0a1\" -DFIREFOX_VERSION=18.0a1 -DMOZ_TELEMETRY_REPORTING=1 -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DXP_UNIX=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=28 -DATK_REV_VERSION=0 ../../src/build/automation.py.in > automation.py
/builds/slave/m-cen-lnx-valgrind/objdir/_virtualenv/bin/python ../../src/config/Preprocessor.py ../../src/build/leaktest.py.in > leaktest.py
make[3]: *** No rule to make target `../../src/build/valgrind/i686-redhat-linux-gnu.sup'.  Stop.
}
https://tbpl.mozilla.org/?noignore=1&rev=7c7639f797d0
https://tbpl.mozilla.org/php/getParsedLog.php?id=15514723&tree=Firefox

Clobber needed perhaps?

I've requested a clobber on Valgrind builds, but couldn't retrigger the failed build, since self-serve doesn't seem to recognise one off build requests, so gives "Rebuild request for Linux Valgrind opt failed. (could not find build)".
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I think the patch was just wrong, it didn't change the corresponding entry in the Makefile:
http://mxr.mozilla.org/mozilla-central/source/build/Makefile.in#153
Attached patch Update makefileSplinter Review
Got rs+ from ted on #developers

Landed as DONTBUILD on m-c:
https://hg.mozilla.org/mozilla-central/rev/555f91476597

Will ask for another manual Valgrind build on tip.
Latest build at:
https://tbpl.mozilla.org/?rev=555f91476597&noignore=1

https://tbpl.mozilla.org/php/getParsedLog.php?id=15516843&tree=Firefox
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
(Red due to: Bug 696298)
Apologies for the initial review fail, I'll punt it to a build peer next time.
I think this still isn't working properly. :(

32-bit https://tbpl.mozilla.org/php/getParsedLog.php?id=15522943&tree=Firefox&full=1 shows:

python _profile/pgo/profileserver.py --debugger=valgrind '--debugger-args=--error-exitcode=1 --smc-check=all-non-file --gen-suppressions=all --leak-check=full --num-callers=50 --show-possibly-lost=no --suppressions=/builds/slave/m-cen-lnx-valgrind/objdir/_valgrind/i386-redhat-linux-gnu.sup'

and you can see that there is no mention of the cross-architecture.sup file, and this file is not used during the Valgrind run, resulting in lots of known issues.

Earlier in the log the cross-architecture.sup file is detected, just not appended.

The strange thing is that it does not seem to be appended in 64-bit https://tbpl.mozilla.org/php/getParsedLog.php?id=15521837&tree=Firefox&full=1 either, but it seems to be used during the Valgrind run.

Anyone has any ideas?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Thanks njn for helping me figure this out over IRC. Turns out the cross-architecture.sup file was in the source directory but not in the objdir.
Attachment #664810 - Flags: review?(n.nethercote)
Comment on attachment 664810 [details] [diff] [review]
Makefile patch for cross-architecture.sup file

Review of attachment 664810 [details] [diff] [review]:
-----------------------------------------------------------------

rs=me
Attachment #664810 - Flags: review?(n.nethercote) → review+
https://hg.mozilla.org/mozilla-central/rev/afaa6863bff4
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Comment on attachment 664493 [details] [diff] [review]
Update makefile

This was landed.
Attachment #664493 - Flags: checked-in+
Verifying FIXED.
Status: RESOLVED → VERIFIED
Product: mozilla.org → Release Engineering
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.