[chromium-dev] Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread James Su
Hi,  I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can
I do? I'm using make build on 64bit Linux.

Regards
James Su

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



[chromium-dev] Re: Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread Dan Kegel

On Tue, Sep 22, 2009 at 12:07 AM, James Su su...@chromium.org wrote:
   I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can I
 do? I'm using make build on 64bit Linux.

Yes, e.g. create ~/.gyp/include.gypi
{
 'variables': {
   'release_extra_cflags': '-g',
   'debug_extra_cflags': '--fno-frobozz',
  }
}

and then do gclient runhooks --force

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



[chromium-dev] Re: Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread James Su
Thanks, I'll try.
James Su

2009/9/22 Dan Kegel d...@kegel.com

 On Tue, Sep 22, 2009 at 12:07 AM, James Su su...@chromium.org wrote:
I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can
 I
  do? I'm using make build on 64bit Linux.

 Yes, e.g. create ~/.gyp/include.gypi
 {
  'variables': {
   'release_extra_cflags': '-g',
   'debug_extra_cflags': '--fno-frobozz',
  }
 }

 and then do gclient runhooks --force


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



[chromium-dev] Re: Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread Lei Zhang

Looks like both CXXFLAGS=foo make and CXXFLAGS=foo hammer ignore
CXXFLAGS. Is this by design?

On Tue, Sep 22, 2009 at 12:07 AM, James Su su...@chromium.org wrote:
 Hi,
   I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can I
 do? I'm using make build on 64bit Linux.
 Regards
 James Su
 


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



[chromium-dev] Xcode dependency analysis

2009-09-22 Thread Thomas Van Lenten
I've confirmed this with Xcode 3.2; but my suspicion is it also happens with
Xcode 3.1.x, just less frequently.
In our build process, we run scripts in a few places to generate headers.
 Those steps are usually done via Actions on targets. We have listed all of
the outputs generated so the tool chains can properly track the dependencies
and figure out what needs to be rebuilt.  It appears that Xcode has some
bugs in this space.  So it's possible to make changes to the input for one
of these scripts (say a GRD files), and on your next build, the script will
run to generate the new header, but Xcode appears to be checking the header
before the script has run, so it doesn't always rebuild all the sources that
include the headers.  Most of the time, on the next build, the compiles will
happen and your build will be back in a good state.  So far my attempts to
create a small test case have failed (the exact same setup, just will all
the other sources removed, suddenly works).

So if you are working on GRDs or localized XIB; and see odds issues with
strings, you might have gotten bitten by this, a rebuild should fix it.
 Failing that, go for a clean build before spending too much time debugging
just to make sure you aren't fighting the tool chain.

TVL
ps-this doesn't seem to be an issue with us missing dependencies for build
order, this happens within a single target.  I can get it to happen on a 4
core box, so it is not something that only shows with more parallelization.

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



[chromium-dev] Re: Xcode dependency analysis

2009-09-22 Thread Marc-Antoine Ruel

VS has the same kinds of problem when a project is reusing files
generated inside it. The fix is usually splitting the project in two
so that generated files by a rule/action aren't reused inside the same
project.

On Tue, Sep 22, 2009 at 8:30 AM, Thomas Van Lenten
thoma...@chromium.org wrote:
 I've confirmed this with Xcode 3.2; but my suspicion is it also happens with
 Xcode 3.1.x, just less frequently.
 In our build process, we run scripts in a few places to generate headers.
  Those steps are usually done via Actions on targets. We have listed all of
 the outputs generated so the tool chains can properly track the dependencies
 and figure out what needs to be rebuilt.  It appears that Xcode has some
 bugs in this space.  So it's possible to make changes to the input for one
 of these scripts (say a GRD files), and on your next build, the script will
 run to generate the new header, but Xcode appears to be checking the header
 before the script has run, so it doesn't always rebuild all the sources that
 include the headers.  Most of the time, on the next build, the compiles will
 happen and your build will be back in a good state.  So far my attempts to
 create a small test case have failed (the exact same setup, just will all
 the other sources removed, suddenly works).
 So if you are working on GRDs or localized XIB; and see odds issues with
 strings, you might have gotten bitten by this, a rebuild should fix it.
  Failing that, go for a clean build before spending too much time debugging
 just to make sure you aren't fighting the tool chain.
 TVL
 ps-this doesn't seem to be an issue with us missing dependencies for build
 order, this happens within a single target.  I can get it to happen on a 4
 core box, so it is not something that only shows with more parallelization.
 


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



[chromium-dev] Re: Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread Steven Knight
For Make, I don't see any reason off the top of my head why that shouldn't
work.

For SCons, seems like no one's ever had the itch to add CXXFLAGS (and
CCFLAGS) to the scons_import_variables list in build/common.gypi.  LGTM if
you're so inclined to add it.

  --SK

On Tue, Sep 22, 2009 at 1:32 AM, Lei Zhang thes...@chromium.org wrote:


 Looks like both CXXFLAGS=foo make and CXXFLAGS=foo hammer ignore
 CXXFLAGS. Is this by design?

 On Tue, Sep 22, 2009 at 12:07 AM, James Su su...@chromium.org wrote:
  Hi,
I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can
 I
  do? I'm using make build on 64bit Linux.
  Regards
  James Su
  
 

 


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



[chromium-dev] Re: Is it possible to customize CXXFLAGS and CFLAGS when generating make file or invoking make?

2009-09-22 Thread Evan Martin

I have a vague recollection of reviewing a change recently that I
think in retrospect broke this for make.  The trickiness is that each
foo.o: foo.cc line has a target-local definition of CXXFLAGS,
because otherwise any file mutating CXXFLAGS would mutate it for all
rules.

Without thinking through the consequences too hard, I think you could
modify these lines in the generator:
  self.WriteLn($(OBJS): CFLAGS := $(CFLAGS_$(BUILDTYPE)) 
   $(CFLAGS_C_$(BUILDTYPE)) 
   $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)))
  self.WriteLn($(OBJS): CXXFLAGS := $(CFLAGS_$(BUILDTYPE)) 
   $(CFLAGS_CC_$(BUILDTYPE)) 
   $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)))
to add in a reference $(CXXFLAGS) as well after the := , as that would
reference the global CXXFLAGS while modifying only the local one.


On Tue, Sep 22, 2009 at 1:32 AM, Lei Zhang thes...@chromium.org wrote:

 Looks like both CXXFLAGS=foo make and CXXFLAGS=foo hammer ignore
 CXXFLAGS. Is this by design?

 On Tue, Sep 22, 2009 at 12:07 AM, James Su su...@chromium.org wrote:
 Hi,
   I'd like to compile chromium with some special CFLAGS/CXXFLAGS, how can I
 do? I'm using make build on 64bit Linux.
 Regards
 James Su
 


 


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



[chromium-dev] Re: Q about closing valgrind issues

2009-09-22 Thread Erik Kay

I'd suspect an alignment / positioning bug for what you're seeing.
Often rect fill algorithms have several paths with different loop
unrolling tricks based on the size and position of the rect.  I agree
with Evan that it may be worth tracking this down a bit more.  Even if
it's not our bug, we need to find a way to avoid the memory stomping.
I'm nervous about adding this to the upstream suppression list.  I
think that's OK to do for memory leaks, or for memory errors where
it's been demonstrated that the result of the error is benign (like
the UMRs in parts of Microsoft's STL implementation), but it doesn't
seem like this fits into that case.

Erik


On Mon, Sep 21, 2009 at 1:15 PM, Avi Drissman a...@google.com wrote:
 I have no evidence to confirm/deny that. Even so it deserves an upstreaming.
 I'll look at it but why would it show up 1/30 times?

 Avi

 On Mon, Sep 21, 2009 at 4:07 PM, Evan Martin e...@chromium.org wrote:

 Could it possibly be related to passing a zero-sized rect in somewhere?

 On Mon, Sep 21, 2009 at 12:27 PM, Avi Drissman a...@google.com wrote:
  crbug.com/18189
  crbug.com/18539
 
  I got the first because it involved the status bubble; I got the second
  because I got the first.
 
  NSRectFill(). Deep down that ends up in sseCGSFill8by1, which looks like
  it
  sometimes scribbles off the end of some buffer. I have no idea what we
  could
  be doing wrong to cause it nor what we could be doing to affect it at
  all. I
  want to just dup one to the other and mark both as
  CANNOTFIXBADAPPLECODE^WWontFix. Any objections?
 
  Avi
 
  
 


 


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



[chromium-dev] Re: user feedback one month in

2009-09-22 Thread codfather

I thought it was a well written and thoughtful piece, and the
bookmarks star is not obvious for Firefox users as you have a load of
bookmark options in the right button click menu, on tabs as well. Is
this something that could be considered?

It also makes sense if you are at the bottom of a page and want to
bookmark it.

I think he may not have noticed the CTRL-B for showing hiding the
bookmarks bar.

Nick

