Commit Graph

3129 Commits

Author SHA1 Message Date
Andrew McCreight
28fabb278c Bug 1074317 - Report indirect LSan leaks in mochitests. r=erahm
LeanSanitizer reports two kinds of leaks: direct and indirect. A
leaked block that is pointed to by another leaked block is an
"indirect leak", while one that isn't is a "direct leak". Often,
indirect leaks are just things entrained by the "real" leak, but if
two leaked blocks are in a cycle, then they both end up being
indirect, so we need to report them, too.

This patch makes it so that indirect LSan leaks are treated the same
as direct leaks by Mochitests, which means they will turn the tree
orange. There are a few existing indirect leaks of various severity,
so I had add some suppressions. See those bugs for more details.
2015-08-03 06:45:00 -04:00
Carsten "Tomcat" Book
a323843051 Backed out changeset d093c57c6835 (bug 1186748) for causing Bug 1190180 2015-08-03 14:36:14 +02:00
Carsten "Tomcat" Book
e8defbc592 Backed out changeset 207c45dd3c2e (bug 1187664) 2015-08-03 14:35:14 +02:00
Carsten "Tomcat" Book
1e7b51e030 Backed out changeset 695b89efecfa (bug 1187664) 2015-08-03 14:35:09 +02:00
Carsten "Tomcat" Book
07c6746bfb Backed out changeset 2238409de271 (bug 1188780) 2015-08-03 14:35:03 +02:00
Carsten "Tomcat" Book
5981a442b5 Backed out changeset b8eacfe11fc5 (bug 1186748) 2015-08-03 14:34:57 +02:00
Mike Hommey
6c978f4e2c Bug 1186748 - Switch valgrind builds to Gtk+3. r=mshal 2015-07-31 16:42:22 +09:00
Mike Hommey
1595a3da38 Bug 1187649 - Add valgrind suppressions for leaks in Gtk+3, cairo and fontconfig that are not due to Gecko. r=njn 2015-07-31 16:42:20 +09:00
Mike Hommey
59e1c5d9e1 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
At the same time, include a setup script to replace parts of mozconfig.gtk.
2015-07-31 16:42:07 +09:00
Mike Hommey
f5283e6620 Bug 1187664 - Don't run gst-plugin-scanner through valgrind, it only leads to irrelevant errors. r=njn 2015-07-31 16:41:11 +09:00
Mike Hommey
2220647b4e Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-31 16:41:10 +09:00
Mike Hommey
bbdf5495e7 Bug 1186748 - Switch B2G desktop, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-31 16:39:10 +09:00
Julien Pagès
4365b56819 Bug 1091285 - move dumpScreen in a new mozscreenshot package. r=jgriffin
This also completely remove build/automationutils.py.
2015-07-29 17:50:16 +02:00
Michael Layzell
aed2b64cc2 Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 20:31:11 -04:00
Carsten "Tomcat" Book
7eaec85934 Merge mozilla-central to fx-team 2015-08-07 13:21:30 +02:00
Mark Capella
cae75c601d Bug 1191161 - p3 - Rename / Shorten WrapElementForJNI to WrapForJNI, r=jchen 2015-08-07 02:09:08 -04:00
Ryan VanderMeulen
5a336f34d0 Backed out changeset 3e78fb4512a6 (bug 1187486) for static analysis failures. 2015-07-30 14:47:52 -04:00
Michael Layzell
367814b92d Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 14:03:18 -04:00
Ryan VanderMeulen
6fd4d2a036 Backed out changesets be94d55627f4 and dfc1cb1c26d9 (bug 1187664) because they depend on bug 1186748. 2015-07-30 12:07:38 -04:00
Ryan VanderMeulen
91cfe286b8 Backed out changeset ada6cd4da281 (bug 1186748) for introducing various intermittent ASAN mochitest failures. 2015-07-30 11:52:49 -04:00
Michael Layzell
6389115c4d Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan 2015-07-30 01:05:06 -04:00
Mike Hommey
a3b4b1d338 Bug 1187664 - Don't run gst-plugin-scanner through valgrind, it only leads to irrelevant errors. r=njn 2015-07-30 08:49:30 +09:00
Mike Hommey
4603fe835e Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-30 08:49:29 +09:00
Mike Hommey
c5817cb8c6 Bug 1186748 - Switch B2G desktop, ASan, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-30 08:49:29 +09:00
Jim Chen
b106a20e47 Bug 1186517 - Fix SDKProcessor API version detection; r=snorp
The API version detection functionality was broken in SDKProcessor
because we were passing in "Lpackage/Class;" as the class name rather
than just "package/Class". Also, some classes have a weird situation
where some methods were moved around in later API versions. For example,
some put* and get* methods in Bundle were moved to BaseBundle in API 21.
If we only checked BaseBundle.put*, we would think they are API 21+
only. The workaround is to check both the top-level class and the
declaring class for a member, and choose the lower API level as the
minimal API level for that member.

