Skip to content
Josh Matthews edited this page Jan 11, 2016 · 1 revision

Servo Meeting 2016-01-11

Vidyo meeting - https://v.mozilla.com/flex.html?roomdirect.html&key=aiRAKuP7pjdJ (Servo room):

  • *** Early (Monday, 12PM US Central) meeting
  • Late (Monday, 6PM US Central) meeting

Reminder: use http://statusupdates.dev.mozaws.net/ https://github.com/servo/servo/wiki/Roadmap (to inform goals)

Agenda items

Attending

  • jack, bholley, larsberg, jdm, brson, edunham, manish, nikkibee, ms2ger, mbrubeck, till, simonsapin, ajeffrey, frewsxcv

Last week

New meeting time

  • jack: One for each of the two meetings (EU-friendly & Asia-friendly). Goal is to have them on the same day, alternating each week. PST before 9AM is bad. EU cutoff is 10PM. EU obviously does not need to attend the Asia-friendly timezone (and vice-versa).
  • jack: Links: http://doodle.com/poll/5w4g7dpbmyzv89ew and http://doodle.com/poll/qcqmr79rvpkatye5
  • jack: Friday is not in the Asia-friendly poll because that's gw's Saturday

CI status

  • jack: Let's talk about what's going on and what we need to fix.
  • lars: Sometimes EC2 latent builders disappear, leaving build slaves in bad state. Other people issue force/clean commands which can put system into a bad state (making it do lots of things simultaneously), then I need to come in and reset everything. Possible solution: latent instances could make this go aware. Could also investigate why buildbot and ???? aren't working well together. Tempted to throw money at it.
  • jack: Reserved instances won't fix issue mentioned earlier of instances dying.
  • edunham: Buildbot configured to use spot instances will kill them when it's done. Focus of one MOSS grant is to improve EC2 compatibility, so I can make sure we understand what's going on. Long term solution, hopefully.
  • jack: With latent EC2 slave, if slave is idle more than N minutes, it spins it down. If there are none and buildbot job appears, all slaves are spun up. Problem only occurs if some already exist and it needs to spin up on that was earlier spun down. Also problem with no API errors if problem spinning up slave (like instance limit violation) and buildbot throws that information away and refuses to work after that. Spot instances won't fix this, and outbidding will cause them to be taken away from us. Mozilla already uses spot instances, so maybe that's better tested? Other problem is that during any build step, the slave can die. Not clear whether instance is going away or buildbot is crashing. Get "lost slave" message in build log.
  • brson: FYI, Rust has had increased number of EC2 slave exceptions in the past few weeks.
  • jack: Maybe there's high contention? Are you in the same availability zone - US West 2 for Servo?
  • edunham: Rust is in US West 1.
  • jack: More investigation needed. Are intermittents getting better?
  • larsberg: We disabled the worst ones.
  • jdm: Really bad. There seems to be a long tail of tests that may or may not be failing due to the same underlying problem, but it's hard to track that.
  • mbrubeck: I'm going to be debugging them starting this week.
  • jack: pcwalton is planning to redo the displaylist building this quarter, in support of webrender. Nice thing about this is that they're preserialized to save IPC channel stuff. So we can run WPT in debug mode, probably. Maybe that will fix some intermittents? Tell people not to use force?
  • jdm: Disable it?
  • edunham: Document when it's appropriate and when not.
  • larsberg: Only time should be used is when need to land a higher priority PR than anything else in the queue and should abort the current work.
  • jack: Is there a wiki page that documents how to interact with Homu?
  • edunham: https://github.com/servo/servo/wiki/Adding-a-repo-to-Homu
  • jack: Let's document that incantation for moving a successful try to an r+
  • Manishearth: If we fork homu we won't need that. I have a PR to improve the situation. My only concern is that there used to be a test suite, and we don't have that. Can locally test, but it'd be nice to have automated stuff.
  • jack: Is Rust using upstream homu?
  • Manishearth: Only a very old version.
  • jack: We should only fork this once, so we have a Mozilla homu instead of rust/servo split.
  • Manishearth: We could ask them to upgrade.
  • jack: Who wants to document proper interactions? Is the plan to yell at people who use force, and otherwise do nothing until we get r+/try fixed?
  • [general agreement]
  • jack: What's the current build time?
  • larsberg: Not great - there are now lots more CSSWG tests, but we're over 30 minutes now. We need to be able to partition the tests across builders, which didn't work last time we tried it. We need jgraham, who comes back next week. There's good news - Travis is rolling out support for larger instance types, so soon we'll be able to have 15 concurrent builds and much larger instances. We could not use try and just have travis run all the tests on each PR as they come in.
  • jack: Do we have any problems with travis/homu combo?
  • Manishearth: It's all smooth.
  • jack: Seems like our issues are isolated to buildbot.

Tags

  • https://github.com/servo/servo/wiki/Tag-label-names-and-definitions
  • edunham: We confused a newbie semi-recently. We have rudimentary documentation of what tags mean, and it's abandoned. PSA: please add 1 or 2 explanations for things you know what they mean! Also a question about what's the mentorship process, where there wasn't a clear answer to point them to.
  • mbrubeck: We should put the documentation into Contributing.md.
  • jack: How up-to-date is it?
  • mbrubeck: Everything in there is correct, but it could certainly be expanded.
  • jack: Current set of labels is from the Era Of Graydon. I think the S- ones are regularly used. Platform, too. The I- ones, maybe not? Probably could get rid of the C- ones. Except for C-assigned.
  • bholley: Let's have a thread on this.
  • jack: The A- labels should be simpler.
  • jdm: When triaging, if it looks layouty, it goes in uncategorized.
  • jack: Maybe just get rid of the prefixes and use words... maybe take it up on the list? Everyone seems in favor of a reduction/simplification. edunham, do you want to propose & send something?
  • edunham: Which one? dev-servo? I'm not on that yet... I'll send mail once I get on it.

Component deps for the style crate

  • bholley: PSA! I'm making style as small as possible, which hasn't been a goal before. The DAG is bad. Since util depends on almost everything (azure, etc.) to define HeapSizeOf we end up pulling in a huge mess of things. I'm going to refactor things. With global servo, it doesn't matter, but with the style stuff, it matters.
  • mbrubeck: This means util, message, etc.
  • bholley: I wrote a PR to remove the message dependency (ecoal95 might have beaten me to it). Mainly util. Will write some comments in the relevant Cargo.tomls. Is there any way to watch a file on GitHub?
  • mbrubeck: No.
  • larsberg: Critic offered this but we switched from Critic to Reviewable.
  • jdm: We could add this to highfive. I'll file an issue for that.
  • ajeffrey: DOMString is in util, and should get moved out / into script. It depends on some mozjs stuff.
  • bholley: It doesn't depend on the script crate, though.
  • ajeffrey: No, just mozjs.
  • larsberg: Yeah, you can see the dependency more easily by looking in Cargo.lock. Cargo.toml only shows direct deps, not indirect ones.
  • SimonSapin: Should we split util into "what style depends on" and "the rest"?
  • bholley: Yes, or otherwise split it into finer-grained crates. The harder thing is to make sure it doesn't regress and pull in the world again.
  • jack: util is kind of overloaded. Some of it is deprecated libstd APIs, other stuff is just miscellany that we didn't have any better place for. Maybe someday we can get highfive to be aware of dependency growth.

geckolib

  • bholley: We have a new mach build-geckolib command that landed over the weekend. Can we hook that up to CI?
  • jack: Yes, I'll talk to you after the meeting.
Clone this wiki locally