On Sep 21, 3:43 am, Evan Martin e...@chromium.org wrote:
 It’s been a little over a month since I started using Chromium, the
 Open Source version of the Google Chrome Web browser. Since then, I’ve
 been using Chromium quite extensively. While the honeymoon isn’t over
 yet, I do have a better handle on what I like and dislike about
 Chromium and how it fits into my Web browsing and use of Web apps.

 http://scottnesbitt.net/ubuntublog/?p=511

 Summary:
 Likes: speed, web compat(!), font rendering
 Unexpectedly ok with: lack of extensions

 Dislikes:
 - dropdown lists in wordpress admin panel don't behave well
 My response: any wordpress user here who can repro this?

 - CSS occasionally lost while browsing
 My response: I think I've seen this too, but I had been assuming it's
 site glitches.  Does this ring any bells for anyone?

 - He's bookmarking by pasting urls into add page dialog found via
 the bookmark manager(!).  Maybe he doesn't realize the star is the add
 bookmark button?
 My response: I'm no UI designer, but I wonder if it'd help to put the
 bookmark button star in some of the dialogs related to bookmarking?
 If you don't hover the star you'll never learn what it does; on the
 other hand, there are only seven buttons on the toolbar and I kind of
 don't have much pity for people who haven't looked at them.

 - splash page is annoying (estade removed it on Friday)
--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] git-try chromium + webkit

2009-09-22 Thread Yaar Schnitman
If you use (or consider using) Git, and also work on webkit (or any other
3rd party dependency actually) you may find the following valuable:

The latest depot_tools (revision 26817+) makes it possible to use git-try
to simultaneously test changes in both chromium and webkit. Simply type:

git try -b BOT --webkit WEBKIT_BRANCH CHROMIUM_BRANCH

A patch containing the diffs of src (against CHROMIUM_BRANCH) and
src/third_party/WebKit (against WEBKIT_BRANCH) will be submitted to the try
bots of your choice.

The --webkit branch option is actually a syntax sugar to an even more
powerful option: --sub_rep PATH BRANCH. This option can be used multiple
times to specify a series of git sub-repositories to include in the try.

Special thanks for Evan Martin and Marc-Antoine Ruel for helping me land
this enhancement.

-Yaar

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



[chromium-dev] Re: git-try chromium + webkit

2009-09-22 Thread Dimitri Glazkov

Thank you so much for doing this!

:DG

On Tue, Sep 22, 2009 at 9:39 AM, Yaar Schnitman y...@chromium.org wrote:
 If you use (or consider using) Git, and also work on webkit (or any other
 3rd party dependency actually) you may find the following valuable:
 The latest depot_tools (revision 26817+) makes it possible to use git-try
 to simultaneously test changes in both chromium and webkit. Simply type:
 git try -b BOT --webkit WEBKIT_BRANCH CHROMIUM_BRANCH
 A patch containing the diffs of src (against CHROMIUM_BRANCH) and
 src/third_party/WebKit (against WEBKIT_BRANCH) will be submitted to the try
 bots of your choice.
 The --webkit branch option is actually a syntax sugar to an even more
 powerful option: --sub_rep PATH BRANCH. This option can be used multiple
 times to specify a series of git sub-repositories to include in the try.
 Special thanks for Evan Martin and Marc-Antoine Ruel for helping me land
 this enhancement.
 -Yaar

 


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



[chromium-dev] Re: [linux] user feedback one month in

2009-09-22 Thread Kasper Lund

On Mon, Sep 21, 2009 at 4:52 AM, Elliot Glaysher (Chromium)
e...@chromium.org wrote:

 On Sun, Sep 20, 2009 at 7:43 PM, Evan Martin e...@chromium.org wrote:
 - CSS occasionally lost while browsing
 My response: I think I've seen this too, but I had been assuming it's
 site glitches.  Does this ring any bells for anyone?

 I see this at least twice a day on my home connection. A site will
 load except for the corresponding CSS. There doesn't appear to be a
 pattern to it.

I see this on both Mac and Linux and I've heard complaints about it
from Windows users in my family. In my personal case, it's usually
coupled with pages that doesn't load (The webpage at ... might be
temporarily down.) with an:

   Error 2 (net::ERR_FAILED): Unknown error.