This patch also fixes bugs in including the right class members.
For SDKProcessor we want to include all public members of a class,
including inherited members, because the private/protected members are
not part of the public API. For AnnotationProcessor, we want to include
all the members declared in that class, including private and
protected members, because we may want to access private/protected
members of our own Java classes from C++.
2015-07-29 15:11:15 -04:00
Jim Chen
1c38f5954d Bug 1186517 - Adjust white spacing in generated files; r=me 2015-07-29 15:11:15 -04:00
Nathan Froyd
eaae46d3ce Bug 1188499 - reformat MOZ_SUBCONFIGURE_ICU with proper indentation; r=mshal
Trying to decipher MOZ_SUBCONFIGURE_ICU given its lack of indentation is
difficult at best.  It looks like some lines have tabs, and those tabs
make everything line up right...convert everything to spaces to make
sure things line up correctly.
2015-07-28 13:46:55 -04:00
Ted Mielczarek
bebe1d6332 bug 1182519 - Put mozconfigs for cross-mac builds in tree. r=mshal 2015-07-14 07:02:22 -04:00
Boris Zbarsky
3e70a7ec26 Back out revision 6d94504b602d (bug 602122). 2015-07-28 17:19:46 -04:00
Michael Layzell
63663e0bb6 Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan 2015-07-28 16:55:20 -04:00
Mike Hommey
684778963f Bug 1186748 - Move gtk-related things in a separate mozconfig. r=mshal
Some mozconfigs don't include mozconfig.linux*, and don't get gtk-related
definitions, so move them in a separate mozconfig. To avoid having two
files, one for 32-bit builds and one for 64-bit builds, rely on the
includer to set PKG_CONFIG_LIBDIR appropriately.

At the same time, move all the --enable-default-toolkit=cairo-gtk2 in that
new file in the case the gtk3 package wasn't pulled from tooltool.
2015-07-28 08:19:15 +09:00
Mike Hommey
484986b581 Bug 1187245 - Make .mozconfig.mk environment variables available to mach valgrind-test. r=gps 2015-07-28 08:19:14 +09:00
Mike Hommey
97965f64fc Bug 1187245 - Set things up to use Gtk+3 from the tooltool package during PGO builds. r=gps
The mk_add_options exports are meant to end up in $topobjdir/.mozconfig.mk,
which is included every time make runs.
2015-07-28 08:19:13 +09:00
Mike Hommey
dc8fd15dc0 Bug 1187101 - Add -Wl,-Bsymbolic to LDFLAGS for ASan builds. r=mshal 2015-07-28 08:19:12 +09:00
Andrew McCreight
065d0b780a Bug 1089816 - Let ASan content processes run to completion. r=billm
There are a variety of ways that the parent and child process ensure that
the child process exits quickly in opt builds, but for AddressSanitizer
builds we want to let the child process to run to completion, so that we
can get a LeakSanitizer report.

