mozilla :: #servo

14 Mar 2017
00:14Manishearthemilio: there?
00:15Manishearthemilio: nvm
00:21xidorntype definition are not hygiene in macro?
00:23Manishearthnope
00:23Manishearthvariable idents
00:24xidornthen I guess concat_ident really makes sense...
00:24xidornI wonder why doesn't rust stablize it :/
00:24Manishearthbecause it sucks
00:24Manishearthconcat_idents is totally broken
00:25Manishearthit can't be used in many contexts
00:25xidorndoesn't work as expected even with non-hygiene things?
00:25Manishearthnothing to do with hygiene
00:25xidornok...
00:25Manishearthit works as expected for things, where it's allowed to be used
00:26Manishearthbut you can't do `fn concat_idents!(foo, $bar)(..) -> ..` for example
00:26xidornso where isn't it allowed to be used?
00:26Manishearthmost places where you'd see an ident
00:26Manishearthit can be used in expressions and types
00:27Manishearthsubset of type positions
00:27Manishearthyou rarely need it theer
00:27xidornok
00:28xidornManishearth: is there a way to define a hygiene type alias inside a macro
00:28xidornthat says a type alias usable only inside the macro
00:30Manishearthnope
00:30Manishearthwell
00:30Manishearthuse a scope
00:30Manishearthlike within a static
00:30Manishearththat could work
00:30Manishearthor a function
00:30* Manishearth gtg
00:31xidorndoesn't work for types in top-level function signature
00:31xidornbut... well, I can use mod to wrap, probably
00:31xidornoh, wait, rust doesn't have anonymous mod...
00:50* jntrnr is never sure which of gtg and g2g is "good to go" or "got to go"
00:52KiChjangjntrnr, if you play games like SC then it's more often than not the latter
00:52KiChjang"good to go" is usually lgtm instead
00:58projektirYeah, g2g in a game would definitely be "gotta go" to me.
01:00stshinein firefox the initial value of 'min-witdh' of a flex item is '-moz-content'. wat?
01:12dmajoris anybody familiar with bindgen? xidorn?
01:13xidorndmajor: what's up?
01:13dmajorxidorn: I got a panic in bindgen/src/ir/ty.rs while trying to build servo with asan on windows
01:13dmajorer, stylo
01:13xidornasan...
01:14xidorndmajor: what setup do you have to build with asan?
01:14xidornand what panic is it?
01:16dmajorxidorn: it's my usual clang-cl asan setup plus --enable-stylo
01:16dmajorxidorn: https://bugzilla.mozilla.org/show_bug.cgi?id=1336013#c4
01:16firebotBug 1336013 NEW, nobody@mozilla.org make ASAN builds work
01:17xidorndmajor: maybe clang-cl affects the clang bindgen uses?
01:18dmajorI don't understand why this would be different when heycam was able to build asan on linux
01:19xidorndmajor: do you have a separate llvm installation?
01:19dmajorxidorn: yes, I built my own clang-cl
01:20xidorndmajor: have you setup "--with-libclang-path" and "--with-clang-path" in mozconfig?
01:20dmajorxidorn: no, I've never heard of those options or needed them before
01:21xidornoh, you build that yourself
01:21xidornit may work without those options then
01:21xidornofficial binary doesn't include llvm-config, but self-build ones have
01:22xidorndmajor: what clang version are you using?
01:22dmajorxidorn: trunk pulled today
01:22jntrnrnot sure if it's relevant but llvm just bumped, and I presume clang did also?
01:25dmajorbumped?
01:25xidornjntrnr: trunk has bumped weeks ago
01:25dmajoryou mean versions? trunk has been on 5.0.0 for some time
01:26xidorndmajor: probably something broken in bindgen with the latest clang...
01:26xidorndmajor: we don't have ci task to ensure everything works among llvm versions so...
01:26dmajorxidorn: but I'm not using trunk clang to build rust stuff, I thought
01:27dmajordoes it not just use whatever my rustup has?
01:27xidorndmajor: bindgen uses libclang
01:27xidornwhich is a runtime lib from llvm
01:27dmajorxidorn: how would it know about my libclang?
01:28xidorndmajor: presumably via llvm-config
01:28dmajorxidorn: you are speaking words I don't understand :-)
01:29xidornI think there is some mechanism inside build system to detect llvm, and pass in paths of libclang and clang.exe
01:29dmajorwell that completely invalidates my mental model of the build
01:29xidornI'm not exactly sure how that works... if you have llvm-config executable in your PATH, that probably works
01:30xidorndmajor: maybe you want to have another separate llvm official install and explicit set them via
01:30xidornac_add_options --with-libclang-path="C:/Program\ Files/LLVM/lib"
01:30xidornac_add_options --with-clang-path="C:/Program\ Files/LLVM/bin/clang.exe"
01:30dmajorI don't have the time, energy, or desire to deal with this
01:34bholleyhttps://bugzilla.mozilla.org/buglist.cgi?j_top=OR&f1=short_desc&o1=anywords&resolution=---&o2=anywords&query_format=advanced&f2=status_whiteboard&v1=stylo%3A&list_id=13486973
02:13dbaronxidorn: https://hg.mozilla.org/integration/mozilla-inbound/rev/0819cd293127 clarifies the reftest documentation a little
02:22xidorndbaron: so what does "skip-if(stylo) fails-if(stylo) ==" mean? is it supposed to be skip or fail?
02:23dbaronxidorn: fail
02:23xidornthat doesn't match what I understand from the text...
02:23dbaronxidorn: but:
02:23dbaronskip-if(stylo) include subdir/reftest.list
02:23dbaron# in subdir/reftest.list
02:23dbaronfails-if(stylo) == foo foo-ref
02:24dbaron(if you said something in the last 30 seconds, I missed it)
02:26dbaronoh, but I guess my last line got lost
02:26dbaronwhich was:
02:26dbaronmeans skip
02:26dbaronxidorn: ^
02:27* dbaron goes away to prepare dinner
02:27* xidorn just backed from lunch
02:28xidorndbaron: oh, I see, the failure type on a manifest
02:29xidornso the rule for manifest and test items are different...
02:29dbaronxidorn: the rule for combining within a line is different from the rule for combining different lines
02:30xidorndbaron: I probably just read too fast and skip to the last few lines directly when I read that
03:44dmajorxidorn: do I need to worry about this failure? https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=cf4273d3ac30ee8e9320ef1f70a6fd097ef3c7b8&group_state=expanded
03:45xidorndmajor: yes... let me have a look
03:45xidorndmajor: and, we probably need to land servo side of your nsAString change before you land the gecko side
03:45xidornbecause servo side takes ~1h to go through the CI
03:46dmajorxidorn: I'm guessing it's from part 3 where I moved incompatible_char_type
03:46dmajorxidorn: sorry, since this one is very different from my AString change, I didn't think it would cause issues
03:47xidorndmajor: could you back out that for now?
03:47dmajorxidorn: is that necessary given that this build is tier2?
03:47* xidorn finds it pretty hard to locate actual error from the log :/
03:48xidorndmajor: somehow yes
03:48dmajor?
03:49dmajorwe really need a smoother process for this. having to land in two repos is not cool.
04:01globdmajor: agreed - it's something we're working on
04:03globdmajor: https://drive.google.com/open?id=0B3xQ4Y3F-dwQV3NKRVQ5ZDUycEU (WIP)
04:51xidornit is especially sad that sometimes we need to work with gecko's autoland and servo's master :/
04:55xidornManishearth: ping
04:56xidornhmmm... no other stylo people here at the moment?
04:58xidornanyone r? #15935
04:58crowbotPR #15935: Binding update - https://github.com/servo/servo/pull/15935
04:58xidornpreferably with p=10
04:58xidorn(although there doesn't seem to be anything in queue at the moment, so probably doesn't matter)
04:59xidorndmajor: I think, with #15935 landed, you can land you nsAString change without further change to servo side
04:59crowbotPR #15935: Binding update - https://github.com/servo/servo/pull/15935
05:00dmajorxidorn: do I need to wait for that to merge?
05:00wafflesxidorn, there's no PR in queue - we don't need priority I guess
05:00xidornwaffles: what's the generic exception?
05:00xidornwaffles: anyway, thanks!
05:00xidorndmajor: yes
05:01xidorndmajor: that would take... ~1hr if everything goes well
05:01wafflesxidorn, \_()_/
05:01dmajorxidorn: what indication should I look for?
05:01wafflesxidorn, no problem :)
05:01xidorndmajor: you will see this gets landed in autoland
05:02dmajorxidorn: neat! okay, I'll keep an eye out
05:02xidorndmajor: sorry about the inconvenience
05:03dmajorxidorn: same for me, thanks for doing the stylo side
05:12bzWell, you could directly reference nsIDocument::whatever
05:12bzer, wrong window
05:51Manishearthxidorn pomg
05:52xidornManishearth: nvm, waffles approves that pr
05:52xidornManishearth: you may want to double-check #15935
05:52crowbotPR #15935: Binding update - https://github.com/servo/servo/pull/15935
06:26bholleyxidorn: do you want bug 1347053, or should I assign to boris?
06:26firebothttps://bugzil.la/1347053 NEW, nobody@mozilla.org stylo: division by zero in set_transition_delay when share profile from gecko profiler
06:27bholleyxidorn: I know you've got a lot on your plate
06:27boris:)
06:27xidornbholley: if boris is fine to work on that
06:28borisok, let me check it.
06:28bholleyboris: that ok with you? I know you said some of your other stuff was blocked
06:28bholleyboris: great! Thanks
06:28xidornboris: thanks
06:28borisThanks, all.
06:28xidornboris: I think you may need to have a look at the parsing code of transition related properties
06:28borisok
06:28xidornboris: I'm not completely sure what we should do there. the spec says none in transition means empty list
06:29xidornboris: while none in animation means a single item called "none"...
06:29borishmmm
06:29borisxidorn: ok, I need to double check it
06:30xidornboris: anyway, if you have any question, I'm happy to help
06:30borisxidorn: good. thanks a lot!
06:30borisxidorn: ask you later :)
06:40heycamanyone know where Manishearth's summary of unimplemented stylo properties lives?
06:41shinglyuManishearth: ping. What are you planning to talk at RustFest.eu
06:41Manishearthshinglyu: unclear
06:41Manishearthshinglyu: contribution models, FFI, or unicode
06:42xidornheycam: you mean https://manishearth.github.io/css-properties-list/ ?
06:42Manishearthyeah
06:42Manishearth I need to update that btw
06:42heycamxidorn: yes, thanks
06:42heycamManishearth: is that just quick script run?
06:42heycamManishearth: or do you need to edit it manually
06:42Manishearthheycam: some manual steps
06:43* heycam is just looking for some good-first-bugs to give to CJ and TY
06:43shinglyuManishearth: Sounds nice~
06:46xidornheycam: probably implementing shape-outside parsing and serialization in servo side would be a good one for TY
06:47xidornwe have ~130 mochitest failures from that, and I... don't think I ever filed bug for that
06:53shinglyuManishearth: BTW, do you know rustfest has a workshop day or not?
06:54Manishearthshinglyu: i don't think so
06:54Manishearthask hoverbear
06:57heycamxidorn: yes that sounds good
07:03heycamxidorn: ah looks like bobby has selected some good first bugs already
07:04xidornheycam: I see
08:53noxjack, edunham: I have a few questions about buildbot when you are available, please ping back.
09:06noxManishearth, avadacatavra: Can we get some progress on https://github.com/servo/servo/pull/15106?
09:06crowbotPR #15106: Update cert-generator and certs - https://github.com/servo/servo/pull/15106
09:28boriscpeterson: the meeting time next week is still "delay one hour", right? (so 9:30 am Tapei time, UTC+8)
10:51wafflesnox, oh, you were reviewing, I didn't see that comment until I got an email and refreshed the page
11:06wafflesnox, who was mentioned in #15847 ?
11:06crowbotPR #15847: Remove link to servo from treeherder job detail to reduce noise - https://github.com/servo/servo/pull/15847
11:06noxwaffles: wlach?
11:06wafflesah
11:12wafflesnox, can we add a tidy check for stuff like &Arc<T>, &Box<T>, etc.?
11:12wafflesthey can always be deref&#39;ed right?
11:12wafflesany cases they don&#39;t work?
11:13wafflescc Ms2ger
11:14Ms2gerYou may want an &Arc<T> if you are occasionally cloning the Arc
11:15wafflesMs2ger, right, but we can just do arc.clone() and pass it as a value, right?
11:16Ms2gerYou can, but the refcount bump may be unnecessary overhead in the common case
11:16wafflesoh wait, yeah, damn
11:16wafflesclone refcounts
11:17wafflesmeh, then it&#39;d be a manual cleanup (sigh)
12:42noxSimonSapin: Can you rebase https://github.com/servo/html5ever/pull/253?
12:42crowbotPR #253: Remove incorrect `unsafe impl Send for Token { }` - https://github.com/servo/html5ever/pull/253
12:42noxSimonSapin: Trying to land form owner.
12:43SimonSapinis form owner a breaking change?
12:43noxSimonSapin: Yes.
12:43noxSimonSapin: Because TreeBuilderActions is public.
12:43SimonSapinok
12:43noxAh wait no,
12:43noxthe module it&#39;s in is private.
12:44noxSimonSapin: Breaking change anyway, it adds stuff to the sink trait.
12:45SimonSapineh, the conflict was in the version number
12:47noxSimonSapin: Did you check if Servo builds without that impl?
12:47noxSimonSapin: Also, can you revert the version number change? Will put it in my own PR.
12:50SimonSapinI did not
12:51SimonSapinDone. (Version number)
12:51noxSimonSapin: Thanks.
13:00* stshine remembers why he doesn&#39;t like keywords on min,max-size
13:06noxeddyb: &quot;wallpaper-ish&quot;?
13:06noxErr,
13:06noxemilio*
13:13noxMs2ger: mfw https://github.com/servo/servo/pulls/assigned/nox
13:13noxajeffrey: You back? Good, I reviewed document.domain.
13:14ajeffreynox: thanks!
13:14* ajeffrey is wading through a backlog of email
13:14noxajeffrey: &quot;Mark all as read&quot;
13:52skHi guys, I would love to contribute CSS Layout Bug Squasher. Is there any issues available for fixing ?
14:07SimonSapinnox: I ended up with SharedRwLock and Locked<T> types
14:37stshinesk: there are quite a lot layout issues in repo, but sadly easy ones is rare...
14:39skstshine: @ I would like to give a shot on hard ones. My early days with rust. But a web developer, So I can give a shot. ( with a little bit or mentoring of course)
14:41Manishearthheycam|away: could you have a quick look at the latest version of the first patch in the content bug?
14:43Manishearthnox: meh, like that can be merged as-is, but #security is incredibly unresponsive
14:45noxManishearth: How so?
14:49* stshine tries to look for an easy layout bug ...
14:49Manishearthnox: I don&#39;t have the time nor the expertise to debug that, and I haven&#39;t been able to get answers to my questions
14:49noxDid you ping specific persons?
14:50noxjack: Can we have #security people answering to our questions, or should we YOLO sec patches?
14:51stshinesk: The bugs related to how an element is layouted to screen is quite subtle by the nature of CSS, and even the most experienced developer needs to do a exploration to identify what happens
14:51stshinesk: that said, you may like to take a look at #12413
14:51crowbotIssue #12413: Margin defined in % is not applied on inline-block element - https://github.com/servo/servo/issues/12413
14:52stshinesk: It *looks* relatively easy to me, but I can&#39;t assure that ...
14:53Manishearthnox: idk who to ping
14:53Manishearthnox: and at this point I don&#39;t care
14:54Manishearthferjm: isn&#39;t LE part of the trust store now?
14:57ferjmManishearth, I think only the DST Root CA X3 is. But I am really not sure
14:57jackManishearth: aren&#39;t you in an office? can&#39;t you just go harass them in person?
14:58jackManishearth: please ping selena via email and cc me.
14:58jacknox: what are your buildbot questions?
14:58noxjack: So, I think the 4th Mac builder is broken for mac-rel-unit,
14:59Manishearthjack: I don&#39;t actually know any sec folks in the office.
14:59Manishearthjack: anyway.
14:59Manishearthjack: I&#39;ll poke at it again today
14:59noxjack: and I don&#39;t know who to ping to restart the Windows builder I shut down.
15:00Manishearthjack: nox oh, looks like ferjm is right
15:00ManishearthLE is still not in the trust store, even in nightly
15:00Manishearthhuh
15:00bz_sleepDoes someone know offhand where the stylo equivalent of http://searchfox.org/mozilla-central/rev/a5c2b278897272497e14a8481513fee34bbc7e2c/layout/style/nsStyleContext.cpp#767 lives?
15:09stshinebz_sleep: I think it is https://github.com/servo/servo/blob/master/components/style/stylist.rs#L295
15:12bz_sleepstshine: That only applies to pseudos...
15:12bz_sleepstshine: The function I linked to is run for all styles in Gecko (though it has some branches based on pseudo)
15:13bz_sleepstshine: Also, text doesn&#39;t pass through this, right?
15:13bz_sleepstshine: (some of the fixups happen for text styles only)
15:14stshinebz_sleep: well, originally there are a bunch of modify_style* function here: https://github.com/servo/servo/blob/master/components/style/properties/properties.mako.rs#L2158
15:16stshinebz_sleep: pcwalton suggested to convert them to peseudo classes
15:16stshinebz_sleep: but currently only some of them are converted
15:16bz_sleepmmm
15:17* bz_sleep is getting the impression that the real answer is &quot;there is no equivalent; it&#39;s just broken right now&quot; for most of the stuff in that function
15:17stshinebz_sleep: you may take a look at #8570 for more detail
15:17crowbotIssue #8570: Consider using fake pseudo-elements for anonymous box styling instead of modify_style_for_foo functions - https://github.com/servo/servo/issues/8570
15:17bzYup, thanks.
15:18bzemilio: ping
15:18stshinebz: no problem
15:18bzemilio: Do you know offhand whether display:contents landed in Blink?
15:21canaltinovanox: hi! sorry I couldn&#39;t look at the form owner earlier. In response to your comment in h5e pr, I couldn&#39;t find a way to do it actually. In insert_element method, we had to add some additional lines between these methods for form owner. Are you trying to land it?
15:21noxcanaltinova: Sorry forgot to comment again.
15:21noxcanaltinova: I agree that there is no other way than to split the two in h5e.
15:21noxcanaltinova: Yes, trying to land it.
15:21noxcanaltinova: Also, we reviewed your PR way too late, so don&#39;t be sorry.
15:23canaltinovanox: no problem, It&#39;s a bit tedious to review I guess :)
15:34jacknox: always me i suppose :)
15:34jackyou seem to restart builders a lot
15:35canaltinovabz: ping
15:35jackwhich builder?
15:36noxjack: Let me see.
15:38noxjack: http://build.servo.org/builders/mac-dev-unit/builds/6128
15:38bzcanaltinova: ack
15:39noxjack: http://build.servo.org/buildslaves/servo-windows2
15:40canaltinovabz: hi, sorry about -moz-fixed. I remember that I tried with both specified and computed style for this value, but clearly I did it the wrong way.
15:40bzcanaltinova: it&#39;s not a problem.
15:40canaltinovabz: I generally try to imitate the code in nsRuleNode.cpp for gecko glue. In nsRuleNode, I couldn&#39;t find -moz-fixed related code(http://searchfox.org/mozilla-central/rev/a5c2b278897272497e14a8481513fee34bbc7e2c/layout/style/nsRuleNode.cpp#3654-3707)
15:41canaltinovaso I don&#39;t think the glue is wrong here: https://dxr.mozilla.org/servo/rev/f90e19f7055387a14cabdf11f77335c7763e3fb7/components/style/properties/gecko.mako.rs#1186
15:41bzcanaltinova: I just wish I could help you more; my problem is that I totally don&#39;t understand the Gecko setup....
15:41canaltinovabz: But the serialization should be opposite.
15:42canaltinovabz: I can&#39;t say that I understand it completely too, but I don&#39;t think I have to for gecko glue :)
15:42bzcanaltinova: That&#39;s ... unfortunately unclear. :(
15:42bzcanaltinova: let me check something.
15:43canaltinovabz: okay
15:44bzcanaltinova: So first of all, Gecko doesn&#39;t always call SetFont
15:44bzhttp://searchfox.org/mozilla-central/rev/a5c2b278897272497e14a8481513fee34bbc7e2c/layout/style/nsRuleNode.cpp#4393-4405
15:45bzcanaltinova: nsRuleNode::ComputeFontData is the entry point for &quot;figure out the font struct&quot;
15:45bzcanaltinova: and in the case when the family has a generic, we take the totally separate nsRuleNode::SetGenericFont codepath
15:46bz(Which may itself call SetFont, which is why SetFont has some things to handle generics too)
15:46bzI can give you a specific example of a testcase where this matters
15:47canaltinovabz: ooh
15:47canaltinovait would be wanderful
15:47bzUnfortunately, stylo makes it rather hard to test this stuff, because it fails even the most basic testcase around it, much less the interesting one
15:47bzSo consider the following testcases:
15:47bzdata:text/html,<div style=&quot;font-family: monospace&quot;>text</div>
15:48bzdata:text/html,<div style=&quot;font-family: serif&quot;>text</div>
15:48bzactually, even clearer...
15:48noxajeffrey: Please don&#39;t tell me &quot;Done&quot; separately for every change I requested. :P
15:49bzdata:text/html,<div id=&quot;x&quot; style=&quot;font-family: monospace&quot;>text</div><script>document.writeln(getComputedStyle(x).fontSize)</script>
15:49bzAnd the same thing with &quot;serif&quot;
15:49ajeffreynox: hmm, github&#39;s UI isn&#39;t great for this is it?
15:50ajeffreyyou can batch up reviews, but not replies to review comments.
15:50bzcanaltinova: A default Firefox profile will show &quot;13px&quot; for monospace and &quot;16px&quot; for serif
15:50noxajeffrey: You can.
15:50canaltinovabz: yeah, monospace and serif are different. But monospace and -moz-fixed looks same
15:50noxajeffrey: You reply to the review with another review on the diff page.
15:50bzhold on
15:50bzNow the interesting testcase:
15:50bzdata:text/html,<div style=&quot;font-family: serif&quot;><<div id=&quot;x&quot; style=&quot;font-family: monospace&quot;>text</div><script>document.writeln(getComputedStyle(x).fontSize)</script>
15:50ajeffreynox: well done github for hiding that functionality so well.
15:51bzer....
15:51bzdata:text/html,<div style=&quot;font-family: serif&quot;><div id=&quot;x&quot; style=&quot;font-family: monospace&quot;>text</div><script>document.writeln(getComputedStyle(x).fontSize)</script>
15:51bzWhy is the font-size of that inner div &quot;13px&quot;?
15:51bzfont-size inherits, and the font-size of the parent is clearly 16px....
15:51bzThe answer is &quot;weird stuff happens for generics&quot;.
15:52bzThat&#39;s the SetGenericFont thing
15:52canaltinovabz: oh, interesting
15:52bznote that this is required for web compat
15:52bze.g. data:text/html,<div style=&quot;font-family: serif&quot;><div id=&quot;x&quot; style=&quot;font-family: monospace&quot;>text</div><script>document.writeln(getComputedStyle(x).fontSize)</script> shows &quot;13px&quot; in Chrome too; this is not just Firefox. ;)
15:52gsneddersI presume this is totally unspecified
15:52jackservo-windows2 cleaned and restarted. will poke at mac in a bit
15:53bzgsnedders: um... I have no idea
15:53noxbz: You scared me I thought this was about document.writeln.
15:53* bz assumes anything to do with CSS is more or less unspecified
15:53bznox: it&#39;s worse, much worse....
15:53noxbz: But it&#39;s not my business YAY
15:53gsneddersbz: pretty sure it is. *so weird*
15:53bzcanaltinova: So ok, monospace vs -moz-fixed.... the comments suggest they can have different default sizes specified
15:54canaltinovanox: :)
15:54bzcanaltinova: let me check something
15:54canaltinovabz: hm, stylo is showing 16px instead of 13px right now
15:55gsneddersbz: Edge gives 16px
15:55bzyes, stylo is broken
15:55bzgsnedders: interesting. Note that this is typically pref-controlled, btw.
15:55bzstylo has no concept of different default font size for different generics
15:56gsneddersbz: as does IE11
15:56canaltinovagsnedders: it&#39;s a moz prefixed value, probably not implemented there
15:56bz(or at least for fixed vs not)
15:56bzgsnedders: So does IE11 render <pre> with a larger font size than Firefox/Chrome do?
15:57bzgsnedders: also, note this is encoding-dependent
15:58canaltinovagsnedders: ah you mean monospace vs serif thing
15:58canaltinovaI&#39;m confused right now
15:58bzgsnedders: e.g. Gecko has 13 for some things, but 16 for ko and ja
15:58bzgsnedders: and zh. And 12 for some other cases...
15:58gsneddersbz: I&#39;m going to say larger font
15:58noxThis reminds me,
15:58noxI didn&#39;t find tests for document.open opening a document in plain text.
15:59gsneddersbz: this is en-gb locale, I think. maybe en-us.
15:59bzgsnedders: not locale. Page encoding.
15:59gsneddersbz: oh, right.
16:00bzgsnedders: or page language or something
16:00bzcanaltiniva: Anyway, I spent about 30 minutes yesterday trying to track down why the computed style reports &quot;monospace&quot; for moz-fixed and failing
16:00bzcanaltiniva: You should probably talk to dbaron about what the differences between those two are and how this stuff should work....
16:01bzcanaltiniva: sorry this is such a morass... :(
16:02Ms2gerFun consequence of encoding-dependent font settings: thunderbird uses a variable-width font for emails from glandium, and fixed-width for everyone else
16:02jacknox: mac-dev-unit should be fixed. same .git/index lock error
16:02noxjack: Thanks.
16:03bzgsnedders: so in spec terms....
16:03jacknox: did you shut down that builder?
16:03jacknox: i think your shutdowns are leaving these lock files
16:03jacka google search landed on this; https://github.com/rust-lang/rust/issues/7995 :)
16:03crowbotIssue #7995: Buildbot failure on stale git lockfile again (index.lock) - https://github.com/rust-lang/rust/issues/7995
16:04jackwe should also make that config change
16:04noxjack: I did not.
16:04Ms2gerDammit, filter-intermittents
16:04noxjack: I shut down the windows one because it was broken the same way, that&#39;s all.
16:04Ms2gercors/redirect-origin.htm has a bunch of unexpected passes that have been ignored because there&#39;s an unexpected-timeout bug
16:05mhammoudHi
16:06gsneddersbz: so, uh, this seems interestingly different in Edge, though I guess they&#39;d just move to somehow matching Chrome/Firefox if anyone mentions it
16:06noxMs2ger: Btw ajeffrey asked me an interesting question the other day,
16:06noxMs2ger: why is a failure better than a timeout?
16:06canaltinovabz: thanks anyway :) these were excellent test cases. I&#39;m not so familiar with gecko code but I&#39;ll try to track this
16:06Ms2gernox, takes less time
16:07noxMs2ger: I believe it&#39;s also fundamentally better to fail rather than to time out, but I can&#39;t explain why?.
16:07gsneddersbz: Presto seems to also not have this quirk AFAICT
16:08Ms2gernox, I feel the same way, but also can&#39;t give a concrete reason
16:08bzgsnedders: interesting.
16:08Ms2gernox, maybe because the failure mode is more obvious?
16:09bzgsnedders: Netscape certainly had this behavior way back.....
16:09bzgsnedders: basically as a hack around lack of font-size-adjust back in the day
16:09bzgsnedders: I wonder whether Presto/Edge are using font-size-adjust to achieve equivalent effects
16:09dbaronbz: I suspect the -moz-fixed gets converted to monospace by StaticPresData::GetDefaultFontHelper
16:10SimonSapinbholley_mobile: https://docs.rs/cssparser/0.12.1/cssparser/struct.Parser.html#method.next
16:10bzdbaron: ah
16:10ajeffreynox Ms2ger: the problem is that for some of the wpt tests, as we add more functionality to servo, they veer between FAIL and TIMEOUT :/
16:10bzdbaron: I guess the basic question is whether canaltinova can just compute -moz-fixed to the same exact thing as monospace.
16:10gsneddersbz: but Edge has visibly a larger font, and I think Presto does too
16:10dbaronbz: note how mDefaultVariableFont has its fontlist initialized in interesting ways and mDefaultFixedFont doesn&#39;t, except in the constructor which makes it monospace
16:10bzgsnedders: I see.
16:10Ms2gerajeffrey, I don&#39;t think that&#39;s much of a problem
16:11dbaronbz: Assuming the font-size stuff is handled too?
16:11ajeffreyMs2ger: neither do I, but nox was bringing it up.
16:11bzdbaron: yes, that seems like it will need to happen.
16:11gsneddersbz: so I think Gecko/WebKit have had the behaviour since time immemorial, Trident/Presto never have
16:12dbaronbz: I suspect that&#39;s probably OK -- Gecko treats -moz-fixed as a higher level than monospace in some ways, more like at the same level as &quot;default variable font which can be serif or sans-serif&quot;
16:12bzgsnedders: interesting.
16:12* gsnedders would love to see if there&#39;s anything about this in the Opera bug tracker given Gecko/Blink behaviour
16:21canaltinovabz: hm, so I should convert to monospace in computed value and update the font size if it&#39;s not specified?
16:22bzcanaltinova: I&#39;m really not sure, sorry. :(
16:22canaltinovabz: okay, np :)
16:24canaltinovait looks like -moz-fixed is getting converted to monospace here: http://searchfox.org/mozilla-central/source/gfx/thebes/gfxFcPlatformFontList.cpp#1462
16:25bzcanaltinova: right, that&#39;s for talking to fontconfig, on platforms where we do that....
16:25bzcanaltinova: I think dbaron was right about where this happens for computed style in general
16:29stshineCannot clone mozilla-central, cannot download nightly rust.
16:29* stshine curses his network aggggain
16:38fabricemortimer: ping
16:39cbrewsterajeffrey: r=me after fixing the typo
16:54bholleyhttps://treeherder.mozilla.org/#/jobs?repo=autoland
16:55SimonSapinhttps://bugzilla.mozilla.org/show_bug.cgi?id=1345483
16:55firebotBug 1345483 NEW, simon.sapin@exyr.org Permafail layout/style/test/test_ch_ex_no_infloops.html | application terminated with exit code 11 |
16:55SimonSapinPermafail layout/style/test/test_ch_ex_no_infloops.html | application terminated with exit code 11 | application crashed [@ mozalloc_abort]
16:56SimonSapinhttps://github.com/servo/servo/pull/15872
16:56crowbotPR #15872: Fix debug assertion failure in gecko CI - https://github.com/servo/servo/pull/15872
16:57jacknox: pretty sure i found the issue.
16:59jacknox: not sure how to fix it yet. I can&#39;t figure out where OPENSSL_LIB_DIR is being set
17:02jackWindowsBunnyBlizzard: so MD is dynamic and MT is static?
17:03WindowsBunnyBlizzardJack: MD means you are linking to msvcrt.lib while MT means you are linking to libcmt.lib
17:04WindowsBunnyBlizzardjack: Which CRT you link to doesn&#39;t really matter as long as all code that is being statically linked into a given .dll or .exe agrees on the same CRT
17:04jackwhat are we linking to if we do /subsystem:windows?
17:04WindowsBunnyBlizzardjack: Completely unrelated
17:04jacki have no idea what the differences in the CRTs are, or how to tell which one we link to
17:05WindowsBunnyBlizzardjack: By default Rust will *always* do the equivalent of /MD and link to msvcrt.lib
17:05jackok
17:05WindowsBunnyBlizzardjack: However if you pass certain rust flags, particularly [&quot;-Ctarget-feature=+crt-static&quot;, &quot;-Zunstable-options&quot;]
17:06jackwe don&#39;t do that :)
17:06WindowsBunnyBlizzardthen Rust will do the equivalent of /MT and link to libcmt.lib
17:06jackwe&#39;ve been linking to the wrong openssl for a while it seems
17:06WindowsBunnyBlizzardjack: Are you statically linking openssl?
17:06jackbecause we&#39;ve been using MT versions of 1.0.1e
17:06WindowsBunnyBlizzardjack: Yes or no. Is openssl being statically linked?
17:06jackdynamic before
17:06jackwhich i remember you saying means it doesn&#39;t matter
17:07ajeffreycbrewster: thanks!
17:07cbrewsterajeffrey: no problem!
17:07WindowsBunnyBlizzardif it is being dynamically linked so you end up with a .dll dependency then it doesn&#39;t matter
17:07jacki think the issuei s that the new openssl only provides .libs
17:07WindowsBunnyBlizzardif you are statically linking it, then it is *super* important that you use the correct CRT
17:07WindowsBunnyBlizzard1.1.0e?
17:07WindowsBunnyBlizzardfrom http://slproweb.com/products/Win32OpenSSL.html ?
17:08jackno. as i said i didn&#39;t use that one since it&#39;s a stupid .exe
17:08WindowsBunnyBlizzardah okay
17:08jackI used the one we used before.
17:08WindowsBunnyBlizzardjack: Where are you getting your openssl libraries?
17:08WindowsBunnyBlizzardI want to look at them
17:08jackhttps://www.npcglib.org/~stathis/blog/precompiled-openssl/
17:08jackthat is where we got the 1.0.1e zip
17:09jack(which is no longer there, but is in our s3 bucket if you want a copy)
17:09WindowsBunnyBlizzardjack: I mostly just care about what you&#39;re currently using and currently worried about
17:10WindowsBunnyBlizzard>All statically built libraries link against the Static Runtimes (/MT instead of /MD).
17:10jackso i can&#39;t use them ;(
17:11WindowsBunnyBlizzardjack: Unless you manage to convince everything to use /MT
17:11jackthey moved the dlls to bin64
17:11jackso i&#39;ll switch back to that i guess
17:11WindowsBunnyBlizzardjack: Well remember that you&#39;re not linking against the dlls, you&#39;re linking against the .lib&#39;s
17:12WindowsBunnyBlizzardyou just need to make sure you&#39;re linking against the correct libs
17:14jackok. i think i sorted it out now.
17:19WindowsBunnyBlizzardjack: So you&#39;re taking specifically the MD libraries and renaming them so rust-openssl finds them?
17:20jackWindowsBunnyBlizzard: apparently I didn&#39;t make progress https://www.irccloud.com/pastebin/546Yx1IN/
17:21jacki wonder what library it thinks it is trying to use
17:22jackhttps://www.irccloud.com/pastebin/dDbje43z/
17:22jackis how we&#39;re setting up the env for rust-openssl&#39;s build.rs
17:23WindowsBunnyBlizzardjack: What are the exact names you gave to the libraries?
17:23jack?
17:23WindowsBunnyBlizzardjack: So anyway, openssl no longer takes the OPENSSL_LIBS env var
17:23WindowsBunnyBlizzardso um, you gotta match the names the build script is hard coded to look for
17:24jackugh, i&#39;m looking at master
17:24jackoh. apparently i&#39;m not
17:24WindowsBunnyBlizzardjack: If you do want to override the names, instead of setting env vars, use a build script override
17:25WindowsBunnyBlizzardjack: aka a .cargo/config that overrides what it links to and where it looks
17:26ajeffreynox: are you still after documentation on why some tests are TIMEOUT rather than FAIL? There&#39;s a lot of them, this will take a while :/
17:26noxajeffrey: Ok, I guess.
17:26noxajeffrey: Address the rest and I&#39;ll r=me.
17:26ajeffreynox: phew.
17:27edunhamnox: ping-back; I may have a few answers about Buildbot if you have any remaining questions
17:27noxedunham: jack answered the couple I had, thanks anyway!
17:27ajeffreynox: I went through and made all the fixes, just getting it to build again, then I&#39;ll push the changes.
17:27jackWindowsBunnyBlizzard: .cargo/config can override build.rs crap from dependencies?
17:28WindowsBunnyBlizzardjack: Yes! As long as the crate has a `links = &quot;foo&quot;` thing in its Cargo.toml
17:28WindowsBunnyBlizzardjack: You can then override foo
17:28jackit has links=openssl
17:28jackwhich doesn&#39;t seem helpful
17:28noxSo who implemented that in rust-openssl,
17:29noxand is it actually maintained on Windows?
17:29WindowsBunnyBlizzardjack: So you would create a .cargo/config and override openssl
17:30WindowsBunnyBlizzardjack: http://doc.crates.io/build-script.html#overriding-build-scripts
17:31WindowsBunnyBlizzardjack: Note that the build script won&#39;t run at all, so you&#39;ll have to set a few cfgs in your override too
17:31WindowsBunnyBlizzardwhich normally the build script would do
17:32WindowsBunnyBlizzardjack: Alternatively you can just rename the libraries to what the openssl-sys build script hardcodes
17:32jackugh
17:33WindowsBunnyBlizzardjack: Or you could modify the build script to look at OPENSSL_LIBS again (or complain at sfackler to do it for you)
17:33WindowsBunnyBlizzardso many options :D
17:33WindowsBunnyBlizzardjack: Alternatively ditch openssl and use native-tls
17:34jacksfackler pionted me to https://github.com/sfackler/rust-openssl/pull/598/files
17:34jackhe&#39;s going to merge and cut ar elease
17:34jacknative-tls is insufficient for browsers is my understanding.
17:35jackfor starters, we need full control of the cert chain.
17:36noxWindowsBunnyBlizzard: Didn&#39;t you say something about not including the &#39;lib&#39; prefix?
17:36WindowsBunnyBlizzardnox: On msvc, &quot;lib&quot; is not a prefix, it is a part of the library name
17:36noxWindowsBunnyBlizzard: Oh ok, so it needs to say &quot;libssl&quot; and not &quot;ssl&quot;, right?
17:36jacknox: so you&#39;d do -llibssl instead of -lssl
17:36noxOk.
17:36WindowsBunnyBlizzardwith gnu, you&#39;d refer to libfoo.a as &quot;foo&quot;, but with msvc libfoo.lib is &quot;libfoo&quot;
17:38WindowsBunnyBlizzardand the reason the .lib suffix is even removed at all, is because rustc itself later tacks on a .lib when passing it to the linker
17:38WindowsBunnyBlizzardso really link.exe just wants the library name as is, no prefixes or suffixes removed
17:43ManishearthSimonSapin: https://gist.github.com/Manishearth/23b92b5025fdd318a5ec983352a3536e
17:44SimonSapinManishearth: is FETCH_HEAD^ to remove the merge commit? github also has pull/123/head refs
17:45ManishearthSimonSapin: nah
17:45ManishearthSimonSapin: i want the diff for the PR only
17:45Manishearthnot anything else
17:45Manisheartheasiest way to get it
17:46Manishearthyou can also do https://patch-diff.githubusercontent.com/raw/servo/servo/pull/15939.patch
17:46Manishearthbut that&#39;s a single patchfile with multiple parts
17:47jacknox: when new openssl is published to crates.io, cna you update the PR?
17:47noxjack: Sure.
17:47noxManishearth: pull/123/head pull/123/base
17:47Manishearthnox: TIL base
17:47Manishearthnox: but eh, this works too
17:48Manishearthanyone want to write a quick flask app that makes this a service that homu can ping?
17:48jacknox: here&#39;s the diff i made. this should work when new rust-openssl is used https://www.irccloud.com/pastebin/dSmFIOZV/
17:48jacksome of that overlaps with changes you already made
17:48jackoff to lunch now
17:49noxjack: Have a nice lunch.
17:58Manishearthlarsberg: edunham there?
18:11edunham\o
18:12edunhamManishearth: what&#39;s up?
18:13Manishearthedunham: so. we need the ability to make gecko try pushes from servo PRs
18:13Manishearththis involves frobbing BOTH a servo and gecko clone
18:13ManishearthI&#39;m thinking of writing a small flask service that you can ping with a PR number, and having it Do The Thing
18:14Manishearththis will mean that servo-master1 will have a perennial servo and gecko clone
18:14Manishearthit also means that we&#39;ll