Reloading usually solves the issue, but it still seems like my running
version of Chromium can get into a state where I either get garbled
pages (lack of CSS) or pages that aren't available pretty frequently
-- even though I'm accessing pretty major sites like http://news.com/
or http://jp.dk/ that I (almost) never have trouble accessing from
other browsers. Does anyone know of a bug (http://crbug.com/) that
track this issue?

Cheers,
Kasper

 -- Elliot

 


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



[chromium-dev] Re: Xcode dependency analysis

2009-09-22 Thread Eric Seidel

I'm not sure I understand what you're saying.  I assume you're aware
that script phases in XCode list explicit dependencies.

I think I'd have an easier time parsing your paragraph with specific examples.

-eric

On Tue, Sep 22, 2009 at 5:30 AM, Thomas Van Lenten
thoma...@chromium.org wrote:
 I've confirmed this with Xcode 3.2; but my suspicion is it also happens with
 Xcode 3.1.x, just less frequently.
 In our build process, we run scripts in a few places to generate headers.
  Those steps are usually done via Actions on targets. We have listed all of
 the outputs generated so the tool chains can properly track the dependencies
 and figure out what needs to be rebuilt.  It appears that Xcode has some
 bugs in this space.  So it's possible to make changes to the input for one
 of these scripts (say a GRD files), and on your next build, the script will
 run to generate the new header, but Xcode appears to be checking the header
 before the script has run, so it doesn't always rebuild all the sources that
 include the headers.  Most of the time, on the next build, the compiles will
 happen and your build will be back in a good state.  So far my attempts to
 create a small test case have failed (the exact same setup, just will all
 the other sources removed, suddenly works).
 So if you are working on GRDs or localized XIB; and see odds issues with
 strings, you might have gotten bitten by this, a rebuild should fix it.
  Failing that, go for a clean build before spending too much time debugging
 just to make sure you aren't fighting the tool chain.
 TVL
 ps-this doesn't seem to be an issue with us missing dependencies for build
 order, this happens within a single target.  I can get it to happen on a 4
 core box, so it is not something that only shows with more parallelization.
 


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



[chromium-dev] [LTTF] Layout Tests Task Force

2009-09-22 Thread Jeffrey Chang
Hello,
The Chromium team will be putting a lot of focus over the next few months on
WebKit layout tests. In fact, we've created a Layout Tests Task Force, and
anyone is welcome to contribute.

As you know, layout tests are used to check the correctness of the renderer.
Existing documentation on how to set up and run the tests is here:
http://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests
.

We've also set up a page which describes how the Task Force operates. In a
nutshell, there are two exciting roles that anyone is free to choose from:
Finders, and Fixers.
http://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests/task-force

There's no shortage of layout tests to tackle, so go for it! We'll try to
set up something to help us visualize our progress over time better.

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



[chromium-dev] Re: [Green Tree] Week 1

2009-09-22 Thread Antony Sargent
Do we have anything running which monitors disk free space? It seems like in
a couple of cases over the last few months getting email alerts when a bot's
disk is 90% full might have helped alert Sheriffs/Troopers to a problem
earlier and possibly prevent a tree closure.

On Mon, Sep 21, 2009 at 10:31 AM, Jeremy Orlow jor...@chromium.org wrote:

 On Mon, Sep 21, 2009 at 8:25 AM, Nicolas Sylvain nsylv...@chromium.orgwrote:

 Hi chromium-dev,
   A small group of us joined forces to create a Green Tree task force.
 The goal of this task
 force is to make sure the tree stays green most of the time.  The 2 main
 pain points that
 we are attacking at this time are reducing the buildbot cycle time, to
 catch errors earlier, and
 getting rid of the flakiness, to make sure the tree does not turn red
 for no reason.

   I'll be prepending [Green Tree] to the emails I send related to the
 task force.

   You can also follow the progress and our tasks there:
 http://code.google.com/p/chromium/issues/list?q=label:GreenTreeTaskForce

 For those interested, these are the highlights of the last week:

 - Make sure all the tasks have bugs associated with them (pamg)
 - Make sure VMWare Tools is installed on all the slaves (bev / nsylvain)
 - Disable all services that we don't need on the slaves (bev)
 - Split the windows chromium tests in 3 slaves (maruel)
 - Change the gatekeeper to close the tree on more failures (maruel)
  - Change LKGR to care about more tests, and make it cycle faster (maruel)
 - Write a status page to see the cycle speed on the slaves (nsylvain)
 - Make sure we build only what we need on Mac (thomasvl)
 - Add more try bots (linux views, valgrind) (maruel)
 - Refactor Linux Valgrind buildbots into builder/testers. (mmoss)
 - Create a dashboard to see the slowest tests (phajdan)
 - Speed up the transfer of builds between builders/testers by reducing the
 compression (mmoss)

   I'm sure I forgot some, feel free to append to this list.

   Despite our efforts, this was one of the worse week we've seen in a long
 time in term of tree closure. This
 was caused by 5 main events:

  - Buildbot maintenance went wrong. By changing a mounted drive on the
 buildbot master, the mount table got corrupted, and we had to reboot the
 main server. We started the maintenance at 7:30AM (pacific) and we got the
 buildbot back online shortly after 10AM. It had to cycle a little, so it was
 closed for almost 3 hours
  - A webkit merge left some failures in the tree. And it looks like
 everyone left without fixing it, so it was closed overnight. We fixed it in
 the morning, but before reopening we let another webkit merge go by, and it
 also broke the tree, requiring a change on webkit.org to fix the
 reliability tests (IIRC). Total closure time: 20 hours.


 The more try bots we get, the better this will get.  At the very least,
 when we check in something that upsets bots covered by try bots, we can
 always roll back out and triage without the tree closed.  Maybe we should
 have one try bot for each different type of build bot?

 Btw, in case anyone is wondering what makes WebKit gardening special:
 WebKit is a freight train that we can't stop.  And so, if we get behind by
 even a day, it has a serious impact on Chromium developers' ability to do a
 lot of stuff (especially 2 sided patches).  I'm not trying to condone the 20
 hour closure (I don't know the details), but if we can't figure out what's
 wrong quickly (when it breaks our stuff) we can get into a pretty bad
 situation pretty quickly.


  - A bad gclient change got checked in. Some machines stopped running
 runhooks and some bots got confused. The damage seems to have been
 limited.
  - A second bad gclient change got checked in. This time causing all the
 bots to throw away their checkouts. Almost each slaves had to do a full
 checkout (which takes an hour or so), and some of them ran out of disk
 space, so we had to manually fix them. The tree was closed for another
 couple of hours.
  - A bad DEPS file got checked in. Causing again a bunch of slaves to
 throw away their checkout. It was closed for another hour or two.


 Possibly crazy idea:  Is there any way we can have a bot that only updates
 itself that all the other bots block on?  Assuming that one bot syncing the
 world is faster than all the bots saving the world, it would save time.  It
 seems like in the normal case, this will go quite quickly and not block
 things for long.  But, when something's wrong with gclient, DEPS, etc it'll
 take a long time.  Sheriffs could then close the tree and stop that bot's
 build before any of the other bots pick it up.

 


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



[chromium-dev] [LTTF] Goals for the Layout Tests Task Force

2009-09-22 Thread Jeffrey Chang
Hello,

As mentioned previously, a Layout Tests Task Force has been created to
tackle the noble problem of fixing all of the WebKit layout tests that
Chromium is currently failing.
(Documentation on the task force is here:
http://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests/task-force
)

We have also assembled a set of goals for the next three months:
http://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests/goals

They are pasted here for convenience:


   - Fix all Windows layout tests: make test_expectations.txt only contain
   items that we will never fix, features we have not yet implemented, or bugs
   less than one week old that are a result of a recent WebKit merge.
   - All LTTF bugs that we fix are fixed across all three platforms (Win,
   Mac, Linux), unless they depend on features not yet implemented.
   - Fix any crashing layout tests within a week of occurrence.
   - Work with the green tree task force to eliminate flakiness of layout
   tests.
   - Set up a public dashboard which tracks the number of failing layout
   tests over time on the Chromium site.


Feedback is more than welcome!

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



[chromium-dev] Re: [Green Tree] Week 1

2009-09-22 Thread Nicolas Sylvain
On Mon, Sep 21, 2009 at 10:53 AM, Antony Sargent asarg...@chromium.orgwrote:

 Do we have anything running which monitors disk free space? It seems like
 in a couple of cases over the last few months getting email alerts when a
 bot's disk is 90% full might have helped alert Sheriffs/Troopers to a
 problem earlier and possibly prevent a tree closure.


At this point the problem is that the build got bigger, and we can't fit 2
checkouts at the same time on the same machine. We are currently slowly
replacing all the old 30GB VM with new one that has 70GB.

Eventually we should try to implement some alert mechanism.

Nicolas



 On Mon, Sep 21, 2009 at 10:31 AM, Jeremy Orlow jor...@chromium.orgwrote:

 On Mon, Sep 21, 2009 at 8:25 AM, Nicolas Sylvain 
 nsylv...@chromium.orgwrote:

 Hi chromium-dev,
   A small group of us joined forces to create a Green Tree task force.
 The goal of this task
 force is to make sure the tree stays green most of the time.  The 2 main
 pain points that
 we are attacking at this time are reducing the buildbot cycle time, to
 catch errors earlier, and
 getting rid of the flakiness, to make sure the tree does not turn red
 for no reason.

   I'll be prepending [Green Tree] to the emails I send related to the
 task force.

   You can also follow the progress and our tasks there:
 http://code.google.com/p/chromium/issues/list?q=label:GreenTreeTaskForce

 For those interested, these are the highlights of the last week:

 - Make sure all the tasks have bugs associated with them (pamg)
 - Make sure VMWare Tools is installed on all the slaves (bev / nsylvain)
 - Disable all services that we don't need on the slaves (bev)
 - Split the windows chromium tests in 3 slaves (maruel)
 - Change the gatekeeper to close the tree on more failures (maruel)
  - Change LKGR to care about more tests, and make it cycle faster
 (maruel)
 - Write a status page to see the cycle speed on the slaves (nsylvain)
 - Make sure we build only what we need on Mac (thomasvl)
 - Add more try bots (linux views, valgrind) (maruel)
 - Refactor Linux Valgrind buildbots into builder/testers. (mmoss)
 - Create a dashboard to see the slowest tests (phajdan)
 - Speed up the transfer of builds between builders/testers by reducing
 the compression (mmoss)

   I'm sure I forgot some, feel free to append to this list.

   Despite our efforts, this was one of the worse week we've seen in a
 long time in term of tree closure. This
 was caused by 5 main events:

  - Buildbot maintenance went wrong. By changing a mounted drive on the
 buildbot master, the mount table got corrupted, and we had to reboot the
 main server. We started the maintenance at 7:30AM (pacific) and we got the
 buildbot back online shortly after 10AM. It had to cycle a little, so it was
 closed for almost 3 hours
  - A webkit merge left some failures in the tree. And it looks like
 everyone left without fixing it, so it was closed overnight. We fixed it in
 the morning, but before reopening we let another webkit merge go by, and it
 also broke the tree, requiring a change on webkit.org to fix the
 reliability tests (IIRC). Total closure time: 20 hours.


 The more try bots we get, the better this will get.  At the very least,
 when we check in something that upsets bots covered by try bots, we can
 always roll back out and triage without the tree closed.  Maybe we should
 have one try bot for each different type of build bot?

 Btw, in case anyone is wondering what makes WebKit gardening special:
 WebKit is a freight train that we can't stop.  And so, if we get behind by
 even a day, it has a serious impact on Chromium developers' ability to do a
 lot of stuff (especially 2 sided patches).  I'm not trying to condone the 20
 hour closure (I don't know the details), but if we can't figure out what's
 wrong quickly (when it breaks our stuff) we can get into a pretty bad
 situation pretty quickly.


  - A bad gclient change got checked in. Some machines stopped running
 runhooks and some bots got confused. The damage seems to have been
 limited.
  - A second bad gclient change got checked in. This time causing all the
 bots to throw away their checkouts. Almost each slaves had to do a full
 checkout (which takes an hour or so), and some of them ran out of disk
 space, so we had to manually fix them. The tree was closed for another
 couple of hours.
  - A bad DEPS file got checked in. Causing again a bunch of slaves to
 throw away their checkout. It was closed for another hour or two.


 Possibly crazy idea:  Is there any way we can have a bot that only updates
 itself that all the other bots block on?  Assuming that one bot syncing the
 world is faster than all the bots saving the world, it would save time.  It
 seems like in the normal case, this will go quite quickly and not block
 things for long.  But, when something's wrong with gclient, DEPS, etc it'll
 take a long time.  Sheriffs could then close the tree and stop that bot's
 build before any of the other 

[chromium-dev] Re: Chromium isn't shutting down cleanly

2009-09-22 Thread Peter Kasting
On Tue, Sep 22, 2009 at 10:39 AM, Daniel Cowx daniel.c...@gmail.com wrote:

 Can someone please provide a bit of insight into how to solve the
 following problem:

 1. Open Chromium  Options  Show saved passwords
 2. Click the Remove All button

 Now, *before* you click Yes or No, close the main browser window
 (e.g. by clicking the X in the upper right corner).  When you do this,
 all windows disappear, but the main browser process remains running.
 It looks like this is due to a nested invocation of MessageLoop::Run()
 (via chrome\browser\views\confirm_message_box_dialog.cc) and the fact
 that Quit is only exiting the most recent invocation.

 How can we cleanly quit the application in this case?


Explicitly CCing a couple people who know nested message loops best.

PK

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



[chromium-dev] Re: Q about closing valgrind issues

2009-09-22 Thread Avi Drissman
If this is caught in the unit tests ~1/30 times, then it's happening despite
the window positionings and view positionings being the same. There's
multiple layers of indirection in there (two context types, four libraries)
all totally closed source. Tracking it down feels like it would take way too
much effort and I'm swamped. If you have some spare time...

Avi

On Tue, Sep 22, 2009 at 11:56 AM, Erik Kay erik...@chromium.org wrote:

 I'd suspect an alignment / positioning bug for what you're seeing.
 Often rect fill algorithms have several paths with different loop
 unrolling tricks based on the size and position of the rect.  I agree
 with Evan that it may be worth tracking this down a bit more.  Even if
 it's not our bug, we need to find a way to avoid the memory stomping.
 I'm nervous about adding this to the upstream suppression list.  I
 think that's OK to do for memory leaks, or for memory errors where
 it's been demonstrated that the result of the error is benign (like
 the UMRs in parts of Microsoft's STL implementation), but it doesn't
 seem like this fits into that case.

 Erik


 On Mon, Sep 21, 2009 at 1:15 PM, Avi Drissman a...@google.com wrote:
  I have no evidence to confirm/deny that. Even so it deserves an
 upstreaming.
  I'll look at it but why would it show up 1/30 times?
 
  Avi
 
  On Mon, Sep 21, 2009 at 4:07 PM, Evan Martin e...@chromium.org wrote:
 
  Could it possibly be related to passing a zero-sized rect in somewhere?
 
  On Mon, Sep 21, 2009 at 12:27 PM, Avi Drissman a...@google.com wrote:
   crbug.com/18189
   crbug.com/18539
  
   I got the first because it involved the status bubble; I got the
 second
   because I got the first.
  
   NSRectFill(). Deep down that ends up in sseCGSFill8by1, which looks
 like
   it
   sometimes scribbles off the end of some buffer. I have no idea what we
   could
   be doing wrong to cause it nor what we could be doing to affect it at
   all. I
   want to just dup one to the other and mark both as
   CANNOTFIXBADAPPLECODE^WWontFix. Any objections?
  
   Avi
  
   
  
 
 
   
 


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



[chromium-dev] Re: [LTTF] Goals for the Layout Tests Task Force

2009-09-22 Thread Ojan Vafai
On Tue, Sep 22, 2009 at 10:26 AM, Jeffrey Chang jeffr...@google.com wrote:


- Fix all Windows layout tests: make test_expectations.txt only contain
items that we will never fix, features we have not yet implemented, or bugs
less than one week old that are a result of a recent WebKit merge.
- Set up a public dashboard which tracks the number of failing layout
tests over time on the Chromium site.


How do you intend to track these numbers? Right now we have no way to
distinguish between failures that need fixing versus failures due to
unimplemented features. One way would be to use DEFER again. All the support
is still there, and the initial code for the tracking dashboard exposes it.
It would mostly just work.

I propose that we bring back to defer, but use it *only* for tests that fail
due to unimplemented features.

Ojan

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



[chromium-dev] Re: [LTTF] Goals for the Layout Tests Task Force

2009-09-22 Thread Dimitri Glazkov

Yep. Dirk was the one to suggest bringing it back. I didn't put this
in the documentation, but only because I wasn't yet sure whether we'll
track them by bug milestone or explicitly using the tag.

:DG

On Tue, Sep 22, 2009 at 11:33 AM, Ojan Vafai o...@chromium.org wrote:
 On Tue, Sep 22, 2009 at 10:26 AM, Jeffrey Chang jeffr...@google.com wrote:

 Fix all Windows layout tests: make test_expectations.txt only contain
 items that we will never fix, features we have not yet implemented, or bugs
 less than one week old that are a result of a recent WebKit merge.
 Set up a public dashboard which tracks the number of failing layout tests
 over time on the Chromium site.

 How do you intend to track these numbers? Right now we have no way to
 distinguish between failures that need fixing versus failures due to
 unimplemented features. One way would be to use DEFER again. All the support
 is still there, and the initial code for the tracking dashboard exposes it.
 It would mostly just work.
 I propose that we bring back to defer, but use it *only* for tests that fail
 due to unimplemented features.
 Ojan
 


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



[chromium-dev] this webpage is not available

2009-09-22 Thread Dan Kegel

After hitting this message about twenty times over the last couple days,
and getting pinged by various people about it,
I went looking for a corresponding bug report.
The closest match seems to be
  http://crbug.com/22623
so I updated that and marked it high priority.

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



[chromium-dev] Don't edit webcore.gyp javascriptcore.gyp

2009-09-22 Thread Yaar Schnitman
I'm in the middle of a 2-step commit, so PLEASE DONT EDIT these files until
the commit is through.

These two gyp files have been upstreamed to webkit.org and are about to be
removed from the chromium tree.

src/webkit/webcore.gyp moved to
src/third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp(Yes, WebCore.gyp
twice)
src/webkit/javascriptcore.gyp moved to
src/third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp

I will really remove them and make webkit.gyp depend on the upstream files
once we catch up with the relevant webkit revision.

I'm sorry for the temporary inconvenience or delays this may cause.

-Yaar

p.s. You are welcome to start editing upstream WebCore.gyp 
JavaScriptCore.gyp of course.

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



[chromium-dev] Re: Chromium isn't shutting down cleanly

2009-09-22 Thread Jim Roskind
In the case you indicated, the main thread call stack probably includes the
invocation of the nested message loop.  I think this nesting is usally
required because we enter a special windows message loop that handles native
windows (dialog boxes).  We use some very fancy footwork to cause this
native message loop to actually provide time slices to service the Chrome
task queue etc..As a result, until that native window terminates (user
clicks OK) there is no way for the basic browser process to terminate
(cleanly) as the main UI thread is still running.
When *finally* you do hit the OK button on the native dialog, then the
dialog will terminate, and (if you have closed the main browser window)
the main UI thread can unwind and the browser process can really terminate.
 Typically a Quit() call to the MessageLoop sets the state to indicate that
the (current) loop should exit soon (when next it seems idle?).

...at least that was the way it was supposed to play out...

There is a chance that someone put in a nested message loop from Chrome for
a Chrome dialog.  In that case, the multitude of Quit() calls at various
nesting depths could be (incorrectly) aggregated by a nested Chrome message
loop.  Historically we've seen problems like that... but I thought we had
handled such (and strongly discouraged the use of nested message loops).
 Looking at the UI, I can see the Options dialog; the Show-All dialog; and
the Are You Sure dialog.  It would be most desirable if all of those dialogs
were native, and none involved a nested Chrome message loop.  If there was a
nested Chrome message loop, extra care would be needed to be sure the extra
Quit() calls were not aggregated (losing the extra one).

So that's something to look at.

If the problem is as mentioned, we'd need to either stop using a nested
message loop, or be a little more careful in the nested message loop about
losing the extra quit message.  A more traditional approach is to make the
last Are You Sure dialog application-modal, so that you can't terminate
the browser while it is displayed/pending (but I think we try as much as
possible to avoid modal dialogs).

At some point I recall looking at more targetted Quit() messages, that
terminate only a given MessageLoop, and also looking at counting the number
of Quit() invocations, so that the excess at a nested level propogated
upwards.  I think it was decided that such situations would better be
avoided.  (The count of the
number of Quit() messages can wreak havoc if a high level Quit() causes a
nested loop to terminate instead :-/ ).

Jim

p.s., Please cc me on the CL for any fix you decided on.


On Tue, Sep 22, 2009 at 10:47 AM, Peter Kasting pkast...@google.com wrote:

 On Tue, Sep 22, 2009 at 10:39 AM, Daniel Cowx daniel.c...@gmail.comwrote:

 Can someone please provide a bit of insight into how to solve the
 following problem:

 1. Open Chromium  Options  Show saved passwords
 2. Click the Remove All button

 Now, *before* you click Yes or No, close the main browser window
 (e.g. by clicking the X in the upper right corner).  When you do this,
 all windows disappear, but the main browser process remains running.
 It looks like this is due to a nested invocation of MessageLoop::Run()
 (via chrome\browser\views\confirm_message_box_dialog.cc) and the fact
 that Quit is only exiting the most recent invocation.

 How can we cleanly quit the application in this case?


 Explicitly CCing a couple people who know nested message loops best.

 PK


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



[chromium-dev] Re: this webpage is not available

2009-09-22 Thread Darin Fisher
When you see this error page, it is helpful to report the error code.
 Please toggle the widget to reveal the error code.-Darin

On Tue, Sep 22, 2009 at 11:39 AM, Dan Kegel d...@kegel.com wrote:


 After hitting this message about twenty times over the last couple days,
 and getting pinged by various people about it,
 I went looking for a corresponding bug report.
 The closest match seems to be
  http://crbug.com/22623
 so I updated that and marked it high priority.

 


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



[chromium-dev] When disabling a test, please assign to whoever wrote it

2009-09-22 Thread John Abd-El-Malek
It only takes a few moments to figure out this information, and ensures that
the bug lands on the right person's desk.
http://src.chromium.org/viewvc/chrome/trunk/src/ can show who wrote the
initial test
For commits before we moved to the open source repository, look at
http://chrome-corpsvn.mtv/viewvc/trunk/?root=chrome  (internal only)

Thanks

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



[chromium-dev] Re: [LTTF] Goals for the Layout Tests Task Force

2009-09-22 Thread Dirk Pranke

Yes, exactly. I'm working on some additional reports and dashboards
that will allow us to track the funnel of finds/fixes better as well.

-- Dirk

On Tue, Sep 22, 2009 at 11:38 AM, Dimitri Glazkov dglaz...@chromium.org wrote:

 Yep. Dirk was the one to suggest bringing it back. I didn't put this
 in the documentation, but only because I wasn't yet sure whether we'll
 track them by bug milestone or explicitly using the tag.

 :DG

 On Tue, Sep 22, 2009 at 11:33 AM, Ojan Vafai o...@chromium.org wrote:
 On Tue, Sep 22, 2009 at 10:26 AM, Jeffrey Chang jeffr...@google.com wrote:

 Fix all Windows layout tests: make test_expectations.txt only contain
 items that we will never fix, features we have not yet implemented, or bugs
 less than one week old that are a result of a recent WebKit merge.
 Set up a public dashboard which tracks the number of failing layout tests
 over time on the Chromium site.

 How do you intend to track these numbers? Right now we have no way to
 distinguish between failures that need fixing versus failures due to
 unimplemented features. One way would be to use DEFER again. All the support
 is still there, and the initial code for the tracking dashboard exposes it.
 It would mostly just work.
 I propose that we bring back to defer, but use it *only* for tests that fail
 due to unimplemented features.
 Ojan
 


 


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



[chromium-dev] Re: When disabling a test, please assign to whoever wrote it

2009-09-22 Thread Aaron Boodman

Seriously. In a project as big as Chrome, tests are *critical* and a
disabled test can hurt a team within just a few days. This has
happened to me a few times and it is terrifying to find out a test
that you think was proving you are working had actually been disabled.

Disabling bad tests is super important, and I'm not arguing against
that. Just make sure that someone knows that it was done who can take
action on it.

- a

On Tue, Sep 22, 2009 at 12:40 PM, John Abd-El-Malek j...@chromium.org wrote:
 It only takes a few moments to figure out this information, and ensures that
 the bug lands on the right person's desk.
 http://src.chromium.org/viewvc/chrome/trunk/src/ can show who wrote the
 initial test
 For commits before we moved to the open source repository, look
 at http://chrome-corpsvn.mtv/viewvc/trunk/?root=chrome  (internal only)

 Thanks
 


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



[chromium-dev] [LTTF] Status updates

2009-09-22 Thread Jeffrey Chang
Hello,
Are you on the Layout Tests Task Force and wondering what your fellow
taskforcers have been up to? Are you interested in joining the task force
and want to see what everyone else has been working on?

In the spirit of transparency, we're going to try collecting and sending out
weekly status updates on what each member of the LTTF is doing.

http://tinyurl.com/LTTFstatus

I will email at the beginning of each week to remind people, and again later
in the week to encourage people to take a look. Feel free to add yourself to
the list if you join the task force!

As always, I'd love to hear feedback, so if you think this is useless, or
you think this is great, or you prefer email instead of spreadsheet,
biweekly instead of weekly, etc., feel free to reply to me individually or
publicly.

 Jeff

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



[chromium-dev] V8 object-graph-tracing utilities?

2009-09-22 Thread Jens Alfke

Are there any utilities that can be used to see which native (DOM)  
objects are being referenced by JavaScript objects, and to follow  
references between JS objects to understand what's keeping an object  
from being GCd?

(I'm working on reducing Chrome memory usage. One thing I've  
discovered is that WebCore::DOMWindow objects (and all their  
associated object trees) are sometimes being left behind. JavaScript  
seems to be implicated, as the problem goes away if I disable JS. So  
something in V8 seems to be holding onto references to DOMWindows, and  
I'd like to find out what it is.)

Thanks!

—Jens
--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: V8 object-graph-tracing utilities?

2009-09-22 Thread Mikhail Naganov

I'm working on showing JS objects retainers. But this only works for
objects that live inside V8's heap. I'm not considering links between
JS wrappers and C++ objects. I know Vitaly (cc'ed) wanted to do
something about such cycles.

On Wed, Sep 23, 2009 at 01:47, Jens Alfke s...@google.com wrote:

 Are there any utilities that can be used to see which native (DOM)
 objects are being referenced by JavaScript objects, and to follow
 references between JS objects to understand what's keeping an object
 from being GCd?

 (I'm working on reducing Chrome memory usage. One thing I've
 discovered is that WebCore::DOMWindow objects (and all their
 associated object trees) are sometimes being left behind. JavaScript
 seems to be implicated, as the problem goes away if I disable JS. So
 something in V8 seems to be holding onto references to DOMWindows, and
 I'd like to find out what it is.)

 Thanks!

 —Jens
 


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



[chromium-dev] debugging the browser started by UI tests

2009-09-22 Thread Paweł Hajdan Jr .
What's the best way to attach the debugger to a browser started by a UI
test? How about doing that only in case of a crash?
I'm looking for solution both for Windows and Linux, so if you have good
techniques, it'd be really nice. I can even document them on the wiki, but
currently I'm using LOG statements when debugging the browser (I know it's
not the optimal and kind of sucks, but I couldn't find a good way to attach
the debugger).

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



[chromium-dev] Re: V8 object-graph-tracing utilities?

2009-09-22 Thread Jens Alfke


On Sep 22, 2009, at 2:54 PM, Mikhail Naganov wrote:

 I'm working on showing JS objects retainers. But this only works for
 objects that live inside V8's heap.

That would still be useful — I'd love to be able to look at all the  
'Window' objects in the heap and what ref chain is keeping them alive.

Please let me know if there's something experimental I can try out.  
Thanks!

—Jens


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



[chromium-dev] Re: V8 object-graph-tracing utilities?

2009-09-22 Thread Mike Belshe
Because we have C++ and JS wrappers, and there may be references known to
the C++ side not known to the JS side, we have to do an object grouping
before we can call GC.  This grouping takes all wrappers and groups them by
their root; and then they are collected together.  This happens in
V8GCController::gcPrologue().
So you might fint that an interesting place to look.
Mike


On Tue, Sep 22, 2009 at 3:21 PM, Jens Alfke s...@google.com wrote:



 On Sep 22, 2009, at 2:54 PM, Mikhail Naganov wrote:

  I'm working on showing JS objects retainers. But this only works for
  objects that live inside V8's heap.

 That would still be useful — I'd love to be able to look at all the
 'Window' objects in the heap and what ref chain is keeping them alive.

 Please let me know if there's something experimental I can try out.
 Thanks!

 —Jens


 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Tony Chang

On Linux and mac, if you set the BROWSER_WRAPPER environment variable,
it'll run that as a prefix of chrome.  E.g., BROWSER_WRAPPER=xterm -e
gdb --args should open a new xterm with gdb for each browser window.

On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
phajdan...@chromium.org wrote:
 What's the best way to attach the debugger to a browser started by a UI
 test? How about doing that only in case of a crash?
 I'm looking for solution both for Windows and Linux, so if you have good
 techniques, it'd be really nice. I can even document them on the wiki, but
 currently I'm using LOG statements when debugging the browser (I know it's
 not the optimal and kind of sucks, but I couldn't find a good way to attach
 the debugger).
 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Scott Violet

If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
prompted. We really need to convert this into a comment line option.

  -Scott

On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
phajdan...@chromium.org wrote:
 What's the best way to attach the debugger to a browser started by a UI
 test? How about doing that only in case of a crash?
 I'm looking for solution both for Windows and Linux, so if you have good
 techniques, it'd be really nice. I can even document them on the wiki, but
 currently I'm using LOG statements when debugging the browser (I know it's
 not the optimal and kind of sucks, but I couldn't find a good way to attach
 the debugger).
 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Evan Martin

Both of these should go to the ui tests section of the debugging
wiki, which is where I turned in attempting to answer Pawel's
question:
http://code.google.com/p/chromium/wiki/LinuxDebugging#UI_tests

On Tue, Sep 22, 2009 at 4:03 PM, Scott Violet s...@chromium.org wrote:

 If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
 prompted. We really need to convert this into a comment line option.

  -Scott

 On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
 phajdan...@chromium.org wrote:
 What's the best way to attach the debugger to a browser started by a UI
 test? How about doing that only in case of a crash?
 I'm looking for solution both for Windows and Linux, so if you have good
 techniques, it'd be really nice. I can even document them on the wiki, but
 currently I'm using LOG statements when debugging the browser (I know it's
 not the optimal and kind of sucks, but I couldn't find a good way to attach
 the debugger).
 


 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Scott Violet

WAIT_FOR_DEBUGGER_ON_OPEN predates the Linux port. It may work on
Linux, I just haven't tried it.

  -Scott

On Tue, Sep 22, 2009 at 4:06 PM, Evan Martin e...@chromium.org wrote:
 Both of these should go to the ui tests section of the debugging
 wiki, which is where I turned in attempting to answer Pawel's
 question:
 http://code.google.com/p/chromium/wiki/LinuxDebugging#UI_tests

 On Tue, Sep 22, 2009 at 4:03 PM, Scott Violet s...@chromium.org wrote:

 If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
 prompted. We really need to convert this into a comment line option.

  -Scott

 On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
 phajdan...@chromium.org wrote:
 What's the best way to attach the debugger to a browser started by a UI
 test? How about doing that only in case of a crash?
 I'm looking for solution both for Windows and Linux, so if you have good
 techniques, it'd be really nice. I can even document them on the wiki, but
 currently I'm using LOG statements when debugging the browser (I know it's
 not the optimal and kind of sucks, but I couldn't find a good way to attach
 the debugger).
 


 



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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread John Abd-El-Malek
Agreed, we should have a --browser-startup-dialog that's added to
BrowserMain.  ui_tests can then pass it and --renderer-startup-dialog,
plugin-startup-dialog, in-process-plugins, --single-process along if they're
specified.

On Tue, Sep 22, 2009 at 4:03 PM, Scott Violet s...@chromium.org wrote:


 If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
 prompted. We really need to convert this into a comment line option.

  -Scott

 On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
 phajdan...@chromium.org wrote:
  What's the best way to attach the debugger to a browser started by a UI
  test? How about doing that only in case of a crash?
  I'm looking for solution both for Windows and Linux, so if you have good
  techniques, it'd be really nice. I can even document them on the wiki,
 but
  currently I'm using LOG statements when debugging the browser (I know
 it's
  not the optimal and kind of sucks, but I couldn't find a good way to
 attach
  the debugger).
  
 

 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Tim Steele
