mozilla :: #servo

13 May 2017
00:06heycamemilio: so the StyleIterator-not-finding-popup-frame-content issue is blocking my attribute/state dependency tracking bug?
00:06heycamemilio: are you looking at that iterator issue, should I take a look?
00:07heycamemilio: I am beginning to wonder whether fixing that will mean we don't need that explicit clearing I added :)
00:07emilioheycam: not totally sure it's blocking it, but all the assertions I debugged smell a lot like it.
00:08emilioheycam: I wasn't looking at it, stamped with a bunch of schoolwork :(
00:08heycamemilio: ok, no problem!
00:08emilioheycam: and yeah, that's what I tried to say while reviewing your patch :P
00:09heycamemilio: yeah. I didn't believe it at the time. but starting to now ;)
00:10emilioheycam: also, how possible does it sound to clear the servo data while tearing down the frame tree (and display: contents map)? Seems like an easy way to save that work entirely
00:11glandiumhuh, why is the full PR template in commit messages?
00:11heycamemilio: I remember there was some reason I didn't do that. (maybe I tried.) but I don't remember the reason now.
00:11heycamemilio: but yes it would be great, if we could avoid that extra traversal
00:13emilioglandium: there are a few related complaints, see
00:13crowbotIssue #36: Strip reviewable boilerplate from PR message when creating merge commit -
00:14emilioheycam: cool, I'm about to fall asleep now, but I'll file a bug tomorrow about that
00:14heycamemilio: ok, gnight!
00:15emilioheycam: also, if you want to steal reviews of the pseudo state stuff, please feel free to :P
00:15emilioheycam: have a nice day :)
00:25KWiersoheycam: got a link to the pseudo state stuff?
00:25KWiersokinda curious how an expectation update changed the number of failures showing
00:26heycamKWierso: the one that got backed out?
00:26firebotBug 1352306 NEW, stylo: track the attributes and state that a DependencySet is sensitive to, and use it to cull snaps
00:27heycamthough the pseudo state stuff mentioned just above is
00:27firebotBug 1364412 NEW, stylo: Support state selectors in pseudo-elements.
00:27KWiersoheycam: prior to landing, stylo failures looked like
00:27KWiersoafter it landed, looks like
00:30heycamKWierso: I don't know which bug that expectation update is for
00:30KWiersostarted from this servo merge
00:30KWiersoguessing ?
00:31heycamKWierso: ok yeah I guess so
00:32heycamKWierso: do you want me to just land an update there?
00:33KWiersosure, I'm not sure what the update would look like. from what I can see, the update that already landed should have fixed it :\
00:33heycamKWierso: "expected 6516 failures but got 8"
00:33KWiersobut the prior push had failures adding up to 6516
00:34KWiersothough maybe it counts lines failed, not the sum of all failures?
00:34KWiersooh, yeah, 6516 is a sum of different pixels, not the count of failures
00:35KWiersoso yeah, s/6516/8/ should do it :)
00:36heycamKWierso: ok, pushed
00:38bz_weekendAnyone around who understands the revalidate() stuff in
00:38bz_weekendbholley, emilio,: ^
00:39bz_weekendOr anyone else?
00:39heycamI haven't actually looked at the revalidation stuff yet
00:40* bz_weekend is getting assertion failures in there when implementing a new pseudo-class..
00:40emiliobz_weekend: sleepy, but here
00:43bz_weekendMaybe I just need to claim my pseudo needs cache revalidation...
00:44bz_weekendemilio: So I'm failing the assert at
00:44bz_weekendemilio: when I added :-moz-anonymous-content support
00:45bz_weekendemilio: Any idea where I should be poking at?
00:45emiliobz_weekend: so that means that we're trying to share style with an element that somehow gets different selector buckets in the rulehash
00:46bz_weekendSo my pseudoclass should trigger revalidation
00:46bz_weekendBecause by default non-state ones do
00:46bz_weekendThat seems correct
00:47bz_weekendI wish rustc were not producing code that confuses lldb
00:47bz_weekendin particular, inlining all this stuff in debug builds...
00:47emiliobz_weekend: which is weird because we check beforehand (see in, the function that checks for same classes, etc)
00:54bz_weekendemilio: I _really_ wish I could actually get my debugger to show me anything useful. :(
00:55bz_weekendemilio: It's just lying through its teeth
00:55bz_weekendOr rustc is, or both
00:55bz_weekend"XUL was compiled with optimization - stepping may behave oddly; variables may not be available."
00:55bz_weekendThis is an --enable-debug --disable-optimize build
00:55bz_weekendframe #5: 0x000000010bf799b5 XUL`std::panicking::rust_panic_with_hook + 437 at [opt]
00:55bz_weekendframe #6: 0x000000010b5e08c4 XUL`core::slice::{{impl}}::next_back<u8> [inlined] core::slice::{{impl}}::slice_offset<u8>(self=&quot;&quot;, i=4548608224) + 4612196 at
00:56bz_weekendframe #7: 0x000000010bb86fa2 XUL`parking_lot::rwlock::{{impl}}::deref_mut<std::collections::hash::map::HashMap<style::dom::OpaqueNode, collections::vec::Vec<style::animation::Animation>, std::collections::hash::map::RandomState>>(self=0x00007fff5fbf7e68) + 10535730 at
00:56bz_weekendBald-faced lies
00:56bz_weekendframe #8: 0x000000010bb8655f XUL`selectors::parser::{{impl}}::visit<style::gecko::selector_parser::SelectorImpl,style::stylist::RevalidationVisitor>(self=0x0000000125127b80, visitor=0x0000000125127800) + 10533039 at
00:56bz_weekendThis part is about right
00:56bz_weekend217 if !selector.visit(visitor) {
00:56bz_weekendBut this is _after_ we&#39;ve hit the assert failure there
00:57bz_weekendframe 11 says we&#39;re calling element.share_style_if_possible(context, &mut data)
00:57bz_weekendwhich is at least possible
00:59Manishearthstandups: font serialization (bug 1364286)
00:59standupsOk, submitted #46111 for
00:59firebot ASSIGNED, stylo: serialize system font correctly when some subprops have value specified
01:00bz_weekendemilio: Can I tell what the two elements involved are from examining the share_style_if_possible call?
01:01bz_weekendemilio: Or do I need to somehow convince my debugger to stop inside revalidate somehow?
01:01emiliobz_weekend: at least on gdb, printing an element yields something like GeckoElement(0xfoo)
01:02emiliobz_weekend: I usually do &quot;set lang c++&quot;, then &quot;(mozilla::dom::Element*)0xfoo&quot;
01:02bz_weekendI can print &quot;element&quot;
01:02bz_weekendIt&#39;s a div
01:02bz_weekendWhat I&#39;m not sure about is what it&#39;s trying to share with...
01:03emiliobz_weekend: On my phone, but the candidate should contain an element too
01:03bz_weekendBecause I can&#39;t get my debugger to even pretend like the insides of revalidate() exist. :(
01:03bz_weekendRight, but I can&#39;t get my debugger to stop in revalidate()... ;)
01:03* bz_weekend pokes some more
01:05bz_weekendMaybe I can cheat
01:05emiliobz_weekend: fair enough... I really really need to go to sleep now, but I hope you find it
01:05* emilio disappears for today
01:05emiliobz_weekend: have a good weekend :)
01:05bz_weekendemilio: Yeah, good night!
01:05bz_weekendemilio: And thanks for the reviews!
01:05* bz_weekend may put this off until Monday
01:07froydnjManishearth: sort of, now
01:10* bz_weekend wants to give up on this business of debugging non-debuggable code
01:13froydnjbz_weekend: going to stop working on gecko? ;)
01:13bz_weekendthis is so much worse
01:14bz_weekendAt least for Gecko in a debug build usually the debugger will let me break on a line
01:14bz_weekendor step through code
01:14bz_weekendor _something_
01:14bz_weekendIt&#39;s almost like rustc is still producing badly-debuggable opt code in a debug build. :(
01:16froydnjour debug builds do compile with -O1 for rustc unless you pass --disable-optimize...
01:17bz_weekendI pass that in, of course
01:17bz_weekendac_add_options --enable-debug=-gdwarf-2
01:17bz_weekendac_add_options --disable-optimize
01:18bz_weekendin my mozconfig
01:19bz_weekendAnd I did check that I&#39;m not on the wrong thread or anything
01:19bz_weekendbut everything on the stack below traversal::compute_style is a lie
01:20bz_weekendframe #4: 0x000000010b251423 XUL`style::traversal::compute_style<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly>(_traversal=0x00007fff5fbfb428, traversal_data=0x00007fff5fbfaf40, context=0x00007fff5fbfabd8, element=GeckoElement @ 0x00007fff5fbfa428, data=0x00007fff5fbfabc8) + 243 at
01:20bz_weekendcalls element.share_style_if_possible(context, &mut data)
01:20bz_weekendBut frame 3 is.....
01:20bz_weekendframe #3: 0x000000010baae4e3 XUL`unicode_segmentation::grapheme::{{impl}}::next(self=0x0000000000000000) + 10555635 at
01:20bz_weekendyeah, I don&#39;t think so
01:20* bz_weekend should just give up until Monday, then try this with rr or something
03:43Manishearthfroydnj: wanted to know how to do the rust-in-debug-but-gecko-in-release build
04:13jryansManishearth: something like (adapted from what i use)
04:24Manishearthah nice
04:24jryansManishearth: but i guess if you want rust&#39;s _optimization_ disabled also, that&#39;s more complex
04:25jryans(since it&#39;s currently opt-level=1)
07:29cynicaldevilmib_7u6mjn: Hey there!
07:29mib_7u6mjnCan any make extension or this GUI please?
07:31noxmib_7u6mjn: What do you mean?
07:31mib_7u6mjnnew GUI
07:32mib_7u6mjnwitout tabs and bookmarks
07:32mib_7u6mjnand many windows
07:40mib_7u6mjnScroll bars: Dropleft/up.
07:40mib_7u6mjnpublic domain
07:46mib_7u6mjnfinal version
07:56mib_7u6mjnNew GUI for Servo
09:29mib_2swby9New GUI
09:31paulmib_2swby9: you should suggest these here:
09:33paulmib_2swby9: or drop by slack: <- these are the people working on the UI
09:33noxManishearth: Started looking at, damn them dragons.
10:12mib_2swby9ServoBrowser will have a classic GUI?
10:34noxmib_2swby9: See browser.html for details.
10:34noxDamn inner types are so nice for ad-hoc parsing specific stuff.
10:48paulIs using `FnvHasher` supposed to change the behavior of a hashmap? Or just impact the performance?
10:49travis-ciServo failed to build with Rust nightly: CC nox, SimonSapin
10:51noxpaul: What do you mean by behaviour?
10:51noxSimonSapin: Didn&#39;t you fix that?
10:52paulnox: with FnvHasher, the hashmap tells me a key is already in. I&#39;m under the impression that FnvHasher will find 2 keys to have the same hash
10:53noxpaul: AFAIK hash maps check for actual key contents if the two hashes are equal.
10:53paulnox: I didn&#39;t even know that we could have a custom hash function until 5 minutes ago.
10:53paulnox: but this assert:
10:54nox(Lol == false)
10:54paulnox: the result changes if I don&#39;t use FnvHasher.
10:54noxpaul: Checking HashMap&#39;s code right now.
10:55paulnox: for some reason, the issue only happens when I use 2 instances of WebRender (not sure if that helps or not)
10:55noxSo AFAIK, the issue isn&#39;t FnvHasher.
10:55noxMaybe you just found a race condition somewhere?
10:57paulyes, maybe
10:57paulnox: thanks.
10:57noxpaul: Happy to help.
11:01mib_2swby9new GUI final vers
11:05paulmib_2swby9: The slack channel is better for this.
11:06mib_2swby95 users yes
11:18mib_2swby9added configurations
11:20noxManishearth: What specifies that a NumberOrPercentage cannot be negative?
11:21noxNothing right? I need one that can be negative so I&#39;ll just rename that thing I guess.
11:30mib_2swby9Fixed bug Bye friends.
13:24SimonSapinnox: r? ^
13:29SimonSapinnox: just pushed some README additions, re-r? (sorry :))
15:02* larsberg is deploying an updated github key to get doc builds working again
15:55noxSo many warnings when building gecko on my machine.
16:12noxManishearth, SimonSapin: What ./mach try incantation do you use?
16:13marti_dtolnay there??
16:14marti_dob == dtolnay
16:15SimonSapinnox: I have this in my shell history
16:15SimonSapinmach try -b do -f -p linux64-stylo -u all -t none
16:35marti_dtolnay there ?
16:36noxSimonSapin: Do you sometimes need to take Servo patches and apply them in Gecko?
16:37crowbotIssue #308: Add examples to `ParseOptions` -
16:37SimonSapinnox: yes, pipe git diff into patch
16:37SimonSapinit sucks, but I dont know a better way
16:37noxSimonSapin: servo $ git format-patch -o ../gecko/patches master
16:37noxgecko $ git am --directory=servo -p 1 patches/*
18:26pyfisch_Is Wikipedia still displayed for everyone without CSS or is it just me?
18:39est31for me as well
18:45pyfisch_maybe it is this issue #16049
18:45crowbotIssue #16049: Wikipedia rendering regression -
18:55Manishearthnox: ./mach try -b d -p linux64-stylo -u all -t none
18:55Manishearthyou can do -b do if you want debug and opt
18:56Manishearthyou can do -p linux64,linux64-stylo if you want nostylo tests
18:56Manishearth-u all means &quot;run all tests&quot;. sometimes i do -u reftest-stylo if i don&#39;t need mochitests
19:06noxManishearth: Had to change my SSH key because I couldn&#39;t remember the passphrase hah.
19:07noxManishearth: Ah, TIL -stylo.
19:08noxManishearth: o//
19:09noxSeems I didn&#39;t check enough things in TryChooser though.
19:09Manishearthnox: why so complicated?
19:09Manishearth-u all is all you want
19:09Manishearthwe don&#39;t even run wpt on stylo
19:10noxManishearth: Well, &#39;all&#39; doesn&#39;t sound like it doesn&#39;t run everything if you select stylo.
19:10noxSo I tried to check less things.
19:11Manishearthnox: stylo doesn&#39;t know how to run everything
19:11Manishearth-u all will run everything it can rul
19:11Manishearth-u web-platform-tests will do nothing
19:12Manishearthyes we should enable that
19:12noxjgraham: Yeah that&#39;s why I checked it, that&#39;s not something I expected. :)
20:03noxManishearth: \o/
20:03noxFixed the few failures, forgot to accept 0 for the angle in linear gradients.
20:53bradwerthmanishearth: my last PR failed a homu test . What should I be able to glean from that report that will help me fix the PR?
20:55hiro@bradwerth yeah, you should just say @bors-servo r=heycam again.
20:56bradwerthhiro: thanks. Does that mean the failed test was a false result? Just try again?
20:56hiro@bradwerth without the your PR, my PR will be broken. The binding change has included in my PR
20:57hiro@bradwerth I think the failure is not your fault. It&#39;s some kind of infra error or something.
20:57bradwerthhiro: okay, I have put the r=heycam comment in the PR and it&#39;s awaiting-merge again.
21:01bradwerthhiro: I&#39;ll check again in a few hours to see if it merged successfully
21:02hirobradwerth: I will see the result too because there is another my PR.
21:05Manishearthbradwerth: seems like an infra failure
21:05Manishearthbradwerth: @bors-servo retry
21:10* nox does another try with moar fixes.
21:12noxI need to streamline my git-am stuff a bit more.
21:32emiliojryans: took a look at the first :visited patch, and got a few questions. I&#39;m not sure if I should keep looking at the rest? (apart from an overview, which I&#39;ve already done :))
21:33Manishearthnox: free git alias
21:33Manishearthfps = &quot;!sh -c &#39;git format-patch $@ --relative=servo servo&#39; -&quot;
21:33Manishearthgit fps @^^ will create patches for the last two commits excluding gecko parts
21:33noxOpposite direction.
21:33Manishearthyou can then git am /path/to/*.patch
21:34noxI meant streamlining format-patch on side + am on the other, I know the commands.
21:34Manishearthcd servo && </path/to/patch.patch patch -p1
21:37noxManishearth: Am doing the opposite. git format-patch master in servo and git am --directory=servo -p 1 in gecko.
21:47canaltinovaManishearth: hey, are you here for a while? :) I need a coordinated landing
21:53canaltinovawell, or anyone who can push to m-c?
22:04emiliocanaltinova: I am
22:04emiliocanaltinova: for a little bit only though
22:05* emilio thought canaltinova had gotten L3?
22:07noxemilio: What&#39;s the argument to pass to ./mach mochitest to honour the expectations in
22:07emilionox: no idea :/
22:07canaltinovaemilio: great, I&#39;m r+ing the pr, please let me know or just r- if you need to go :)
22:07emilionox: --filter-failures?
22:08canaltinovaemilio: Not yet btw, I filed a bug and waiting to get :)
22:09emilionox: should work
22:09noxWith the full path right?
22:13canaltinovanox: no, afaik. you need to set it as emilio wrote
22:18emiliocanaltinova: which pr is it?
22:18canaltinovaemilio: #16819
22:18crowbotPR #16819: stylo: Propagate quirks mode information from Gecko to Servo -
22:19canaltinovaemilio: bugzilla bug is on the pr also
22:40emiliocanaltinova: sorry, need to run :(
22:40emiliocanaltinova: will land it tomorrow morning if I remember about it
22:41canaltinovaemilio: np
22:41canaltinovaemilio: okay, thanks
22:41emiliocanaltinova: I left a nit there, if you could address it, that&#39;d be lovely too :)
22:42canaltinovaemilio: sure
22:43canaltinovaemilio: there are also some other pub fields in this struct. Maybe we can make the others E-easy?
22:44emiliocanaltinova: yeah, that&#39;d be nice :)
22:44emiliocanaltinova: and thanks!
22:44canaltinovaemilio: great! np :)
22:48bradwerthhiro: my PR went through. I hope yours goes well
22:52hirobradwerth: yeah, I hope your PR gets merged into mozilla-central at the same time of merging your mozilla side changes.
23:02bradwerthhiro: my mozilla side changes already went to autoland -- which was an error. They may integrate just fine because they don&#39;t depend on the servo changes to compile and pass tests.
23:04hirobradwerth: yeah, but if someone try to get bindings files from a try based on the revision which has your mozilla side change but not your servo side change, the binding files may conflict when sending PR.
23:04hirobradwerth: just like me. ;-)
23:27hirohomu is stuck again?
14 May 2017
No messages
Last message: 9 days and 4 hours ago