This requires adding some addition LSan suppressions, because running
LSan in child processes detects some new leaks.
2015-07-27 12:49:48 -07:00
Ehsan Akhgari
96dd813af5 Bug 1187982 - Fix building clang-plugin with clang 3.5; r=mystor 2015-07-27 14:06:03 -04:00
Mike Hommey
a7bf18ea61 Bug 1187662 - Add the -v option to valgrind when running valgrind-test. r=njn
This will add more verbosity, with the intent of having the triggered
suppressions be displayed in the form:
"--23983-- used_suppression:      3 Bug 794372 /builds/slave/try-l64-valgrind-0000000000000/src/build/valgrind/cross-architecture.sup:90 suppressed: 20,736 bytes in 648 blocks"
2015-07-27 08:18:44 +09:00
Michael Layzell
10dd826b58 Bug 1159433 - Part 1: Add an analysis to ensure that some template arguments cannot be non-memmovable types; r=ehsan 2015-07-24 19:14:37 -04:00
Michael Layzell
9d46061b4d Bug 1123907 - Part 1: Add an analysis to ensure that a class marked MOZ_NEEDS_NO_VTABLE_TYPE cannot be instantiated by a class with a VTable; r=ehsan 2015-07-24 19:13:52 -04:00
Michael Layzell
ffe699b5dc Bug 1185044 - Unify type annotation logic between MOZ_*_CLASS and MOZ_MUST_USE; r=ehsan 2015-07-24 19:13:15 -04:00
Michael Layzell
b2987686b9 Bug 1185188 - Support multiple clang-plugin annotations; r=ehsan 2015-07-24 19:12:54 -04:00
Carsten "Tomcat" Book
7d1d8c5361 merge mozilla-inbound to mozilla-central a=merge 2015-07-24 12:54:13 +02:00
Mike Hommey
7afc08e2f0 Bug 965151 - Remove unnecessary LD_LIBRARY_PATH in valgrind driver script. r=mshal 2015-07-24 06:49:44 +09:00
Mike Hommey
8ea13b7462 Bug 965151 - Use tooltool in valgrind jobs. r=mshal 2015-07-24 06:49:40 +09:00
Mike Hommey
9d8af98306 Bug 965151 - Move relevant parts of valgrind.sh from build/tools in-tree. r=mshal 2015-07-24 06:49:34 +09:00
Wes Kocher
a1696ffaf6 Merge m-c to inbound, a=merge 2015-07-21 16:11:44 -07:00
Mike Hommey
0688b30771 Bug 1186003 - Switch automated builds to Gtk+3. r=mshal
The build-gtk3.sh script contains the script used to generate the tooltool
packages.
2015-07-22 07:37:01 +09:00
Gregory Szorc
1f7772cd40 Bug 1185557 - Clarify that mach mercurial-setup doesn't make changes without prompting; r=smacleod
It's been clear from user feedback that people don't realize that `mach
mercurial-setup` doesn't make any changes unless they tell it to.
Reinforce this message in the prompts printed by mach_boostrap.py.
2015-07-21 10:10:22 -07:00
Jed Davis
d732870d2e Bug 1183485 - Exempt security/sandbox/chromium from MOZ_IMPLICIT enforcement. r=ehsan 2015-07-17 14:57:00 -04:00
Ryan VanderMeulen
cf62964797 Merge m-c to inbound. a=merge 2015-07-20 16:04:28 -04:00
Ralph Giles
a1327320cf Bug 1183850 - Enable rust for macosx64 Nightly and Dev. r=mshal
Add a mozconfig fragment enabling rust on mac builds.