What's the difference between WAIT_FOR_DEBUGGER_ON_OPEN and
--wait-for-debugger / wait-for-debugger-children for renderers?

On Tue, Sep 22, 2009 at 4:03 PM, Scott Violet s...@chromium.org wrote:


 If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
 prompted. We really need to convert this into a comment line option.

  -Scott

 On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
 phajdan...@chromium.org wrote:
  What's the best way to attach the debugger to a browser started by a UI
  test? How about doing that only in case of a crash?
  I'm looking for solution both for Windows and Linux, so if you have good
  techniques, it'd be really nice. I can even document them on the wiki,
 but
  currently I'm using LOG statements when debugging the browser (I know
 it's
  not the optimal and kind of sucks, but I couldn't find a good way to
 attach
  the debugger).
  
 

 


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



[chromium-dev] Re: debugging the browser started by UI tests

2009-09-22 Thread Nicolas Sylvain
On windows just use windbg, and tell it to attach to child processes.
I can show you if you want.

Nicolas


On Tue, Sep 22, 2009 at 4:10 PM, Scott Violet s...@chromium.org wrote:


 WAIT_FOR_DEBUGGER_ON_OPEN predates the Linux port. It may work on
 Linux, I just haven't tried it.

  -Scott

 On Tue, Sep 22, 2009 at 4:06 PM, Evan Martin e...@chromium.org wrote:
  Both of these should go to the ui tests section of the debugging
  wiki, which is where I turned in attempting to answer Pawel's
  question:
  http://code.google.com/p/chromium/wiki/LinuxDebugging#UI_tests
 
  On Tue, Sep 22, 2009 at 4:03 PM, Scott Violet s...@chromium.org wrote:
 
  If you uncomment WAIT_FOR_DEBUGGER_ON_OPEN on ui_test you'll be
  prompted. We really need to convert this into a comment line option.
 
   -Scott
 
  On Tue, Sep 22, 2009 at 3:00 PM, Paweł Hajdan Jr.
  phajdan...@chromium.org wrote:
  What's the best way to attach the debugger to a browser started by a UI
  test? How about doing that only in case of a crash?
  I'm looking for solution both for Windows and Linux, so if you have
 good
  techniques, it'd be really nice. I can even document them on the wiki,
 but
  currently I'm using LOG statements when debugging the browser (I know
 it's
  not the optimal and kind of sucks, but I couldn't find a good way to
 attach
  the debugger).
  
 
 
  
 
 

 


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



