PSA: clobber build needed for IDR_INSPECTOR_* compile errors in blink_platform_impl.cc

129 views
Skip to first unread message

Thiago Farina

unread,
Jul 25, 2014, 8:20:38 PM7/25/14
to Chromium-dev, Kenneth Russell
Hi chromiumers,

If you encountered an error like the following:

../../content/child/blink_platform_impl.cc:759:34: error: use of undeclared identifier 'IDR_INSPECTOR_OVERLAY_PAGE_HTML'
  { "InspectorOverlayPage.html", IDR_INSPECTOR_OVERLAY_PAGE_HTML,

you were affected by a CL of mine (crrev.com/285524).

The fix for it is simple, just do:

$ rm out/Debug/gen/webkit/grit/blink_resources.h

And it should get you back to the building track again.

Apologize for the unexpected breakage.

You can read more details about this in this thread:

Regards,

--
Thiago Farina

tomm...@chromium.org

unread,
Jul 28, 2014, 2:14:28 PM7/28/14
to chromi...@chromium.org, k...@chromium.org
Thanks for the PSA. I was (very briefly) confused.

Daniel Cheng

unread,
Jul 29, 2014, 3:26:43 AM7/29/14
to tomm...@chromium.org, Chromium-dev, Kenneth Russell
Out of curiosity, how come this worked on some bots but not others? I think this change is causing some of my tryjobs to fail: http://build.chromium.org/p/tryserver.blink/builders/mac_blink_compile_dbg/builds/14144/steps/compile/logs/stdio

On a related topic, can we make the build system handle these sorts of cases better? Requiring manual clobbers/cleanups of generated files is a pain. Landmines help a bit for keeping the bots green, but they aren't perfect--especially if you didn't know your change would have a breaking effect like this.

Daniel


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

James Cook

unread,
Jul 29, 2014, 1:46:37 PM7/29/14
to Daniel Cheng, tomm...@chromium.org, Chromium-dev, Kenneth Russell
This is still affecting tryservers. If you see the compile error on your tryjobs you can force a clobber with "--clobber":

git cl try --bot=linux_chromium_dbg -m tryserver.chromium.linux --clobber

Jaes


To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Thiago Farina

unread,
Jul 29, 2014, 1:49:27 PM7/29/14
to James Cook, Daniel Cheng, Tommy Li, Chromium-dev, Kenneth Russell
On Tue, Jul 29, 2014 at 2:46 PM, James Cook <jame...@chromium.org> wrote:
This is still affecting tryservers. If you see the compile error on your tryjobs you can force a clobber with "--clobber":

I have sent an e-mail to chrome-troppers asking for a clobber.

If the landmines help, I will try to send a CL for it later tonight.

--
Thiago Farina

James Robinson

unread,
Jul 30, 2014, 1:45:18 AM7/30/14
to Thiago Farina, James Cook, Daniel Cheng, Tommy Li, Chromium-dev, Kenneth Russell


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Eric Seidel

unread,
Jul 30, 2014, 2:00:21 AM7/30/14
to Thiago Farina, Chromium-dev, Kenneth Russell, Julie Parent
Outages like this deserve a post-mortem.

A much better solution for this type of failure is to immediately roll out the affecting change and then only land it again when the build system has been taught to cope.  In this situation it sounds like we could have added a script for gyp to call as part of the build to just delete the header from the old location.


--

Thiago Farina

unread,
Jul 30, 2014, 9:39:57 AM7/30/14
to Eric Seidel, Chromium-dev, Kenneth Russell, Julie Parent


On Wednesday, July 30, 2014, Eric Seidel <ese...@chromium.org> wrote:
Outages like this deserve a post-mortem.

A much better solution for this type of failure is to immediately roll out the affecting change and then only land it again when the build system has been taught to cope.  In this situation it sounds like we could have added a script for gyp to call as part of the build to just delete the header from the old location.

They are cleaning the bots in crbug.com/398679. I agree a script would have been better.


--
Thiago Farina

TAMURA, Kent

unread,
Jul 30, 2014, 8:34:00 PM7/30/14
to Thiago Farina, Chromium-dev, Kenneth Russell
Can we include blink_resources.h relative to gen/? Like
    #include "blink/public/resources/grit/blink_resources.h"
instead of
    #include "grit/blink_resources.h"

Why do we have multiple include paths for generated files?



--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev



--
TAMURA Kent
Software Engineer, Google


Nico Weber

unread,
Jul 30, 2014, 11:27:33 PM7/30/14
to Kent Tamura, Thiago Farina, Chromium-dev, Kenneth Russell
On Wed, Jul 30, 2014 at 5:33 PM, TAMURA, Kent <tk...@chromium.org> wrote:
Can we include blink_resources.h relative to gen/? Like
    #include "blink/public/resources/grit/blink_resources.h"
instead of
    #include "grit/blink_resources.h"

Why do we have multiple include paths for generated files?

This sounds like a good idea to me. Let's see how it goes:

Thiago Farina

unread,
Jul 31, 2014, 2:28:17 PM7/31/14
to TAMURA, Kent, Chromium-dev, Kenneth Russell
On Wed, Jul 30, 2014 at 9:33 PM, TAMURA, Kent <tk...@chromium.org> wrote:
Can we include blink_resources.h relative to gen/? Like
    #include "blink/public/resources/grit/blink_resources.h"
instead of
    #include "grit/blink_resources.h"

I had this idea, but haven't talk to anyone about it until you mentioned it.

I was thinking on it but for other reasons that Nico is doing it now. I had thought on switching to full path because it would make it easier for anyone to discover from where this header comes from. When you see grit/generated_resources.h you can't say it is from https://chromium.googlesource.com/chromium/src/+/master/chrome/app/generated_resources.grd, while if we had used full paths we could.

But of course doing this change will have some complications as the ones Nico is facing now.

--
Thiago Farina

Dominic Mazzoni

unread,
Aug 1, 2014, 1:19:12 PM8/1/14
to Thiago Farina, TAMURA, Kent, Chromium-dev, Kenneth Russell

Nico Weber

unread,
Aug 1, 2014, 5:21:18 PM8/1/14
to Dominic Mazzoni, Thiago Farina, TAMURA, Kent, Chromium-dev, Kenneth Russell
I just got this on a try run too, so I'm trying to add a landmine to fix this issue ONCE AND FOR ALL. If someone who knows how landmines work can review, that'd be nice: https://codereview.chromium.org/439503005/


On Fri, Aug 1, 2014 at 10:18 AM, Dominic Mazzoni <dmaz...@chromium.org> wrote:

Thiago Farina

unread,
Aug 1, 2014, 9:00:09 PM8/1/14
to Nico Weber, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
For those following this thread, it is possible that https://codereview.chromium.org/423613003/ might cause other issue like this. I'm not 100% it will, but I thought I should alert first.

--
Thiago Farina

Nico Weber

unread,
Aug 1, 2014, 9:02:20 PM8/1/14
to Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
Don't land it without an action that makes it clean up after itself then? (Or wait until grit uses qualified includes before landing.)

Eric Seidel

unread,
Aug 5, 2014, 5:13:17 PM8/5/14
to Nico Weber, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell, Julie Parent
This is happening again, this time on try-jobs:

This needs-clobber nonsense has got to stop.  We need to fix the underlying build system problem.


Julie Parent

unread,
Aug 5, 2014, 6:11:50 PM8/5/14
to Eric Seidel, Nico Weber, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
As Eric said earlier, this sort of outage benefits from a postmortem, so we can better understand the underlying problem and have explicit tasks to follow-up on, to prevent it from happening again.

Would someone involved in this outage like to guinea pig our new postmortem site?  It provides a template to start from, and a place to store your postmortem once it is complete: https://sites.google.com/a/chromium.org/dev/developers/postmortems

Julie

Nico Weber

unread,
Aug 6, 2014, 4:49:56 PM8/6/14
to Julie Parent, Eric Seidel, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
And this time, if you're getting lots of

../../content/child/blink_platform_impl.cc:757:17: error: use of undeclared identifier 'IDR_UASTYLE_HTML_CSS'
  { "html.css", IDR_UASTYLE_HTML_CSS, ui::SCALE_FACTOR_NONE },
                ^
../../content/child/blink_platform_impl.cc:758:19: error: use of undeclared identifier 'IDR_UASTYLE_QUIRKS_CSS'
  { "quirks.css", IDR_UASTYLE_QUIRKS_CSS, ui::SCALE_FACTOR_NONE },
                  ^
../../content/child/blink_platform_impl.cc:759:24: error: use of undeclared identifier 'IDR_UASTYLE_VIEW_SOURCE_CSS'
  { "view-source.css", IDR_UASTYLE_VIEW_SOURCE_CSS, ui::SCALE_FACTOR_NONE },
                       ^
../../content/child/blink_platform_impl.cc:760:26: error: use of undeclared identifier 'IDR_UASTYLE_THEME_CHROMIUM_CSS'
  { "themeChromium.css", IDR_UASTYLE_THEME_CHROMIUM_CSS,
                         ^

the file to remove is out/{Release,Debug}/gen/blink/public/resources/grit/blink_resources.h

Eric Seidel

unread,
Aug 6, 2014, 4:54:23 PM8/6/14
to Nico Weber, Julie Parent, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
Dit the get_landmines change I landed not fix this for local builds?
https://codereview.chromium.org/441133002

Nico Weber

unread,
Aug 6, 2014, 4:54:55 PM8/6/14
to Eric Seidel, Julie Parent, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
No, landmines are only used on bots.

James Cook

unread,
Aug 6, 2014, 5:03:52 PM8/6/14
to Nico Weber, Eric Seidel, Julie Parent, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
I saw a Mac builder hit the UASTYLE error about 3 hours ago -- should the landmine have handled that one?


James


To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Avi Drissman

unread,
Aug 6, 2014, 10:05:22 PM8/6/14
to James Cook, Nico Weber, Eric Seidel, Julie Parent, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell

Christian Biesinger

unread,
Aug 6, 2014, 10:48:51 PM8/6/14
to Nico Weber, Julie Parent, Eric Seidel, Thiago Farina, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
On Wed, Aug 6, 2014 at 4:49 PM, Nico Weber <tha...@chromium.org> wrote:
> And this time, if you're getting lots of
>
> ../../content/child/blink_platform_impl.cc:757:17: error: use of undeclared
> identifier 'IDR_UASTYLE_HTML_CSS'
> { "html.css", IDR_UASTYLE_HTML_CSS, ui::SCALE_FACTOR_NONE },
> ^
> ../../content/child/blink_platform_impl.cc:758:19: error: use of undeclared
> identifier 'IDR_UASTYLE_QUIRKS_CSS'
> { "quirks.css", IDR_UASTYLE_QUIRKS_CSS, ui::SCALE_FACTOR_NONE },
> ^
> ../../content/child/blink_platform_impl.cc:759:24: error: use of undeclared
> identifier 'IDR_UASTYLE_VIEW_SOURCE_CSS'
> { "view-source.css", IDR_UASTYLE_VIEW_SOURCE_CSS, ui::SCALE_FACTOR_NONE },
> ^
> ../../content/child/blink_platform_impl.cc:760:26: error: use of undeclared
> identifier 'IDR_UASTYLE_THEME_CHROMIUM_CSS'
> { "themeChromium.css", IDR_UASTYLE_THEME_CHROMIUM_CSS,
> ^
>
> the file to remove is
> out/{Release,Debug}/gen/blink/public/resources/grit/blink_resources.h

So... what should I do if removing
out/Debug/gen/blink/public/resources/grit/blink_resources.h did not
solve my build error?

-christian

Thiago Farina

unread,
Aug 6, 2014, 11:14:32 PM8/6/14
to Christian Biesinger, Nico Weber, Julie Parent, Eric Seidel, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell



On Wed, Aug 6, 2014 at 11:47 PM, Christian Biesinger <cbies...@google.com> wrote:
On Wed, Aug 6, 2014 at 4:49 PM, Nico Weber <tha...@chromium.org> wrote:
> And this time, if you're getting lots of
>
> ../../content/child/blink_platform_impl.cc:757:17: error: use of undeclared
> identifier 'IDR_UASTYLE_HTML_CSS'
>   { "html.css", IDR_UASTYLE_HTML_CSS, ui::SCALE_FACTOR_NONE },
>                 ^
> ../../content/child/blink_platform_impl.cc:758:19: error: use of undeclared
> identifier 'IDR_UASTYLE_QUIRKS_CSS'
>   { "quirks.css", IDR_UASTYLE_QUIRKS_CSS, ui::SCALE_FACTOR_NONE },
>                   ^
> ../../content/child/blink_platform_impl.cc:759:24: error: use of undeclared
> identifier 'IDR_UASTYLE_VIEW_SOURCE_CSS'
>   { "view-source.css", IDR_UASTYLE_VIEW_SOURCE_CSS, ui::SCALE_FACTOR_NONE },
>                        ^
> ../../content/child/blink_platform_impl.cc:760:26: error: use of undeclared
> identifier 'IDR_UASTYLE_THEME_CHROMIUM_CSS'
>   { "themeChromium.css", IDR_UASTYLE_THEME_CHROMIUM_CSS,
>                          ^
>
> the file to remove is
> out/{Release,Debug}/gen/blink/public/resources/grit/blink_resources.h

So... what should I do if removing
out/Debug/gen/blink/public/resources/grit/blink_resources.h did not
solve my build error?

Christian Biesinger

unread,
Aug 6, 2014, 11:17:12 PM8/6/14
to Thiago Farina, Nico Weber, Julie Parent, Eric Seidel, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
Oh well, I solved my personal problem with rm -rf out.

-christian

Jochen Eisinger

unread,
Aug 7, 2014, 5:11:22 AM8/7/14
to Christian Biesinger, Thiago Farina, Nico Weber, Julie Parent, Eric Seidel, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
I filed crbug.com/400011 about developer checkouts respecting landmines.

Maybe this should be part of the CY?

best
-jochen


Julie Parent

unread,
Aug 7, 2014, 5:06:48 PM8/7/14
to Jochen Eisinger, Ojan Vafai, Christian Biesinger, Thiago Farina, Nico Weber, Eric Seidel, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
crbug.com/400011 would fall under Ojan's "Tree always open" part of the CY, as it would help prevent the tree from being closed like this in the future.

The other aspect of this that DOES clearly fall into the Code Yellow is the need for a postmortem.  It sounds like we understand what went wrong here, so we just need someone who was involved (tfarina?) to synthesize the threads and related follow-up bug(s) into a clear postmortem.  This isn't about shaming anyone, but rather, it is a learning experience for the whole project.  We'd like to have postmortems generated regularly (well, we'd rather not have outages at all ... but when they do, we want postmortems to better understand what we wrong, and put us in a place with clear followups so that they don't go wrong in the same, or similar, ways again).   You can start with the template on the new postmortem site (https://sites.google.com/a/chromium.org/dev/developers/postmortems), and once it is complete, please add it to the list on that page, and send it out to chromium-dev.

Thiago Farina

unread,
Aug 8, 2014, 11:58:42 AM8/8/14
to Julie Parent, Jochen Eisinger, Ojan Vafai, Christian Biesinger, Nico Weber, Eric Seidel, Dominic Mazzoni, TAMURA, Kent, Chromium-dev, Kenneth Russell
On Thu, Aug 7, 2014 at 6:06 PM, Julie Parent <jpa...@chromium.org> wrote:
 You can start with the template on the new postmortem site (https://sites.google.com/a/chromium.org/dev/developers/postmortems), and once it is complete, please add it to the list on that page, and send it out to chromium-dev.

Heads up: We are working on this. Will post here on chromium-dev when it is ready.

-- 
Thiago Farina
Reply all
Reply to author
Forward
0 new messages