Include it in the official integration mozconfig files only.
Developer checkouts don't require rust.
2015-07-20 12:59:26 -07:00
Paolo Amadini
43f2f9da5b Bug 1177175 - Add a UITour target inside the TP panel. r=MattN 2015-07-20 13:44:32 +01:00
Ryan VanderMeulen
da1580e7b7 Merge inbound to m-c. a=merge 2015-07-17 10:26:22 -04:00
Gregory Szorc
1459354d8f Bug 1184598 - Don't perform mercurial-setup check for mach-commands command; r=smacleod
This command is used by tab completion handlers. A user reported that
hitting tab in his shell resulted in the mercurial-setup out of date
check spewing output.
2015-07-16 14:37:14 -07:00
Ryan VanderMeulen
0cb59bd44d Backed out changeset 7c44c0343564 (bug 1181020) for causing intermittent testAboutPage failures. 2015-07-16 15:11:20 -04:00
Ryan VanderMeulen
a68f3127f6 Merge m-c to fx-team. a=merge 2015-07-15 13:30:09 -04:00
Ryan VanderMeulen
ed981c748f Merge m-c to inbound. a=merge 2015-07-14 23:38:02 -04:00
Gregory Szorc
c3f470a4da Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 31 days, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every month. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 14:20:03 -07:00
Gregory Szorc
134f923c76 Backed out changeset f06616ee7b2b (bug 1182677)
TaskCluster is not amused.
2015-07-14 13:58:43 -07:00
Gregory Szorc
9b903cbac6 Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 2 weeks, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every 2 weeks. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 13:53:50 -07:00
Gregory Szorc
28a09be59c Bug 1182677 - Refactor state directory lookup into own function; r=smacleod
A subsequent commit will want to access the state directory path without
possibly creating it. Make that possible by extracting path resolution
to its own function.
2015-07-14 13:44:59 -07:00
Chris Manchester
b94ba21a39 Bug 1181342 - tooltool manifests and build-clang config for clang 3.6 r=rail 2015-07-10 10:30:37 -07:00
Chris Manchester
d19d375631 Bug 1181255 - Mozconfigs for tsan builds. r=glandium 2015-07-14 18:45:54 -07:00
Ehsan Akhgari
20a6030350 Bug 1123386 - Part 2: Temporarily relax the libstdc++ symbol version requirements for Linux static analysis builds; r=glandium 2015-07-13 22:42:14 -04:00
Ehsan Akhgari
6fcd6defca Bug 1123386 - Part 1: Update the clang build script for the most recent clang; r=rail 2015-07-13 22:42:12 -04:00
Jonathan Almeida
5025e11baf Bug 1181020 - Update Robocop to latest version to support RecyclerView. r=mcomella
- Removed old robotium jar in replace for the newer one.
 - Newer robotium has packaging changes which were updated in all tests.
 - Updated in build.gradle and makefile.
2015-07-07 14:18:56 -07:00
Gregory Szorc
669d096a20 Bug 1185612 - Detect closed stdin file descriptor; r=bholley
isatty() raises ValueError if the file descriptor is closed. Detect
closed file descriptors.
2015-07-20 11:17:00 -07:00
Ehsan Akhgari
d3d141e31a Bug 1180275 - Part 1: Add a release_build mozinfo variable; r=ted 2015-07-16 14:47:52 -04:00
Andrew Halberstadt
b86f120e23 Bug 1014760 - Move mozlog.structured to mozlog; Move mozlog to mozlog.unstructured, r=jgraham
Mozlog currently has two implementations. The top level package is based on the logging module and is
deprecated. The newer structured logging implementation lives in mozlog.structured. This patch swaps the
two, so the top level mozlog module contains the recommended implementation, while mozlog.unstructured
contains the old one.
2015-07-16 10:38:40 -04:00
Ryan VanderMeulen
22d77db0ae Backed out changesets 9a048b598b1e and 56e9597b1257 (bug 1180275) for OSX test_android_eclipse.py failures.
CLOSED TREE
2015-07-15 23:40:06 -04:00
Ehsan Akhgari
415ebdfa86 Bug 1180275 - Part 1: Add a release mozinfo variable; r=ted 2015-07-15 19:59:59 -04:00
Sebastian Kaspari
00a6cef428 Bug 1186532 - Add RecyclerView library to Robocop builds. r=jonalmeida 2015-07-23 13:27:28 +02:00
Michael Layzell
0eb57dfbb4 Bug 1180993 - Part 1: Add an analysis to help catch unused return values of specific types. r=ehsan 2015-07-10 09:46:00 -04:00
Jim Chen
13e782de88 Bug 1178850 - Generate naive method bindings in annotation processor; r=snorp 2015-07-10 23:41:35 -04:00
Jim Chen
c46e55d3a0 Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 23:41:35 -04:00
Mike Hommey
45ed79edc7 Bug 1181040 - Include mozconfig.cache after mozconfig.common.override. r=mshal
Enable sccache on windows b2g builds at the same time to simplify things.
2015-07-11 06:26:20 +09:00
Wes Kocher
0f07ce99e1 Backed out 5 changesets (bug 1178850) for android build bustage CLOSED TREE
Backed out changeset 79085d3894e8 (bug 1178850)
Backed out changeset c02b603104ea (bug 1178850)
Backed out changeset d6dab7810669 (bug 1178850)
Backed out changeset 8ee5809f349b (bug 1178850)
Backed out changeset 821b22ce79e1 (bug 1178850)
2015-07-10 14:17:53 -07:00
Jim Chen
6dd55e4405 Bug 1178850 - Generate naive method bindings in annotation processor; r=snorp 2015-07-10 16:52:52 -04:00
Jim Chen
328f4b5fdc Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 16:52:51 -04:00
Geoff Brown
96d8502fb9 Bug 1179981 - A new test harness for robocop; r=jmaher 2015-07-09 12:30:01 -06:00
Rail Aliiev
6d538e943c Bug 1182170 - Kill tooltool.py from the tree. r=dustin DONTBUILD 2015-07-09 14:00:02 -04:00
Julien Pagès
9b331ff125 Bug 1091274 - Move leak log functions out of automationutils and into mozbase. r=jgriffin 2015-07-03 07:04:22 +02:00
Ehsan Akhgari
7505da2c29 Bug 1180549 - Fix a startup crash when using the clang-plugin with clang>3.5; r=mystor
We were de-referencing the checker variable after having moved it into
the array, which was causing a null pointer crash.