[chromium-dev] Webkit merges and tree closures

2009-09-22 Thread Nicolas Sylvain
Hi,
In the last few weeks I've been trying to be aware as much as possible about
the reasons we close the tree, and
my gut feeling seems to match what I'm seeing: Webkit merges is the main
cause.

Now, I understand that Webkit merges are not easy, and really, kudos to the
team for keeping up with this and
doing this constant work, but I think there are some ways we can make it a
little bit more seamless for the rest
of us.

Today is a good example, the tree was red for 3 hours, from 2:30PM pacific
to 5:30PM. This also coincide with
the peak hours where chromium developers work and need the tree to be open.
 And as I said, today is just
an example, and I don't want to sound rude to whoever did the merge, this is
not his fault.

Overview of the day:

2 PM : webkit merge committed
2:30 : a bunch of bots turn red
3 PM : two failing ui tests are disabled by the webkit sheriff
3:41 : 21 layout tests are disabled by the webkit sheriff
4 PM : 2 new valgrind errors are disabled by the sheriff (not webkit
sheriff)
4:36 : 3 new purify UMR are disable by the sheriff (not webkit sheriff)
4:38: 1 more layout test is disabled by the sheriff (not webkit sheriff)
5:04: 3 new selenium tests are disabled by the sheriff (not webkit sheriff)
5:30: Tree is open


