--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJTZ7L%2BSd2hhoRMLXwihEGnjf6Px0zg0WesxfrOakOY9XtXF3w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CABiGVV8srHvocQq0fxrPAXEOf2EXAyDj8KsMifAtNcTRfTcgxg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CA%2BapAgFbH2Bcy%2BiPQq26ZdFTh3XF%2ByEdfdzN5u-FgZ9OuGghRA%40mail.gmail.com.
I almost always use release component builds for development because iteration speed on debug builds is noticeably slower.In any case I always have dcheck_always_on=true and think it's a good idea for us to encourage its use by all chromium developers. This seems like an easy way to force it in many cases, but it's kind of a weirdly arbitrary thing to have component imply dcheck; besides, a) not all developers actually use component builds for whatever reason, and b) maybe it would be easier to just update docs to communicate the value better?Alternative proposal: make dcheck_always_on=true by default when is_official_build=false
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CA%2BapAgFbH2Bcy%2BiPQq26ZdFTh3XF%2ByEdfdzN5u-FgZ9OuGghRA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CACuR13fJkycQeYSMRg3rgnYmnVj9UYsmeYxK4xon0Y6SR4YrLg%40mail.gmail.com.
Alternative proposal: make dcheck_always_on=true by default when is_official_build=false
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAAHOzFAcHD2GQhQ4RM7jp1m3y0k6vZmcVD7hMWrUhm6SqqbATQ%40mail.gmail.com.
fwiw, it's virtually impossible to use Chromium with dchecks on for regular usage
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAAHOzFD_GP1QvuxWRNLsimQ%3DjXfxbMG4%3Dq8oO5qvx3ScfRutMw%40mail.gmail.com.
Yes, Peter, I wish everyone shared your view on DCHECKs.With today's ToT, I hit only one DCHECK in the first five minutes of trying (plus the "FATAL:canonical_cookie.cc(238)] Check failed: !name.empty()" on browser startup, which I guess is what Gab referred to?), that's better than average. I've filed issue 722761, let's see how it goes. (Historically, my experience is that about half of such bugs get traction.)
On Tue, May 16, 2017 at 9:00 AM, Peter Kasting <pkas...@chromium.org> wrote:--On Mon, May 15, 2017 at 11:46 PM, Jochen Eisinger <joc...@chromium.org> wrote:fwiw, it's virtually impossible to use Chromium with dchecks on for regular usageThis is surprising and concerning. DCHECKs should never fire. Failures in them should be treated at least as high as P1 crash bugs if not higher. In my own usage, they _don't_ fire very often, and I try to file bugs when they do. For others, please file bugs every time a DCHECK fires, and please treat your own DCHECK failures as critical bugs that are extremely urgent.PK
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAAHOzFD_GP1QvuxWRNLsimQ%3DjXfxbMG4%3Dq8oO5qvx3ScfRutMw%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKSzg3RDxSFuKT7k8A5xiB-uGUUs4aB3k08DP2G2t0dwqKKJEA%40mail.gmail.com.
On Tue, May 16, 2017 at 5:37 AM, Jakob Kummerow <jkum...@chromium.org> wrote:Yes, Peter, I wish everyone shared your view on DCHECKs.With today's ToT, I hit only one DCHECK in the first five minutes of trying (plus the "FATAL:canonical_cookie.cc(238)] Check failed: !name.empty()" on browser startup, which I guess is what Gab referred to?), that's better than average. I've filed issue 722761, let's see how it goes. (Historically, my experience is that about half of such bugs get traction.)If a DCHECK is firing and doesn't get addressed promptly, I will usually disable the DCHECK because we already know it's failing and now it's just getting in the way of developers. I think of this as similar to a test failing on the waterfall.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAHtyhaSW3hj6WqPi3wodqzxJBCFV6nOK8aS5dpefNhozpLHsGw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJTZ7LJw6XRGH2g7V8Xt%2B8LBZ4pPfvGcJy8iBa4WxFhnnb5Lyw%40mail.gmail.com.
Agreed, it should be treated like a crash, and the more people run DCHECKs the more likely we are to identify the culprit quickly and be able to revert it. If the culprit can't be identified, it's okay for affected developers to disable the DCHECK locally (I think that's what Dana meant?) but not to remove it from trunk.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
On Tue, May 16, 2017 at 11:17 AM, Gabriel Charette <g...@chromium.org> wrote:Agreed, it should be treated like a crash, and the more people run DCHECKs the more likely we are to identify the culprit quickly and be able to revert it. If the culprit can't be identified, it's okay for affected developers to disable the DCHECK locally (I think that's what Dana meant?) but not to remove it from trunk.I will disable it locally immediately, and file a bug. But I meant that if the bug is not being addressed, I would look at the possibility of removing the DCHECK from ToT rather than leave it failing and unaddressed. I don't mean that it would be done secretly from the people who work on that code. But leaving failing DCHECKs around makes developers run without DCHECKs which only hurts our development.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
On Tue, May 16, 2017 at 5:21 PM <dan...@chromium.org> wrote:On Tue, May 16, 2017 at 11:17 AM, Gabriel Charette <g...@chromium.org> wrote:Agreed, it should be treated like a crash, and the more people run DCHECKs the more likely we are to identify the culprit quickly and be able to revert it. If the culprit can't be identified, it's okay for affected developers to disable the DCHECK locally (I think that's what Dana meant?) but not to remove it from trunk.I will disable it locally immediately, and file a bug. But I meant that if the bug is not being addressed, I would look at the possibility of removing the DCHECK from ToT rather than leave it failing and unaddressed. I don't mean that it would be done secretly from the people who work on that code. But leaving failing DCHECKs around makes developers run without DCHECKs which only hurts our development.That was my understanding of what you had meant, and I think it would make sense except for the fact that removing the DCHECK leaves the code in an unpredictable state in general. I guess one could argue that this was actually already the state for devs running without DCHECKs (and users) anyway, but nonetheless, having a dev build fail with unpredictable behavior due to someone else's bug seems even worse to me than having a dev build crash predictably due to someone else's bug? Obviously this is a moot point in cases where you can look at the code around the DCHECK and reason that removing it wouldn't have this kind of effect.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
Agreed, it should be treated like a crash, and the more people run DCHECKs the more likely we are to identify the culprit quickly and be able to revert it. If the culprit can't be identified, it's okay for affected developers to disable the DCHECK locally (I think that's what Dana meant?) but not to remove it from trunk.PS: I'm moving along with https://codereview.chromium.org/2886803002/, looks like iOS build didn't even compile with DCHECKs enabled... Was a minor failure but still, it's from code landed years ago... does no one on iOS team use DCHECKs =O?! Hopefully tests pass or that config is seriously ill :(
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NGuhecmrG3P1nUO4wGGWEd7p4Ct5jHkpTw_T%2BBR4Wk39w%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
On other platforms we changed dchecks to work with release builds in order to decrease bot cycle time without losing coverage. I'd argue that this should also apply here, and we should just fix the #if
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NGuhecmrG3P1nUO4wGGWEd7p4Ct5jHkpTw_T%2BBR4Wk39w%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALjhuicNwP86CmgXj7KmvC0KwodUh1gAgUZzY3v-3Kjhj96vzw%40mail.gmail.com.
Yes, Peter, I wish everyone shared your view on DCHECKs.With today's ToT, I hit only one DCHECK in the first five minutes of trying (plus the "FATAL:canonical_cookie.cc(238)] Check failed: !name.empty()" on browser startup, which I guess is what Gab referred to?), that's better than average. I've filed issue 722761, let's see how it goes. (Historically, my experience is that about half of such bugs get traction.)
On Tue, May 16, 2017 at 9:00 AM, Peter Kasting <pkas...@chromium.org> wrote:--On Mon, May 15, 2017 at 11:46 PM, Jochen Eisinger <joc...@chromium.org> wrote:fwiw, it's virtually impossible to use Chromium with dchecks on for regular usageThis is surprising and concerning. DCHECKs should never fire. Failures in them should be treated at least as high as P1 crash bugs if not higher. In my own usage, they _don't_ fire very often, and I try to file bugs when they do. For others, please file bugs every time a DCHECK fires, and please treat your own DCHECK failures as critical bugs that are extremely urgent.PK
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAAHOzFD_GP1QvuxWRNLsimQ%3DjXfxbMG4%3Dq8oO5qvx3ScfRutMw%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKSzg3RDxSFuKT7k8A5xiB-uGUUs4aB3k08DP2G2t0dwqKKJEA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKSzg3RDxSFuKT7k8A5xiB-uGUUs4aB3k08DP2G2t0dwqKKJEA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/6a46ac45-c236-4c7e-903a-020885b6d0e8%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKSzg3RDxSFuKT7k8A5xiB-uGUUs4aB3k08DP2G2t0dwqKKJEA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKSzg3RDxSFuKT7k8A5xiB-uGUUs4aB3k08DP2G2t0dwqKKJEA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
If we change when DCHECKs are enabled I would request that we enable it for is_debug || is_component_build, rather than for !is_official_build. My rationale is that if a developer is running a release-non-component build then they are interested in run-time performance, and DCHECKs may interfere with that. A developer who is running a debug build or a component build has indicated that run-time performance is not their main concern, so DCHECKs are appropriate.
Looks like this (among other things) triggered a sizes error per adding new static initializers in the config the bots check.
On Tue, May 16, 2017 at 9:23 PM Gabriel Charette <g...@chromium.org> wrote:Looks like this (among other things) triggered a sizes error per adding new static initializers in the config the bots check.Ref. https://crbug.com/723049, static initializers in debug.cpp. It indeed adds a static initializer.And thinking some more about it, that should be fixed, no reason to allow tests to have static initializers more than other code.
Feels like it would be preferable for the sizes step to not be bothered by DCHECKs, however that step is done among many other tests on generic bots (who generally will want DCHECKs).+Dirk Pranke mentioned that CQ/try bots use dcheck_always_on but the main waterfall intentionally doesn't, should we explicitly dcheck_always_on = false on the waterfall bots then?On Tue, May 16, 2017 at 9:10 PM Gabriel Charette <g...@chromium.org> wrote:True (what Peter said) and for developers who really want to do performance testing on a local but non-official build, they can explicitly dcheck_always_on=false. I'm in favor of a better default for all with an extra step for those who know what they're doing.On Tue, May 16, 2017 at 8:55 PM Dirk Pranke <dpr...@chromium.org> wrote:On Tue, May 16, 2017 at 5:11 PM, Peter Kasting <pkas...@chromium.org> wrote:On Tue, May 16, 2017 at 1:18 PM, Bruce <bruce...@chromium.org> wrote:If we change when DCHECKs are enabled I would request that we enable it for is_debug || is_component_build, rather than for !is_official_build. My rationale is that if a developer is running a release-non-component build then they are interested in run-time performance, and DCHECKs may interfere with that. A developer who is running a debug build or a component build has indicated that run-time performance is not their main concern, so DCHECKs are appropriate.I think this reasoning infers too much. Users who care a ton about perf probably don't want dcheck on; users who care somewhat but not enormously ("don't make the browser unusable, but I'm not benchmarking") probably don't mind.. Users who are is_debug likely don't care much about perf; users of release builds may care some, or may care a lot. With users of component builds, I don't know that there's much clarity of intent. And all of these are not hard-and-fast.The nice thing about connecting to "official build" was that it was the closest thing we had to "I'm developing", which is the closest proxy for "are dchecks appropriate". The connection here instead tries to infer performance concerns from other switches, then infer what the user would think about dchecks given their inference on performance.If we really want this performance-based, it might make sense to hide this tangle of settings under some small enumerated set of modes:
- full debugging (implies debug, dchecks on, component)
- usable development browser (implies release, dchecks on, component)
- performance testing (implies release, dchecks off, monolithic)
- the real released, branded thing (implies release, dchecks off, monolithic, branded)
Then you can tweak individual settings after that if you want. But by default you'd just pick the mode by name, not the individual settings under this, and none of these settings would imply each other.I don't know if this is feasible to implement.There are a few different dimensions: component, dcheck, debug, symbol_level, "full optimization" aka official, LTO, PGO, branding (at least). Not every combination makes sense, but there's more than four that do. I don't know if there's more than, say, eight, but at some point a simple enumeration becomes impractical. I also don't know if determining that number to see for sure would be worthwhile, which is I think I different way of saying what you said about it being feasible to implement :).-- Dirk
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJTZ7LJQnkFnPUv3bExSF6TpgbFUi7bDZLv1%2BhG0UaM1Bvuqxg%40mail.gmail.com.
Looks like this (among other things) triggered a sizes error per adding new static initializers in the config the bots check.Feels like it would be preferable for the sizes step to not be bothered by DCHECKs, however that step is done among many other tests on generic bots (who generally will want DCHECKs).+Dirk Pranke mentioned that CQ/try bots use dcheck_always_on but the main waterfall intentionally doesn't, should we explicitly dcheck_always_on = false on the waterfall bots then?
On Tue, May 16, 2017 at 9:36 PM, Gabriel Charette <g...@chromium.org> wrote:On Tue, May 16, 2017 at 9:23 PM Gabriel Charette <g...@chromium.org> wrote:Looks like this (among other things) triggered a sizes error per adding new static initializers in the config the bots check.Ref. https://crbug.com/723049, static initializers in debug.cpp. It indeed adds a static initializer.And thinking some more about it, that should be fixed, no reason to allow tests to have static initializers more than other code.We definitely allow static initializers in tests and not in production code. gtest adds one static initializer per TEST_F, for example. (But maybe you mean "production code with dchecks on", not "tests"?)
On Tue, May 16, 2017 at 6:23 PM, Gabriel Charette <g...@chromium.org> wrote:Looks like this (among other things) triggered a sizes error per adding new static initializers in the config the bots check.Feels like it would be preferable for the sizes step to not be bothered by DCHECKs, however that step is done among many other tests on generic bots (who generally will want DCHECKs).+Dirk Pranke mentioned that CQ/try bots use dcheck_always_on but the main waterfall intentionally doesn't, should we explicitly dcheck_always_on = false on the waterfall bots then?I took the intent of this thread as being "the release builds on both the tryservers and waterfall builders *should* have DCHECKs enabled". If we weren't going to change that, I'm not sure that changing anything at all is worth it?
On Tue, May 16, 2017 at 5:11 PM, Peter Kasting <pkas...@chromium.org> wrote:If we really want this performance-based, it might make sense to hide this tangle of settings under some small enumerated set of modes:
- full debugging (implies debug, dchecks on, component)
- usable development browser (implies release, dchecks on, component)
- performance testing (implies release, dchecks off, monolithic)
- the real released, branded thing (implies release, dchecks off, monolithic, branded)
Then you can tweak individual settings after that if you want. But by default you'd just pick the mode by name, not the individual settings under this, and none of these settings would imply each other.I don't know if this is feasible to implement.There are a few different dimensions: component, dcheck, debug, symbol_level, "full optimization" aka official, LTO, PGO, branding (at least). Not every combination makes sense, but there's more than four that do.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NGuhecmrG3P1nUO4wGGWEd7p4Ct5jHkpTw_T%2BBR4Wk39w%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
Hi Dirk,Assuming that you mean the compilation issue on iOS by "the change" below:(1) component vs. static is not meaningful on iOS, as the component build is not supported.(2) The compilation issue fires on release + dchecks. I think that the iOS release trybots simply don't have dchecks enabled (e.g., this configuration). As Jochen mentions, this just seems like a bug AFAICT.
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NE7DF3_hGMNsFArNMWJ1d277ZSi_ki3Ks-hSojUCj%3DLiA%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NGuhecmrG3P1nUO4wGGWEd7p4Ct5jHkpTw_T%2BBR4Wk39w%40mail.gmail.com.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALjhuicNwP86CmgXj7KmvC0KwodUh1gAgUZzY3v-3Kjhj96vzw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAEhBV%3DszvueKYFep-F%2B9P%2BVuCyzGWae%2BX17wU0pS8FjETuLLmw%40mail.gmail.com.
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
-- Sylvain
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
-- Sylvain
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
-- Sylvain
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
-- Sylvain
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
-- Sylvain
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
-- Sylvain
I agree that the best thing is for tests to cover the use cases, not to rely on DCHECKs. But the reality is, test coverage is sometimes lacking and devs who *do* run with DCHECKs hit issues introduced by others who don't. The goal of this change is so that devs who just use the default config do run with DCHECKs as well, catching threading/etc. errors checked by many DCHECKs in //base et al. Otherwise incorrect changes land despite the developer having "tested it locally" and the burden falls back on developers who do use DCHECKs (and then many turn off DCHECKs for that very reason... that's a dangerous cycle to be in IMO).
Best,Colin
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
-- Sylvain
On Wed, May 17, 2017 at 8:13 AM, Gabriel Charette <g...@chromium.org> wrote:I agree that the best thing is for tests to cover the use cases, not to rely on DCHECKs. But the reality is, test coverage is sometimes lacking and devs who *do* run with DCHECKs hit issues introduced by others who don't. The goal of this change is so that devs who just use the default config do run with DCHECKs as well, catching threading/etc. errors checked by many DCHECKs in //base et al. Otherwise incorrect changes land despite the developer having "tested it locally" and the burden falls back on developers who do use DCHECKs (and then many turn off DCHECKs for that very reason... that's a dangerous cycle to be in IMO).The root cause is missing tests. That should be our primary way of dealing with this.However, when tests are missing and devs hit this locally, then the next solution is that we do revert changes that caused the DCHECKs. Do you have evidence that devs are moving en masse from debug to release because of DCHECKs that trigger?The third solution to deal with this is to educate developers that they should use release-with-assert locally. I have that turned on for all my release builds, because I would find it hard to develop without it (i.e. things pass locally, but then fail on the try runs).We have been running in this config for many years, and it has not been a problem in practice.
On Wed, May 17, 2017 at 11:28 AM, John Abd-El-Malek <j...@chromium.org> wrote:On Wed, May 17, 2017 at 8:13 AM, Gabriel Charette <g...@chromium.org> wrote:I agree that the best thing is for tests to cover the use cases, not to rely on DCHECKs. But the reality is, test coverage is sometimes lacking and devs who *do* run with DCHECKs hit issues introduced by others who don't. The goal of this change is so that devs who just use the default config do run with DCHECKs as well, catching threading/etc. errors checked by many DCHECKs in //base et al. Otherwise incorrect changes land despite the developer having "tested it locally" and the burden falls back on developers who do use DCHECKs (and then many turn off DCHECKs for that very reason... that's a dangerous cycle to be in IMO).The root cause is missing tests. That should be our primary way of dealing with this.However, when tests are missing and devs hit this locally, then the next solution is that we do revert changes that caused the DCHECKs. Do you have evidence that devs are moving en masse from debug to release because of DCHECKs that trigger?The third solution to deal with this is to educate developers that they should use release-with-assert locally. I have that turned on for all my release builds, because I would find it hard to develop without it (i.e. things pass locally, but then fail on the try runs).We have been running in this config for many years, and it has not been a problem in practice.I seem to recall multiple discussions over the last few years on this list about the high rate of occurance of DCHECKs firing for developers and for bots, such that for instance fuzzers have to disable DCHECKs because they trip them constantly. I think there is a problem in practice.
Missing tests are a problem, but a large number of tests are motivated by hearing about a bug and fixing it, rather than catching all possible errors up front. Putting developers by default into a mode that is most likely to catch their own mistakes seems like a positive thing.Reverting changes that cause DCHECKs requires developers to see the DCHECKs happen. Education about turning them on in your GN config helps (or in all 6-8 GN configs for all different configs/platforms/etc), but defaults are much stronger.
On Wed, May 17, 2017 at 11:37 AM, <dan...@chromium.org> wrote:On Wed, May 17, 2017 at 11:28 AM, John Abd-El-Malek <j...@chromium.org> wrote:On Wed, May 17, 2017 at 8:13 AM, Gabriel Charette <g...@chromium.org> wrote:I agree that the best thing is for tests to cover the use cases, not to rely on DCHECKs. But the reality is, test coverage is sometimes lacking and devs who *do* run with DCHECKs hit issues introduced by others who don't. The goal of this change is so that devs who just use the default config do run with DCHECKs as well, catching threading/etc. errors checked by many DCHECKs in //base et al. Otherwise incorrect changes land despite the developer having "tested it locally" and the burden falls back on developers who do use DCHECKs (and then many turn off DCHECKs for that very reason... that's a dangerous cycle to be in IMO).The root cause is missing tests. That should be our primary way of dealing with this.However, when tests are missing and devs hit this locally, then the next solution is that we do revert changes that caused the DCHECKs. Do you have evidence that devs are moving en masse from debug to release because of DCHECKs that trigger?The third solution to deal with this is to educate developers that they should use release-with-assert locally. I have that turned on for all my release builds, because I would find it hard to develop without it (i.e. things pass locally, but then fail on the try runs).We have been running in this config for many years, and it has not been a problem in practice.I seem to recall multiple discussions over the last few years on this list about the high rate of occurance of DCHECKs firing for developers and for bots, such that for instance fuzzers have to disable DCHECKs because they trip them constantly. I think there is a problem in practice.I was under the impression that the non-libfuzzers didn't enable DCHECKs (except SECURITY_DCHECKs) due to compilation time concerns. If those fuzzers can reliably catch bad DCHECKs that is hugely valuable and we should use that!Missing tests are a problem, but a large number of tests are motivated by hearing about a bug and fixing it, rather than catching all possible errors up front. Putting developers by default into a mode that is most likely to catch their own mistakes seems like a positive thing.Reverting changes that cause DCHECKs requires developers to see the DCHECKs happen. Education about turning them on in your GN config helps (or in all 6-8 GN configs for all different configs/platforms/etc), but defaults are much stronger.+1. I I think it would also be useful to include a GN template including dcheck_always_on when you use "gn args" for the first time in a new build directory. I think that's the perfect spot to educate developers about some default/regular gn arguments.