mozilla :: #servo

19 Apr 2017
00:04pcwaltongw: the numbers in the NV_path_rendering paper look fishy
00:04gwpcwalton: how so?
00:05pcwaltongw: they dont specify whether its GPU time or CPU time
00:05pcwaltonand there *is* a CPU-side component to NVPR (they call it "baking")
00:05pcwaltonI have a feeling that they didnt count the CPU side time against NVPR but did for Direct2D
00:06pcwaltonbecause the numbers are way better than what I see in Pathfinder
00:06pcwaltonI mean, I assume they would justify it by saying that D2D has to rebuild the path from scratch on every draw operation, while NVPR can just leave it on GPU
00:07pcwaltonbut thats just an API issue with Direct2D, not an indictment of the algorithm
00:07pcwaltonthe trapezoidation algorithm could just as well leave a resolution independent trapezoidation on the GPU
00:08gwhuh, interesting
00:08pcwaltonlike, see this aside
00:09pcwaltonThe direct evaluation approach applied to generating quadratic Bzier curves is not tractable.
00:09pcwaltonInstead we subdivide cubic Bzier segments and partial elliptical arcs into an approximating sequence of quadratic Bzier segments.
00:09pcwaltonwhoa there, thats a big asterisk
00:09gwyea
00:09pcwaltonI assume thats done CPU side, it would have to be unless they using compute shader or tessellation or something, which they dont
00:12pcwaltonthis is what NVPR uses for cubics http://www.sciencedirect.com/science/article/pii/S0097849308000915
00:12pcwaltonagain, theres a CPU side preprocessing step....
00:12pcwaltonI wish I could benchmark it
00:12pcwaltoncan be implemented in GPU as a geometry shader
00:13gwdo you have nvidia contacts? maybe reach out to them to clarify the timings?
00:14pcwaltonyeah, I really should get back in touch with Mark and apologize for missing his email a while back
00:14pcwalton:(
00:15pcwaltonthe theoretical reason why Im kinda meh on the NVPR technique is that its really not work efficient it recomputes the winding number from scratch for every sample
00:16pcwaltonthe biggest reason, though, is that it requires switching between stencil buffer and shading for every path, which is a no-go without driver support
00:17pcwaltonand trapezoidation isnt THAT slow its actually O(n log n) and vulnerable to timsort optimizations
00:18pcwaltongw: these days Im pretty meh on anything that achieves GPU parallelism at the cost of a whole bunch of redundant work
00:18pcwaltonIve been burned by that kind of thing too much at this point :)
00:20gwyea
01:12matthew__is there a courtesy waiting period on Issues in which we can request them after they've already been assigned but appear to be abandoned?
01:52stshinenox: thanks, but to float in CSS you must not be too high :)
02:30ThomspoonPinging SimonSapin
02:30SimonSapinhey Thomspoon
02:31ThomspoonDoes my issue encapsulate the problem with the spec I was trying to address adequately?
02:33ThomspoonI figured i'd just create an issue as their pull request process seems a little tedious.
03:12bholleyfroydnj: ping re bug 1357556?
03:12firebothttps://bugzil.la/1357556 NEW, nobody@mozilla.org stylo: startup crash in sync::atomic::atomic_compare_exchange<usize>
03:43CetraHey guys, how well supported is something as simple as markdown
03:44CetraI.e, if I was to use webrender to create a native markdown editor, using it for the preview pane
03:50Manishearththe layout/rendering support for handlign everything markdown needs exists
03:50Manishearthyou&#39;d still have to write a markdown->html converter
03:50Manishearthor markdown->WR display list
03:51Manishearth(but then you need to handle text flow layout yourself)
03:51bzself.gecko.mBorderImageSource.set(image, true, &mut false)
03:51bzWhat does that second arg mean?
03:54jackERROR:script::dom::bindings::error: Error at https://production-assets.codepen.io/assets/editor/global/codemirror-ba7e5ade3ca144cdf583c849e31123e83fe74fa62c4ebb6972d3c893733cdaac.js:1:14275 ga(...).getBoundingClientRect is not a function
03:54jackwat? i gues ssomething else is failing because we certianly have gbcr
03:55jackferjm: how do i use the stuff you did to dump the pretty js?
04:09gwr? anyone ^ (trivial WR update PR)
05:08jackoh dear. i think we just lost windows2.
05:14jackwindows2&#39;s hardware was reclaimed while i was uninstalling msys2. luckily it came back up fine.
05:14jackso two issues solved at once :)
05:20CetraHow is the Javascript runtime evaluated? Can it be used standalone? I.e, a bit like rhinoscript in Java?
05:23KiChjangCetra, we&#39;re still using the same JS engine as gecko
05:24KiChjangyou can indeed just take the JS engine and create a JS runtime yourself
06:21ferjmjack: |./mach run --unminify-js <url>| for example ./mach run --unminify-js https://codepen.io should create a &quot;unminified-js/codepen.io&quot; folder containing the unminified scripts
06:21jackferjm: trying that
06:23jackferjm: it dumped the file but it is not unminified
06:24ferjmjack: yeah, sorry, you need to install js-beautify: |pip install js-beautify|
06:24ferjmit should have printed a warning about it
06:24jackhttps://www.irccloud.com/pastebin/1y2Rg37c/
06:25jackpip doesn&#39;t seem to know about js-beautify
06:26ferjmjack: pip install jsbeautifier
06:31jackferjm: i assume line numbers won&#39;t match because you unminify after the errors are generated :)
06:34ferjmjack: it should unminify before evaluating the scripts :\ That was the intention at least
06:41heycamoh, is homu stuck again? ;_;
06:46ferjmjack: https://gyazo.com/1d81760bdfaac2b25ab90f5c76bcd6d1 it shows the corresponding line (706) for me
06:47heycamemilio: when you wake up, can you try prodding https://github.com/servo/servo/pull/16519/ with a new commit to see if it unsticks homu?
06:47crowbotPR #16519: dom/medialist: remove unused import. - https://github.com/servo/servo/pull/16519
06:55emilioheycam: sure, just woke up, actually :)
06:55heycamemilio: morning :)
06:57emilioheycam: thanks :)
06:57heycamemilio: it worked :)
06:58emilioheycam: btw, wrt GetBeforeFrame and all that stuff, I did it for display: contents. Though perhaps passing the nearest ancestor frame works for it? seem cleaner to just grab it from the node
06:58emilioheycam: I&#39;ll check those functions though
06:58emilio*seemed
06:58heycamI don&#39;t like to complain at the wind too much, but I think it would be great if we could put some resources into fixing these bugs in homu, especially given the coupling of mozilla-central and servo at the moment...
06:59heycamemilio: ok. yeah I could believe that they don&#39;t work because of a lack of frame due to display:contents or something
06:59heycamemilio: but it they do work, probably fine to use them rather than add new node props
06:59emilioheycam: indeed. I bet this bug has been caused by Manishearth forcing his pr twice while mine was building ;)
07:00emilioheycam: how does dynamic restyling of ::before and ::after for display: contents work in gecko?
07:00emilioheycam: I guess you just find them as a normal inline frame as part of traversing the child frames of the parent/
07:00emilio*?
07:01heycamemilio: let me check
07:02heycamemilio: so in GeckoRestyleManager::RestyleChildren, we explicitly look for display:contents children in the display:contents map, just like we do for display:none
07:03emilioheycam: ooh, does that work for generated content? I guess it does
07:03heycamemilio: there is something under there that checks for gencon explicitly
07:03heycamor do we just find it naturally?
07:04heycamemilio: ElementRestyler::RestyleChildrenOfDisplayContentsElement
07:05heycamemilio: after the explicit checks to see if we need to reframe due to new gencon, I guess we find existing gencon naturally when traversing the child frames
07:06heycamemilio: anyway, my guess would be the you can pass in the actual parent frame (the frame for the parent of the display:contents node) to that nsContentUtils function, to find the gencon nodes under display:none?
07:06heycamtry and report back, thanks ;)
07:06emilioheycam: yeah, i think so, per searchfox.org/mozilla-central/source/layout/base/GeckoRestyleManager.cpp#3003
07:06emilioheycam: but it&#39;s way less elegant :&#39;(
07:06heycamemilio: ah yeah, as part of that it uses aGenConParentFrame
07:06heycammm
07:06emilioheycam: I guess as long as it works
07:07emilioheycam: but not super-happy about it ;)
07:07heycam(nsLayoutUtils sorry)
07:09heycamemilio: re the RecreateFramesForContent stuff -- hope I&#39;ll get a chance to look at the lazyification patches tomorrow or friday
07:09* heycam is not sure where the week is disappearing to
07:09emilioheycam: sounds good, no worries!
07:12emilioheycam: ohh, so all the GenConPseudo stuff is only for display: contents actually! Before that we had BeforeProperty and AfterProperty on the frame: https://bugzilla.mozilla.org/attachment.cgi?id=8492596&action=diff
07:13heycamemilio: huh! I must have forgotten that ;)
07:20emilioheycam: So, should I walk the content tree up using GetFlattenedTreeParent looking for a frame instead of adding the new props? I&#39;m wary of bugs with XBL/shadow DOM stuff where we can&#39;t find it, but I think GetFlattenedTreeParent should work for that, right?
07:20heycamemilio: GetFlattenedTreeParentElement() (if you&#39;ve already got an Element*) should be the right thing...
07:20emilioheycam: well, the fc only uses GetParent... :&#39;(
07:20heycamer
07:20heycamhmm
07:21heycamemilio: where is it doing that?
07:21emilioheycam: http://searchfox.org/mozilla-central/source/layout/base/nsCSSFrameConstructor.cpp#8540
07:22emilioheycam: well, it&#39;s using the container anyway, I guess to account for nested display: contents
07:24heycamemilio: hmm yeah I really wonder what&#39;s happening there when we&#39;ve used display:contents on the element with a binding
07:24heycamemilio: though I&#39;ve never actually tested whether that works
07:24heycamit&#39;s possible it doesn&#39;t
07:24heycammaybe ping mats to see if he knows?
07:25emilioheycam: sure, do you know in what tz is he in?
07:25heycamemilio: yours, approximately
07:26heycamyours, exactly, actually :)
07:26emilioheycam: oh, ok, he&#39;s not around on IRC usually right? (I haven&#39;t seen him much)
07:26heycamemilio: no I don&#39;t tend to see him on irc
07:27emilioheycam: Anyway, so we want to do the frame tree stuff to avoid adding the new props definitely then? (I hope to clean that up eventually... sigh)
07:28* emilio thinks pseudos logically belong to elements, not frames, but it&#39;s kind of a pain to find the way to refactor that in the frame constructor now, perhaps he can do a followup bug for that
07:28heycamemilio: well, it&#39;s just that I knew we had those functions and used them elsewhere. I have nothing against the properties, if they are working well with display:contents stuff (although I&#39;m not sure if mats had other reasons for moving away from them)
07:29heycamemilio: and using the same mechanism everywhere would be good :)
07:30emilioheycam: I agree, I&#39;ll use the frame tree for now
07:30heycamemilio: ok. push back if it turns out to be too awkward.
07:31emilioheycam: sounds good, thanks!
07:50emilioheycam: hmmm, so the frame tree business is probably fine for display: contents, but since right now we don&#39;t have a way to differenciate between that and display: none the logic would become either somewhat hairy (needing to grab the frame constructor), or inefficient (needing to walk up to the closest displayed parent)...
07:53heycamemilio: I guess it&#39;s not right to just look through the parent frame...
07:53* heycam must head out now, sorry
07:53emilioheycam: no worries... I&#39;ll try to come up with something :)
07:53heycamok cool :)
08:37jackjdm: ping
08:38jackhow do I get document from a reflector?
08:38jackor window?
08:38jackfrom DomObject::global()?
08:44wafflesjack, jdm isn&#39;t online
08:44wafflesjack, we seem to use a lot of window.Document?
08:45jacki have a relfector and i need a window. so looks like self.reflector_.global().as_window() is what i want
08:45emiliojack: except if the global happens to be a worker, right?
08:45wafflesoh, you wanted a window from reflector
08:46jackemilio: it&#39;s not. or at least i&#39;m guessing you can&#39;t use Range in a worker
09:45jackSimonSapin: do you want to eat blowfish for dinner with till and i?
09:46jryansshinglyu: do you have a bug for running all mochitests with stylo?
09:51shinglyujryans: No bug, just a patch on my local repository
09:52shinglyujryans: The consensus is that most of the failures will go away when we fix know bugs, so it&#39;s not worth the time to debug them now
09:53jryansshinglyu: okay, could you share it? (i&#39;m going to file a bug about devtools tests with stylo, since they could point to other APIs we need to think about)
10:28noxDid test-tidy --all ever hang for you at 100%?
10:36noxnox 1 lint 0
10:36noxjgraham: Around?
10:40travis-ciServo failed to build with Rust nightly: https://travis-ci.org/servo/servo-with-rust-nightly/builds/223490179 CC nox, SimonSapin
10:41SimonSapinjack: ah, only seeing your message now...
10:41jgrahamnox: Yeah
10:42noxjgraham: Never mind found my issue. the wpt lint cannot be fed a generator anymore for the list of paths to check.
10:43* jgraham blames gsnedders
10:43jgraham(might not be his fault :)
10:43noxjgraham: Running ./mach update-manifest include all kinds of stuff now.
10:43nox&quot;./CONTRIBUTING.md&quot; and whatnot.
10:43noxShould I care?
10:43jgrahamNo
10:43noxCool.
10:43noxI like it when I don&#39;t need to care.
10:44jgrahamI mean it&#39;s an intentional change, although we could just block all stuff under ./
10:48noxjgraham: https://github.com/servo/servo/pull/16528#issuecomment-295214277 AH AH that empty title warning.
10:48crowbotPR #16528: Update web-platform-tests - https://github.com/servo/servo/pull/16528
10:48noxSURE I&#39;m going to look around for it!!1! said no one ever.
10:51avadacatavracrowbot: tell jdm that i&#39;d forgotten to pass a destroy function to jsprincipal :)
10:51crowbotthere&#39;s a phone right next to you, but okay
11:04nox&quot;are you sure you want to expose the new interface AssertionError to all webpages as a property on the global?&quot; wat
11:14noxjgraham: &quot;The details of the failure are as follows: KeyError&quot;
11:14noxWhen running update-wpt.
11:14* nox cries.
11:21* nox starts to question his sanity.
11:24noxOh I see.
11:32noxjgraham: Ever encountered that bug?
11:35SimonSapinnox: adding `./mach rustup` based on https://api.github.com/repos/rust-lang/rust/git/refs/heads/master
11:35noxSimonSapin: Cool. :)
11:35noxSimonSapin: Do cargoup too.
11:45* stshine assumes that for a block formatting context its collapsible margin is simple the margin in style
11:46jgrahamnox: Yeah, it&#39;s usually a malformed .ini file I think
11:47noxjgraham: How do I debug this..?
11:48SimonSapinnox: isnt cargoup blocked on a windows bug?
11:48noxSimonSapin: I mean the command.
11:48SimonSapinah
11:48SimonSapinnox: left as an exercise for the reader :]
11:49SimonSapinoh noes
11:49SimonSapinnox: ICE thread &#39;rustc&#39; panicked at &#39;index out of bounds: the len is 8 but the index is 18446744073709551615&#39;
11:49noxjgraham: Do you see in the stacktrace where I could add some debug printing that tells me what INI file made it unhappy?
11:50SimonSapin18446744073709551615 is 0xffffffffffffffff
11:50noxSimonSapin: Nice.
11:52noxjgraham: Whatever I try to print, it seems swallowed by something anyway. :(
11:52noxThis is so frustrating.
11:54imperiohello there: I think it&#39;s the good place to ask: how would write an HTML minifier?
11:54imperio+you
11:55noxRead input, write minified output.
11:57imperionox: :p
11:57imperioI&#39;m basing my code regexp for now but for more complex html it might be not enough
11:57imperio+on
11:57noxhttp://stackoverflow.com/a/1732454
11:57noxRegexps are bad.
11:58imperioyes I know
11:58imperiothat&#39;s following this comment that I came asking here
11:58noxjgraham: Found it.
12:00jgrahamnox: Ah, sorry didn&#39;t see your mesages until now
12:00noximperio: Why do you need one?
12:00noxjgraham: It was unhappy about /workers/data-url.html.
12:00imperionox: https://github.com/rust-lang/rust/pull/41384
12:00crowbotPR #41384: [WIP] Reduce HTML output in rustdoc - https://github.com/rust-lang/rust/pull/41384
12:00noxAdded &quot;type: testharness&quot; in it, will see if it changes anything.
12:00imperiotitle is pretty explicit actually :)
12:00noximperio: I would just hook into an existing minifier.
12:01imperionox: there are two reasons I didn&#39;t do it
12:01imperio1. it&#39;s not in rust and we try keep rust only as much as possible in the compiler
12:01jgrahamnox: Yeah, missing type: is very common. Hopefully one day I fix it so that isn&#39;t required, because teh current situation is dumb
12:01imperio2. I didn&#39;t see that much matures tools in python (which seems to be the only acceptable language in rustc which is not rust)
12:02noxLol @ killercup&#39;s comment.
12:02imperionox: that&#39;s where it comes from
12:02imperioI wasn&#39;t happy about my code but after this comment, I don&#39;t want regexp anymore
12:05noximperio: In any case, you will need to read through the HTML spec to know what can be omitted or not.
12:05imperioI think for this I already have a good start
12:07avadacatavrahttps://github.com/servo/servo/pull/16501/files#diff-fa2a9cd0e53132e0b95fdb0d37d0662cR67
12:07avadacatavra^ i don&#39;t think that is working
12:08avadacatavrasuggestions?
12:09noxjgraham: Next question, what the hell do I do with that AssertionError thing existing in JS?
12:09noxhttps://irccloud.mozilla.com/pastebin/FPXQ2mBG/
12:10SimonSapinrustup is https://github.com/rust-lang/rust/issues/41394
12:10crowbotIssue #41394: ICE thread &#39;rustc&#39; panicked at &#39;index out of bounds: the len is 8 but the index is 18446744073709551615&#39; - https://github.com/rust-lang/rust/issues/41394
12:10jgrahamnox: I dont&#39; know? Ask jdm I guess
12:11noxjgraham: Sorry, what I mean is, there is absolutely no way to not make AssertionError exposed in that test, right?
12:11noxThat&#39;s a new feature of wpt or something like that, right?
12:12avadacatavrajdm is on a long flight today, right?
12:13noxI see that EventWatcher is similar and whitelisted in the test directly, will do the same for AssertionError.
12:21avadacatavranox: i&#39;m going to block the last cipher from https://github.com/servo/servo/issues/8581
12:21crowbotIssue #8581: TLS connections should disallow handshakes which use small DH groups - https://github.com/servo/servo/issues/8581
12:21noxavadacatavra: Sure.
12:21noxnox 1 wpt 0
12:28avadacatavraerror: failed to fetch `https://github.com/rust-lang/crates.io-index`
12:28avadacatavrawtf
12:30jgrahamcargo 1 avadacatavra 0
12:34avadacatavra:(
12:38avadacatavracan someone rebase and try to reproduce^
12:42avadacatavrastandups: going down the rabbit hole looking into https://github.com/servo/servo/issues/6104
12:42crowbotIssue #6104: Support cert pinning via DANE - https://github.com/servo/servo/issues/6104
12:43standupsOk, submitted #44951 for https://www.standu.ps/user/avadacatavra/
12:44noxjgraham: How do I make our lint skip all of this? http://build.servo.org/builders/linux-dev/builds/6767/steps/test/logs/stdio
12:45jgrahamnox: Edit the lint.whitelist file I guess
12:45jgrahamnox: But I&#39;m confused about the missing spec link ones
12:45jgrahamgsnedders: ^ ?
12:47noxjgraham: -ref.html isn&#39;t supposed to have a match link tag, right?
12:48jgrahamnox: I don&#39;t think so
12:49noxOk.
12:49jgrahamBut that isn&#39;t one of the errors
12:58eddybSimonSapin: *please* tell me https://github.com/rust-lang/rust/issues/41394 was caused by another error
12:58crowbotIssue #41394: ICE thread &#39;rustc&#39; panicked at &#39;index out of bounds: the len is 8 but the index is 18446744073709551615&#39; - https://github.com/rust-lang/rust/issues/41394
12:58SimonSapineddyb: what do you mean?
12:58eddybI&#39;m getting sick of rustc_const_eval
12:58eddybSimonSapin: I explained in a comment
12:59eddybthe first variant of an 8-variant enum, with an explicit discriminant, has to have an error in that discriminant expression
12:59eddybvariant_index to become -1
12:59eddyb*in order for
13:00eddyband that method is only used by trans AFAIK (on a branch I have it&#39;s also used by rustc_const_eval, where this bug is worse)
13:01SimonSapineddyb: &quot;Compiling script v0.0.1 (file:///home/simon/servo1/components/script)&quot;, then a warning that existed before, then &quot;error: internal compiler error: unexpected panic&quot; etc.
13:01eddybof course it&#39;s in script
13:01eddyboffc
13:01eddybSimonSapin: is there any easy to quantify how many 8-variant enums there are in it&quot;
13:01eddyb*any easy way
13:02SimonSapinno idea
13:02SimonSapindoes rustdoc have a json output or something like that?
13:03canaltinovaemilio: ping
13:04emiliocanaltinova: pong
13:05canaltinovaemilio: hey, I asked you something about #16467 yesterday but you were away. My question was:
13:05crowbotPR #16467: stylo: Add glue for contain property - https://github.com/servo/servo/pull/16467
13:05canaltinovathe spec says &quot;If the element already establishes a formatting context of any kind, this condition is satisfied&quot;. Do you know how to check if it already establishes a formatting context in here? :)
13:05emiliocanaltinova: which condition? Can you link me to the spec?
13:06avadacatavrahttps://irccloud.mozilla.com/pastebin/bZZYgJXI/
13:06avadacatavrahttps://irccloud.mozilla.com/pastebin/eGJ93HzV/
13:06emiliocanaltinova: I don&#39;t think the style system should need to know whether something establishes a formatting context
13:06canaltinovahttps://drafts.csswg.org/css-contain/#becoming-formatting-context
13:06canaltinovaI guess I can only check if there is a formatting context in layout?
13:06avadacatavranox: those are the head commits of my branches (nonworking and working respectively)
13:07canaltinovaemilio: (it was your link in the bug btw :) )
13:07emiliocanaltinova: you don&#39;t need to change the computed value of display though, do you?
13:07noxavadacatavra: I don&#39;t understand.
13:07noxavadacatavra: Did you amend Lars&#39; merge commit maybe?
13:08avadacatavra...hmm something odd just happened
13:08avadacatavraand i&#39;m hopeful that i&#39;m the problem
13:08eddybSimonSapin: okay, simpler question :)
13:08canaltinovaemilio: well, what do I need to do?
13:08eddybSimonSapin: how many enums with explicit discriminants are there?
13:08* eddyb tries to do this with regex
13:08SimonSapineddyb: same response :)
13:09SimonSapineddyb: a bunch of code in script is generated
13:09emiliocanaltinova: nothing, I think
13:09eddybSimonSapin: but can you see the auto-generated code?
13:09eddybugh the syntax doesn&#39;t help :P
13:09SimonSapinits probably in $OUT_DIR
13:09canaltinovaemilio: really? but there is still a failing test in `test_contain_formatting_context.html`
13:10SimonSapintarget/debug/build/script-*/out
13:10noxGrep for &quot; +\w+ = \d+,&quot; or something like that.
13:10eddybnox: LOLNO
13:10eddybnox: that would work
13:10avadacatavrawhen was the last rustup
13:10nox?
13:10eddybSimonSapin: rg -A16 &#39;\benum &#39; | rg &#39;=&#39;
13:11emiliocanaltinova: I see no mention of mContain in ComputeDisplayData in Gecko either, apart of <http://searchfox.org/mozilla-central/source/layout/style/nsRuleNode.cpp#6017>, which is the normal property cascading
13:11eddybnox: an integer wouldn&#39;t cause an error
13:11emiliocanaltinova: which one is the failing test?
13:11noxeddyb: Oh I see.
13:13SimonSapineddyb: its definitely one with 8 variants?
13:14canaltinovaemilio: test file is layout/style/test/test_contain_formatting_context.html but I should check the specific failing one
13:14noxnrc: Could rustw let us query the list of enums with 8 variants? :P
13:15eddybSimonSapin: yes
13:15eddybSimonSapin: &quot;len is 8&quot;
13:16emiliocanaltinova: that test seems to imply that you should change display: inline to display: inline-block...
13:16SimonSapineddyb: https://gist.github.com/anonymous/2291c66642403093925c25cc5575b301
13:17SimonSapinok not this one
13:17canaltinovaemilio: yeah, which is interesting.
13:17canaltinovaspec doesn&#39;t say something like that
13:17emiliocanaltinova: There are two fixups you should make apparently, though none of them are actually based on a spec
13:17emiliocanaltinova: (AFAICT)
13:17emiliocanaltinova: http://searchfox.org/mozilla-central/source/layout/style/nsRuleNode.cpp#6438
13:17noxSimonSapin: You could write a lint,
13:18SimonSapinno
13:18emiliocanaltinova: and http://searchfox.org/mozilla-central/source/layout/style/nsRuleNode.cpp#6337
13:18noxin the script_plugins crate,
13:18SimonSapinnox: but maybe you could :]
13:18noxthat warns for each 8-variants enum.
13:18eddybSimonSapin: I don&#39;t think = 0 could *ever* error
13:19canaltinovaemilio: oh, I see. Interesting
13:19emiliocanaltinova: we can definitely do it, but...
13:23canaltinovaemilio: :/ So probably I need to add these fixups to apply_declarations function in properties.mako.rs
13:23eddybSimonSapin: I&#39;m surprised this can&#39;t be found with just grep TBH
13:23eddyboh wait
13:23eddybsomeone did an evil trick with enum discriminants a while back
13:23eddybI forget who it was though
13:24noxGrep and multiline stuff isn&#39;t very good.
13:25eddybSimonSapin: you can --unpretty=hir btw
13:25eddybthe entire crate into one file
13:25eddybfeel free to send me that file for further analysis :P
13:25emiliocanaltinova: yep, that sounds right
13:25eddybfrom what I&#39;m seeing you might not even find this enum in the source
13:26canaltinovaemilio: thanks!
13:30SimonSapineddyb: now at 4 minutes and 15 GB RSS
13:30eddybwat
13:30eddybSimonSapin: oh right it was dumbified >:(
13:30eddybit used to output directly to a file I think?
13:30SimonSapinis it going to --out-dir?
13:31emiliocanaltinova: there&#39;s also https://github.com/w3c/csswg-drafts/issues/404
13:31crowbotIssue #404: [css-contain-1] layout containment should make an element containing block for absolute/fixed positioned elements - https://github.com/w3c/csswg-drafts/issues/404
13:31SimonSapinfatal runtime error: out of memory
13:31SimonSapinon a 32 GB machin
13:31SimonSapinmachine
13:31SimonSapinwith 29G available
13:32est31lol
13:33SimonSapin&quot;Im gonna buy a lot more memory than I need just because I can, and this is my employers money&quot; -- Me, 3 months ago
13:35SimonSapineddyb: anyway, Im going to sleep. Feel free to try `./mach build` or `./mach cargo rustc -p script -- -- --unpretty=hir -Z unstable-options` in this branch https://github.com/servo/servo/tree/rustup
13:36SimonSapin(thats one -- for mach and one -- for cargo)
13:36gsneddersnox, jgraham: oh, the problem is there&#39;s a css directory in _mozilla?
13:36gsneddersnox, jgraham: oh god this is going to be horrible
13:36noxgsnedders: It&#39;s all fixed now.
13:36nox&quot;fixed&quot;
13:36noxAs in &quot;it can land&quot;.
13:37gsneddersoh, ok
13:37canaltinovaemilio: hm, isn&#39;t it layout related?
13:37gsneddersnox: how did you get rid of the MISSING-LINK lints?
13:37noxgsnedders: White-listed them in _mozilla.
13:37gsneddersnox: ah
13:38noxgsnedders: The only one I actually fixed was tests for which the ref was themselves
13:38noxthe rest I just white-listed.
13:41emiliocanaltinova: yes, though similar adjustments may be needed
13:41emiliocanaltinova: anyway let&#39;s not worry about it for now
13:41canaltinovaemilio: heh, ok :)
13:49noxjgraham, gsnedders: r? https://github.com/servo/servo/pull/16528
13:49crowbotPR #16528: Update web-platform-tests - https://github.com/servo/servo/pull/16528
13:49noxThe few first commits, the large one I guess you have to trust me.
13:56eddybnoooo
13:56eddybSimonSapin: I don&#39;t have 15GB of RAM :|
13:59eddybnox: want to do that lint thing?
14:00eddybI don&#39;t have a Servo build set up and last time I tried it was almost impossible to get everything working
14:00gsneddersnox: I&#39;m wondering how on earth to even review such a huge thing, given Reviewable can&#39;t cope :)
14:01est31eddyb: when was last time you tried?
14:01est31every time i tried, it went smoothly
14:01eddybest31: doesn&#39;t matter, it&#39;s always a pain
14:01eddyband it takes me at least an hour or two
14:02eddybest31: whereas someone who already has it can more easily find the problem enum
14:02eddybhmpf
14:02eddybit might not even be in the script crate
14:03est31eddyb: okay what do I need to do
14:03eddybest31: well, if you want to go the bruteforce way
14:03eddybactually, that&#39;s pointless
14:04eddybest31: so SimonSapin&#39;s branch is https://github.com/servo/servo/tree/rustup
14:05eddybest31: it might be helpful if you set RUST_LOG=rustc_trans::mir when compiling the script crate (assuming the nightly has logging enabled)
14:05est31ok
14:05eddybit might contain the name of the variant
14:05eddyb(we only care about the last handful of lines)
14:06est31so I&#39;ll just compile it and then change the script crate and then re-start the mach with RUST_LOG enabled
14:06eddybest31: oh don&#39;t worry about that the script crate won&#39;t compile
14:06eddyb(on that branch)
14:06eddybit causes this ICE https://github.com/rust-lang/rust/issues/41394
14:06est31ah yeah
14:06crowbotIssue #41394: ICE thread &#39;rustc&#39; panicked at &#39;index out of bounds: the len is 8 but the index is 18446744073709551615&#39; - https://github.com/rust-lang/rust/issues/41394
14:06est31yes
14:07est31my checkout was from february lol
14:07est31downloading lots of stuff, including some of mine yeey
14:07est31now its compiling
14:11est31man servo is big
14:14est31eddyb: SimonSapin strange, it seems osmesa-src build failed
14:14eddybest31: that&#39;s one of the things I was talking about
14:15eddybit&#39;s probably your system that&#39;s causing that?
14:15est31yeah
14:15est31guess so
14:15est31probably my llvm is too old
14:15est31or too new or w/e
14:15est31it complains about error: LLVMNoAliasAttribute undeclared (first use in this function)
14:16est31mhh maybe I&#39;m just missing a dep
14:16* est31 pastes the apt install command
14:16est31mmmm
14:16est31it seems to have installed nothing
14:17est31sad
14:18est31mhh
14:19est31ookay I got the ice
14:19est31despite the osmesa thing
14:21est31eddyb: seems bad news, apparently the nightly doesnt have logging enabled
14:21est31eddyb: or it didnt pass the variable on
14:21eddyb>_>
14:21eddybest31: no it&#39;d have to clear it for it to not be passed on
14:21est31for a given nightly, can you somehow find out whether it has logging enabled?
14:21eddybest31: easy :D
14:21eddybest31: compile anything with RUST_LOG=debug
14:22eddybest31: and see if it floods your terminal
14:23est31yes
14:23est31i do get stuff from rustc_metadata
14:23est31and rustc_middle
14:24est31rustc::middle
14:24est31lots of rustc_trans stuff
14:25est31eddyb: it still doesnt print anything when I pass RUST_LOG=rustc_trans::mir
14:26eddybest31: is it info or debug?
14:26est31?
14:26eddybest31: what do you see?
14:26eddybINFO? or DEBUG?
14:26est31only INFO
14:26eddybest31: yeah that&#39;s not debug logging
14:26est31:/
14:27eddybest31: although, what&#39;s the last rustc_trans INFO line?
14:27eddybit might be relevant :D
14:27est31INFO:rustc_trans::base: trans_instance(js::jsval::Int32Value)
14:27eddyboooooh that&#39;s very very very very useful!
14:27eddybthanks a lot <3
14:27est31:)
14:28est31gtg, to buy some stuff
14:31eddybhttps://github.com/servo/rust-mozjs/blob/master/src/jsval.rs#L111
14:31eddybso it&#39;s ValueTag::INT32
14:31eddybhttps://github.com/servo/rust-mozjs/blob/master/src/jsval.rs#L30
14:32eddybSimonSapin: ^^ so that fails to evaluate
14:38RonServo nightly exits as soon as I start it. I&#39;m on Windows 10 64-bit, Intel Core i5-4460 CPU 8.0GB RAM,Intel HD Graphics 4600
14:57canaltinovaemilio: oh, these changes made some reftests pass but also increased the fails to 24 from 1 in test_contain_formatting_context.htm https://treeherder.mozilla.org/#/jobs?repo=try&revision=8f266488a47ec4d2faa643747727792d9e7db423
15:03Manishearthemilio: heycam|away no, this bug was there before -- stuff was getting stuck and I used the force to unstick it but finally sshd and restarted homu with some state cleaned
15:03emiliocanaltinova: you need to use set_adjusted_display instead, presumably
15:03emiliocanaltinova: the writing_mode thing is weird, follow the pattern in the rest of display adjustments
15:03emiliocanaltinova: also, presumably keep the same order as Gecko
15:05canaltinovaemilio: I see. ok, thanks
15:07emilioest31: eddyb: The osmesa thing is known... I&#39;ve tried to update it (https://github.com/servo/servo/pull/14584), but the builders are never happy and I never prioritized it enough, I guess
15:07crowbotPR #14584: [DO NOT MERGE] Update osmesa. - https://github.com/servo/servo/pull/14584
15:07avadacatavrajack: ping
15:07emilioest31: eddyb: (It happens if you have a system LLVM >= 4.0)
15:17noxgsnedders: I would just review the first commits.
15:17noxeddyb: Still stuck?
15:17est31emilio: i see
15:21noxeddyb: How the hell do you take 2 hours to build Servo?
15:21noxThat seems not normal, and not something I would expect someone to say without even filing an issue to describe the pain?
15:21noxs/?/./
15:47eddybnox: hmm?
15:47eddybnox: I was doing something else
15:49noxeddyb: You said that Servo always took a very long time to set up on your machine,
15:49noxI&#39;m asking details about that.
15:49eddyboh
15:49eddybnox: I have to deal with many finnicky details
15:49eddybalso, it wouldn&#39;t be on my laptop because I&#39;ve had enough (literal) melting happening with it
15:51eddybnox: ughhh I can&#39;t repro :|
15:52eddyboh of course I can&#39;t!
15:52eddybnot on this branch
15:58noxWhat many finnicky details?
15:58noxCould you file an issue so we improve on that?
16:00jdmjack: re: http://logs.glob.uno/?c=mozilla%23servo#c652868 that&#39;s probably Range.getBoundingClientRec
16:02waffleshey jdm, https://github.com/Wafflespeanut/test-repo/issues/1#issuecomment-295313631 :)
16:02crowbotIssue #1: meh - https://github.com/Wafflespeanut/test-repo/issues/1
16:02jdmooh, what&#39;s the [bot]?
16:02jdmis that the integration?
16:02wafflesyep
16:02jdmnice
16:03noxjdm: r? the WPT bump?
16:03wafflesjdm, I&#39;m having a bunch of ideas to make it more *deadly*, will finish it by the end of this week I think
16:03jdmwaffles++
16:06noxjdm: Thanks!
16:06* jdm tries to figure out why https://dependencyci.com/github/servo/servo/builds/6023 says it&#39;s failing
16:08noxjdm: tests/wpt/web-platform-tests/css/requirements.txt 5 dependencies
16:08jdmaha
16:09jdmok, gonna go meet graydon for brunch
16:09jdmhave fun everyone!
16:16Manishearthfroydnj: https://treeherder.mozilla.org/#/jobs?repo=try&revision=9d169e791ab66934bcbd6ae5a741dc68622eba0d&selectedJob=92717988
16:16ManishearthI annotated the outparam, it still fails
16:16ManishearthError: Field write nsFont.style
16:16ManishearthLocation: _ZN10nsRuleNode17ComputeSystemFontEP6nsFontN7mozilla11LookAndFeel6FontIDEPK13nsPresContextPKS0_$void nsRuleNode::ComputeSystemFont(nsFont*, uint32, nsPresContext*, nsFont*) @ layout/style/nsRuleNode.cpp#3583
16:17ManishearthStack Trace:
16:17ManishearthGecko_nsFont_InitSystem @ layout/style/ServoBindings.cpp#1003 ### SafeArguments: <arg0>
16:18ManishearthI do do nsFont* system = new (aDest) nsFont(*defaultVariableFont);, not sure if th hazard analysis understands that
16:30* froydnj frustrated with not being able to view those gz files directly in the browser
16:30froydnjhttp servers are very capable of serving gzipped content and the browser understanding that >.<
16:37froydnjManishearth: um. not sure. it is entirely possible the analysis doesn&#39;t understand placement new properly
17:09noxcrowbot: tell jdm serde 1.0 is going to exist very soon, so I&#39;ll take care of removing serde from core-graphics at the same time.
17:09crowbotbe wary of the day when the bots revolt ;)
17:17Ron /?
17:18edunhamcrowbot: are you revolting?
17:24avadacatavraedunham: we need to give crowbot a response to that
17:36eddybnox: me having a hard time building Servo is something you can&#39;t really fix
17:36eddybnox: there are too many native dependencies, compiler plugins, etc.
17:36eddybI have to install a dozen packages and build stage2 and even then there&#39;s no guarantee it will work
17:36noxCompiler plugins aren&#39;t an issue given Servo embeds its own rustc.
17:37eddybnox: that&#39;s not the point
17:37eddybif I can&#39;t test Servo with my own rustc
17:37eddybthen I can&#39;t help that much
17:37eddybanyway I can&#39;t repro :|
17:37noxI see.
17:37eddybnox: do you know what arch SimonSapin is on?
17:38noxWhy are the native dependencies that much of an issue for you btw?
17:38noxeddyb: I don&#39;t know, but nothing fancy, AFAIR.
17:38eddybnox: I mean linux or OSX?
17:38noxLinux.
17:38eddybnox: because I run NixOS that&#39;s why
17:38eddybhmmm
17:38eddybI can&#39;t repro in isolation on latest nightly
17:44eddybnox: okay https://github.com/servo/rust-mozjs/blob/master/tests/vec_conversion.rs#L47-L48 should fail
17:44eddyblet me... try that... somehow
17:44eddybno I can&#39;t
17:44eddybest31: still here?
17:51canaltinovaManishearth: hey, what do you think of the test results in #16231 ? So many tests are passing but still there are some failing tests (&quot;failure pattern `-moz-transform` in this test - expected 284 failures but got 76&quot;) This was increased to 342 due to serialization bug, it reduced after it resolved but still not 0
17:51crowbotPR #16231: stylo: Implement -moz-transform property - https://github.com/servo/servo/pull/16231
17:52Manishearthcanaltinova: you&#39;ll have to look at the actu