There has to be a better way to handle this.

Bad webkit rolls happen. There is not much we can't do, but we can try to
limit the damage.

There are some tools we developed to help make your job easier please
use them.

1. Try servers. (this should have caught the ui tests failures)
2. On demand try server for the layout tests (this should have caught a
bunch of other layout tests failures)

And, as with other changes, the current rules apply:

Monitor the tree after your change. You don't have anything better to do
than to make it green. Seriously.

If there are failures, add them to the expectation list right away (or
revert, but with webkit merges this is not
really an option).  When the tree is red, this is not a good time to start
investigate! You can do that later.

If you did cause the tree to be red, please stick around until it's green.
Maybe you fix, or test
disabling will uncover yet another failing test. You might also check back
again ~30 minutes to an
hour after to make sure some flakiness was not introduced.

purify and valgrind redness count. Treat them the same way as the other
tests.

Don't expect the sheriff to hold your hand.  In the timeline above, in the
last hour the sheriff had to clean up
after the webkit merge. This is not his job. (But he has to do it when you
don't!)

In the green tree task force we have an OKR to enforce that people take care
of their failures within
10 minutes after the tree turns red. Webkit merges are not going to be an
exception.

If this is an issue, I am proposing that Webkit merges be done outside peak
hours (11am-5pm pacific).

Oh, and, if your change turned the tree red for 3 hours, don't be mad at the
sheriff when he pings
you repeatedly about the status of the fix.  His job is to keep the tree
green and running. He does
not care about your change.

Thoughts?

Nicolas

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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Peter Kasting
On Tue, Sep 22, 2009 at 5:40 PM, Nicolas Sylvain nsylv...@chromium.orgwrote:

 If this is an issue, I am proposing that Webkit merges be done outside peak
 hours (11am-5pm pacific).


If we implement this, it can cause problems for cases where we need to do a
merge/land/merge pattern to coordinate landing a local and upstream fix
without having the canary bot broken for hours (which is really bad).  I
think we'll have to allow merges to land during daytime hours.  We should
definitely document on the WebKit Merge wiki/dev site page the best
practices for running the merge through various try servers, even if that
info is already available elsewhere.

PK

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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Paweł Hajdan Jr .
On Tue, Sep 22, 2009 at 17:40, Nicolas Sylvain nsylv...@chromium.orgwrote:

 3 PM : two failing ui tests are disabled by the webkit sheriff


I was looking at the UI tests and it wasn't immediately obvious that a
webkit update might break them. Can we run all the UI tests on the webkit
canary bot? If that takes too long, we can selectively exclude the slow
tests, based on http://build.chromium.org/buildbot/slowness-report/

By the way, the layout test failures... can we catch them on the webkit
canary bot(s)?

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



[chromium-dev] WebKit Hygiene: Please be kind. Test your patches. Warn about two-sided patches.

2009-09-22 Thread Dimitri Glazkov

Today wasn't a happy day for p...@. He did a seemingly innocuous roll
that broke the world: selenium, ui tests, layout tests. I am sure it
was stressful and probably added unnecessary gray to his hair.

Stuff like this happens to WebKit gardeners. We're used to breakages
upstream. That's the cost of being unforked, right?

The problem however, is that since we unforked, most of these
breakages and regressions are caused by fellow teammates. There are
two major issues:

1) writers of patches don't mention that the patch is two-sided and
will break Chromium if landed prematurely. I don't have to go far for
an example. Commit queue bot landed
http://trac.webkit.org/changeset/48659 a few minutes ago and broke the
canary. This means that the canary will be red all night and any
subsequent regressions will either not be noticed or create more
complications.