With this fixed, the plugin can be built with more recent versions of
clang.
2015-07-06 14:48:36 -04:00
Ehsan Akhgari
fa44aad141 Bug 1180506 - Fix building the clang-plugin with ToT clang; r=mystor 2015-07-06 14:48:35 -04:00
Andrew Comminos
abd9bd59d8 Bug 1180745 - Fix logging test screenshotting errors. r=jgriffin 2015-07-06 08:48:00 -04:00
Sebastian Kaspari
0becd8e88e Bug 1180132 - android.m4: RecyclerView library should not be dependent on flag $MOZ_NATIVE_DEVICES. r=nalexander 2015-07-03 14:46:57 +02:00
Julien Pagès
0a9d51f8f3 Bug 1091284 - Remove systemMemory, environment from automationutils. r=jgriffin 2015-07-01 22:00:07 +02:00
Ryan VanderMeulen
a5ddcf5159 Merge m-c to fx-team. a=merge 2015-07-01 16:40:01 -04:00
Mike Shal
2d681ee087 Bug 1175895 - separate tier start message for mach; r=ted 2015-06-17 16:59:20 -04:00
Mike Shal
361304b682 Bug 1175895 - aid greppability of MOZ_AUTOMATION_*; r=ted 2015-06-17 16:58:26 -04:00
Gijs Kruitbosch
92cbb6df9d Bug 1170522 - expose whether or not we're in tablet mode to xul/js/css, r=jimm,ted 2015-06-16 19:51:29 +01:00
Chris Manchester
959882de28 Bug 917999 - Part 3.1 - Prepare taskcluster for a split test package.;r=jlal 2015-06-29 11:16:51 -07:00
Chris Manchester
060b38720a Bug 917999 - Part 3 - Split tests into harness specific zips.;r=ted 2015-06-29 11:16:50 -07:00
Ryan VanderMeulen
7bb2a3d66d Backed out changeset e2f1bf3e3dc4 (bug 1171610) for bustage.
CLOSED TREE
2015-06-30 12:35:42 -04:00
James Willcox
599b906a99 Bug 1171610 - Automatically use colorized warnings and errors if available r=glandium
You can disable with --disable-color-diagnostics
2015-06-30 11:20:31 -05:00
Julien Pagès
49ef4d85fa Bug 1178154 - move ShutdownLeaks and LSANLeaks from automationutils to mochitest. r=jgriffin 2015-06-29 20:09:51 +02:00
Ryan VanderMeulen
2f7c322318 Backed out 3 changesets (bug 917999) for Android x86 test bustage.
Backed out changeset 58331e57de1c (bug 917999)
Backed out changeset 50f9123412c7 (bug 917999)
Backed out changeset 3b19643ec039 (bug 917999)

CLOSED TREE
2015-06-29 15:22:51 -04:00
Chris Manchester
8b12fc879e Bug 917999 - Part 3.1 - Prepare taskcluster for a split test package.;r=jlal 2015-06-29 11:16:51 -07:00
Chris Manchester
f0caa09957 Bug 917999 - Part 3 - Split tests into harness specific zips.;r=ted 2015-06-29 11:16:50 -07:00
Julien Pagès
d94a5c1827 Bug 1177780 - remove useless stuff in automation.py. r=jgriffin 2015-06-26 22:45:18 +02:00