2) writers of patches don't test them properly. In Paul's case, it was
http://trac.webkit.org/changeset/48639, again by a teammate, and it
looks like the patch wasn't very thoroughly tested -- it showed a few
regressions in the canary, but because it had to do with V8 garbage
collection, the failures were intermittent and seemingly random.
However, landing it on trunk looked like a shrapnel blast.

This all means that we have to be a bit more diligent. We shouldn't be
paying these unnecessary costs. So, from now on, I propose a fairly
simple set of new rules:

1) if you write a Chromium patch for WebKit, you must provide URLs of
successful trybot runs with your submission. Chromium WebKit reviewers
will not r+ your patch otherwise. If you can't provide the trybot URLs
for some reason, please explain in detail why this patch could still
land.

2) if the two-sided patch you authored broke the canary and this
happened with no coordination with the WebKit gardener, you assume
WebKit gardening responsibility for the next 24 hours.

Hopefully, these amendments to our existing ways will bring a bit more
peace and stability to the Chromium land. What do you think?

:DG

:DG

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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Adam Barth

On Tue, Sep 22, 2009 at 5:40 PM, Nicolas Sylvain nsylv...@chromium.org wrote:
 If this is an issue, I am proposing that Webkit merges be done outside peak
 hours (11am-5pm pacific).

This seems backwards.  Don't we want to integrate more often so we can
catch and fix these issue faster?  Ideally, we'll be able to merge
with every webkit.org commit once we get the WebKit API in place.

Adam

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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Jeremy Orlow
There are 2 major issues here (besides leaving things for the Sheriff to
clean up):
1) a lot of the gardeners are inexperienced and drop the ball.  This has
bitten us many times.  The last time we had a big string of problems related
to this, I meant to send out an email giving people advice on what to expect
and how to prepare.  I will do it this time.  Hopefully people listen.

2) we don't have enough tools for gardeners to do their jobs.  As I
mentioned in another thread you started the other day, we really need more
try bots and/or canaries that run memory tests, our full suite of tests,
etc.  Without that, things are not going to get better.

Just to be clear, on bad days, gardening is WAY harder than sheriffing by
yourself.  Like you mentioned, reverting a merge is pretty much not an
option because you only get further behind, which makes things harder.  If
several hour tree closures once or twice a week are not an option, then we
need more bots.

J

On Tue, Sep 22, 2009 at 5:50 PM, Paweł Hajdan Jr.
phajdan...@chromium.orgwrote:

 On Tue, Sep 22, 2009 at 17:40, Nicolas Sylvain nsylv...@chromium.orgwrote:

 3 PM : two failing ui tests are disabled by the webkit sheriff


 I was looking at the UI tests and it wasn't immediately obvious that a
 webkit update might break them. Can we run all the UI tests on the webkit
 canary bot? If that takes too long, we can selectively exclude the slow
 tests, based on http://build.chromium.org/buildbot/slowness-report/

 By the way, the layout test failures... can we catch them on the webkit
 canary bot(s)?

 


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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Nicolas Sylvain
On Tue, Sep 22, 2009 at 6:08 PM, Adam Barth aba...@chromium.org wrote:

 On Tue, Sep 22, 2009 at 5:40 PM, Nicolas Sylvain nsylv...@chromium.org
 wrote:
  If this is an issue, I am proposing that Webkit merges be done outside
 peak
  hours (11am-5pm pacific).

 This seems backwards.  Don't we want to integrate more often so we can
 catch and fix these issue faster?  Ideally, we'll be able to merge
 with every webkit.org commit once we get the WebKit API in place.


I really want to stress the first part of my sentence: if this is an issue
.

For small webkit merges, I really don't expect this to be an issue.

Once the API is in place, I'm pretty sure we won't have this problem. Or at
least not as often.

Nicolas


 Adam


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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Dimitri Glazkov

On Tue, Sep 22, 2009 at 6:08 PM, Adam Barth aba...@chromium.org wrote:

 On Tue, Sep 22, 2009 at 5:40 PM, Nicolas Sylvain nsylv...@chromium.org 
 wrote:
 If this is an issue, I am proposing that Webkit merges be done outside peak
 hours (11am-5pm pacific).

 This seems backwards.  Don't we want to integrate more often so we can
 catch and fix these issue faster?  Ideally, we'll be able to merge
 with every webkit.org commit once we get the WebKit API in place.

Indeed. I would rather see small rolls throughout the day. Trying to
accumulate them into larger spans will result in larger blasts.

:DG

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



[chromium-dev] Re: WebKit Hygiene: Please be kind. Test your patches. Warn about two-sided patches.

2009-09-22 Thread Jeremy Orlow
On Tue, Sep 22, 2009 at 6:06 PM, Dimitri Glazkov dglaz...@google.comwrote:


 Today wasn't a happy day for p...@. He did a seemingly innocuous roll
 that broke the world: selenium, ui tests, layout tests. I am sure it
 was stressful and probably added unnecessary gray to his hair.

 Stuff like this happens to WebKit gardeners. We're used to breakages
 upstream. That's the cost of being unforked, right?

 The problem however, is that since we unforked, most of these
 breakages and regressions are caused by fellow teammates. There are
 two major issues:

 1) writers of patches don't mention that the patch is two-sided and
 will break Chromium if landed prematurely. I don't have to go far for
 an example. Commit queue bot landed
 http://trac.webkit.org/changeset/48659 a few minutes ago and broke the
 canary. This means that the canary will be red all night and any
 subsequent regressions will either not be noticed or create more
 complications.

 2) writers of patches don't test them properly. In Paul's case, it was
 http://trac.webkit.org/changeset/48639, again by a teammate, and it
 looks like the patch wasn't very thoroughly tested -- it showed a few
 regressions in the canary, but because it had to do with V8 garbage
 collection, the failures were intermittent and seemingly random.
 However, landing it on trunk looked like a shrapnel blast.

 This all means that we have to be a bit more diligent. We shouldn't be
 paying these unnecessary costs. So, from now on, I propose a fairly
 simple set of new rules:

 1) if you write a Chromium patch for WebKit, you must provide URLs of
 successful trybot runs with your submission. Chromium WebKit reviewers
 will not r+ your patch otherwise. If you can't provide the trybot URLs
 for some reason, please explain in detail why this patch could still
 land.


This will take some getting used to, but is probably for the best.  Where
are the instructions for trying WebKit and 2 sided patches again?


 2) if the two-sided patch you authored broke the canary and this
 happened with no coordination with the WebKit gardener, you assume
 WebKit gardening responsibility for the next 24 hours.


Definitely.  I also think the gardener reserves the right to revert any
WebKit patch landed by a Chromium contributor.


 Hopefully, these amendments to our existing ways will bring a bit more
 peace and stability to the Chromium land. What do you think?


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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread Jeremy Orlow
On Tue, Sep 22, 2009 at 6:16 PM, Nicolas Sylvain nsylv...@chromium.orgwrote:



 On Tue, Sep 22, 2009 at 6:10 PM, Jeremy Orlow jor...@chromium.org wrote:

 There are 2 major issues here (besides leaving things for the Sheriff to
 clean up):
 1) a lot of the gardeners are inexperienced and drop the ball.  This has
 bitten us many times.  The last time we had a big string of problems related
 to this, I meant to send out an email giving people advice on what to expect
 and how to prepare.  I will do it this time.  Hopefully people listen.

 2) we don't have enough tools for gardeners to do their jobs.  As I
 mentioned in another thread you started the other day, we really need more
 try bots and/or canaries that run memory tests, our full suite of tests,
 etc.  Without that, things are not going to get better.

 Just to be clear, on bad days, gardening is WAY harder than sheriffing by
 yourself.  Like you mentioned, reverting a merge is pretty much not an
 option because you only get further behind, which makes things harder.  If
 several hour tree closures once or twice a week are not an option, then we
 need more bots.

 We are creating bots as fast as we can. We delivered almost (all?) of them
 you asked for. You have purify canary, valgrind canary, perf tests canary,
 and selenium tests canary.  You also have the layout tests try slaves, and
 the valgrind try slave. I guess the one that remains in ui tests? We can
 work on that and make it happen. (which you have a try server for in the
 mean time).


Sorry, I haven't gardened in a month or so, so I'm obviously behind the
times.  These will DEFINITELY help.  :-)



 Nicolas


 J

 On Tue, Sep 22, 2009 at 5:50 PM, Paweł Hajdan Jr. 
 phajdan...@chromium.org wrote:

 On Tue, Sep 22, 2009 at 17:40, Nicolas Sylvain nsylv...@chromium.orgwrote:

 3 PM : two failing ui tests are disabled by the webkit sheriff


 I was looking at the UI tests and it wasn't immediately obvious that a
 webkit update might break them. Can we run all the UI tests on the webkit
 canary bot? If that takes too long, we can selectively exclude the slow
 tests, based on http://build.chromium.org/buildbot/slowness-report/

 By the way, the layout test failures... can we catch them on the webkit
 canary bot(s)?

 




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



[chromium-dev] Re: WebKit Hygiene: Please be kind. Test your patches. Warn about two-sided patches.

2009-09-22 Thread John Abd-El-Malek
On Tue, Sep 22, 2009 at 6:06 PM, Dimitri Glazkov dglaz...@google.comwrote:


 Today wasn't a happy day for p...@. He did a seemingly innocuous roll
 that broke the world: selenium, ui tests, layout tests. I am sure it
 was stressful and probably added unnecessary gray to his hair.

 Stuff like this happens to WebKit gardeners. We're used to breakages
 upstream. That's the cost of being unforked, right?

 The problem however, is that since we unforked, most of these
 breakages and regressions are caused by fellow teammates. There are
 two major issues:

 1) writers of patches don't mention that the patch is two-sided and
 will break Chromium if landed prematurely. I don't have to go far for
 an example. Commit queue bot landed
 http://trac.webkit.org/changeset/48659 a few minutes ago and broke the
 canary. This means that the canary will be red all night and any
 subsequent regressions will either not be noticed or create more
 complications.

 2) writers of patches don't test them properly. In Paul's case, it was
 http://trac.webkit.org/changeset/48639, again by a teammate, and it
 looks like the patch wasn't very thoroughly tested -- it showed a few
 regressions in the canary, but because it had to do with V8 garbage
 collection, the failures were intermittent and seemingly random.
 However, landing it on trunk looked like a shrapnel blast.

 This all means that we have to be a bit more diligent. We shouldn't be
 paying these unnecessary costs. So, from now on, I propose a fairly
 simple set of new rules:

 1) if you write a Chromium patch for WebKit, you must provide URLs of
 successful trybot runs with your submission. Chromium WebKit reviewers
 will not r+ your patch otherwise. If you can't provide the trybot URLs
 for some reason, please explain in detail why this patch could still
 land.


Is this even possible?  i.e. I had uploaded a WebKit patch on codereview but
none of the patchsets got run on the try server
http://codereview.chromium.org/178030/show


 2) if the two-sided patch you authored broke the canary and this
 happened with no coordination with the WebKit gardener, you assume
 WebKit gardening responsibility for the next 24 hours.

 Hopefully, these amendments to our existing ways will bring a bit more
 peace and stability to the Chromium land. What do you think?

 :DG

 :DG

 


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



[chromium-dev] Re: WebKit Hygiene: Please be kind. Test your patches. Warn about two-sided patches.

2009-09-22 Thread Adam Barth

On Tue, Sep 22, 2009 at 6:25 PM, John Abd-El-Malek j...@chromium.org wrote:
 Is this even possible?  i.e. I had uploaded a WebKit patch on codereview but
 none of the patchsets got run on the try server
 http://codereview.chromium.org/178030/show

It is possible:

aba...@zenque:~/svn/kr/src/third_party/WebKit$ gcl try scriptcontext
--use_svn --svn_repo=svn://svn.chromium.org/chrome-try/try --bot
layout_win,layout_mac,layout_linux --root src/third_party

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



[chromium-dev] Re: WebKit Hygiene: Please be kind. Test your patches. Warn about two-sided patches.

2009-09-22 Thread Nicolas Sylvain
On Tue, Sep 22, 2009 at 6:35 PM, Adam Barth aba...@chromium.org wrote:


 On Tue, Sep 22, 2009 at 6:25 PM, John Abd-El-Malek j...@chromium.org
 wrote:
  Is this even possible?  i.e. I had uploaded a WebKit patch on codereview
 but
  none of the patchsets got run on the try server
  http://codereview.chromium.org/178030/show

 It is possible:

 aba...@zenque:~/svn/kr/src/third_party/WebKit$ gcl try scriptcontext
 --use_svn --svn_repo=svn://svn.chromium.org/chrome-try/try --bot
 layout_win,layout_mac,layout_linux --root src/third_party


And if you use git, there was another thread today about this on
chromium-dev :
http://groups.google.com/group/chromium-dev/browse_thread/thread/c481ecc1842ddfe4#

http://groups.google.com/group/chromium-dev/browse_thread/thread/c481ecc1842ddfe4#
Nicolas



 


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



[chromium-dev] Re: Q about closing valgrind issues

2009-09-22 Thread Erik Kay

I didn't say it would be easy. ;-)  I also wouldn't be surprised if
window position varied across unit test runs.

I think my main point here wasn't to drop everything you're doing to
track this down.  I'm just saying that it's a dangerous bug to throw
into the supression list and forget about.

Erik


On Tue, Sep 22, 2009 at 11:11 AM, Avi Drissman a...@google.com wrote:
 If this is caught in the unit tests ~1/30 times, then it's happening despite
 the window positionings and view positionings being the same. There's
 multiple layers of indirection in there (two context types, four libraries)
 all totally closed source. Tracking it down feels like it would take way too
 much effort and I'm swamped. If you have some spare time...

 Avi

 On Tue, Sep 22, 2009 at 11:56 AM, Erik Kay erik...@chromium.org wrote:

 I'd suspect an alignment / positioning bug for what you're seeing.
 Often rect fill algorithms have several paths with different loop
 unrolling tricks based on the size and position of the rect.  I agree
 with Evan that it may be worth tracking this down a bit more.  Even if
 it's not our bug, we need to find a way to avoid the memory stomping.
 I'm nervous about adding this to the upstream suppression list.  I
 think that's OK to do for memory leaks, or for memory errors where
 it's been demonstrated that the result of the error is benign (like
 the UMRs in parts of Microsoft's STL implementation), but it doesn't
 seem like this fits into that case.

 Erik


 On Mon, Sep 21, 2009 at 1:15 PM, Avi Drissman a...@google.com wrote:
  I have no evidence to confirm/deny that. Even so it deserves an
  upstreaming.
  I'll look at it but why would it show up 1/30 times?
 
  Avi
 
  On Mon, Sep 21, 2009 at 4:07 PM, Evan Martin e...@chromium.org wrote:
 
  Could it possibly be related to passing a zero-sized rect in somewhere?
 
  On Mon, Sep 21, 2009 at 12:27 PM, Avi Drissman a...@google.com wrote:
   crbug.com/18189
   crbug.com/18539
  
   I got the first because it involved the status bubble; I got the
   second
   because I got the first.
  
   NSRectFill(). Deep down that ends up in sseCGSFill8by1, which looks
   like
   it
   sometimes scribbles off the end of some buffer. I have no idea what
   we
   could
   be doing wrong to cause it nor what we could be doing to affect it at
   all. I
   want to just dup one to the other and mark both as
   CANNOTFIXBADAPPLECODE^WWontFix. Any objections?
  
   Avi
  
   
  
 
 
   
 



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



[chromium-dev] Re: Webkit merges and tree closures

2009-09-22 Thread David Levin
Actionable items for keeping the tree green (in addition to blaming the
WebKit gardener for [insert action here]):

   - *Get people putting in chromium patches upstream to run their changes
   through trybots, etc*. imo, patches from @chromium folks cause well over
   50% of the grief with WebKit rolls (and usually the worst issues like
   today).
   - As Adam suggested, *make changes to the WebKit commit queue to run
   items through the chromium try bots*.
   - *WebKit gardeners should be able to submit high priority jobs to the
   try bots*. These jobs should job to the front of any queues so that they
   run asap.
   Why? Time is critical when doing the gardening because if you find a
   breakage upstream, you need to check in a fix and then roll to that fix. The
   longer the delay, the more likely another breakage will be checked in.
   - *Consider auto-rolling WebKit deps*. Have the something like a parallel
   buildbot that runs against tip of tree WebKit. If everything passes except
   layout tests, add any layout test failures to test_expectations.txt (if
   there are less than 15) and roll DEPS on passing. If things fail, then turn
   red.
   - *Make it easier/faster to disable tests and file bugs about them *(using
   the last person in the blame/annotate for the test as the initial assignee
   or auto-assign it to the sheriff so (s)he can assign it to the right person)
   * *because issues will slip from WebKit rolls even though the gardeners
   try to be thorough. Also, this should help with turning the tree green in
   other cases as well.

The sheriff (and everyone on the chromium team) should care about the WebKit
roll as this is critical to the success of this project. Frequent rolls,
should isolate issues and hopefully help to keep the tree green.
*
*
To help shed some light on why WebKit gardening is more painful than
sheriffing:

   1. WebKit gardeners are all alone in trying to deal with things.
   2. When things go bad on the canary, no one shuts down the tree for you
   and any changes to help with merging are not given priority (if the tree is
   red and you have an innocuous change to fix the webkit merge, you won't get
   it in.)
   3. When tests fail anywhere (on the canary, when committing the roll,
   etc.), you have to figure out why, typically for a lot of changes that you
   know nothing about.
   4. Two days of gardening -- multiple days of clean up afterward.
   5. WebKit gardening occurs more often than sheriff duties.
   6. afaik all WebKit gardeners also have sheriff duties.

Net: chromium sheriffs please be willing to give a little extra help to the
WebKit gardener. Remember that their hair is turning white as they try to
run in front of a locomotive.

Dave

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