mozilla :: #ateam

14 Feb 2017
01:40mcoteKWierso|afk: of course it suddenly occurs to me that I can just use m-c's pushlog and look for pushes containing a "merge from autoland" changeset :)
02:16mcotebut if I try to filter out all merges from mozilla-central, I get only 106 changesets over the last week
02:16mcotewhy would mozilla-central's pushlog have merges from m-c to m-i and autoland and graphics anyway?
02:17mcotesomehow they get included when stuff is merged back?
02:17mcoteman this is confusing
02:17mcotesmacleod: ^ in case you see this later
02:25mcoteor glob :)
02:36mcoteattempting to strip out merges from the autoland pushlog gives me 657 commits, compared to a total of 1764 changesets in m-c regardless of merges, for the last week
02:37mcotedoes that make sense? that would mean ~37% of commits to m-c are arriving from autoland
02:37mcoteor maybe more because this isn't tracking backouts
02:37mcotedunno why I get very different numbers from hg log though.
03:30mitchhentgesjmaher: Fun c++ question for you - I'm looking into code coverage definition files, and how a function's code is linked to it's original files.
03:30mitchhentgesjmaher|afk, rather. I'm noticing a scenario where seemingly unrelated files are allegedly contributing to a function definition
03:30mitchhentgesFor example, see mozalloc_abort() in mozalloc_abort.cpp:
03:30mitchhentgesThe gcc gcno "notes file" shows that the function is mostly defined as follows:
03:31mitchhentges/memory/mozalloc/mozalloc_abort.cpp, line 22
03:31mitchhentges/memory/mozalloc/mozalloc_abort.cpp, line 25
03:31mitchhentges/memory/mozalloc/mozalloc_abort.cpp, line 26
03:31mitchhentges/memory/mozalloc/mozalloc_abort.cpp, line 33
03:31mitchhentges/dist/include/mozilla/Assertions.h line 40 (?)
03:31mitchhentgesThis "Assertions.h" file isn't in dxr (because it's generated at build time, I'm assuming). I've uploaded for convenience:
03:31mitchhentgesFor lines 22, 25, 26 and 33 in mozalloc_abort.cpp, it makes sense that they're part of the mozalloc_abort() function - they are literally part of the function source.
03:31mitchhentgesWhy is line 40 allegedly part of mozalloc_abort()?
03:31mitchhentgesI might be into something super gcc-specific, but maybe I'm just missing some magical C++ knowledge that involves inlining functions and compiler magic
07:37KWierso|afkmcote|afk: this week was an anomaly with that 400+ cset merge from graphics to m-c
09:41AutomatedTesterargh... where is ms2ger when you need him
09:43AutomatedTesterMs2ger: ping, how would I calculate offsetParent on SVG elements?
09:43AutomatedTesteris there a svg specific way ?
09:43Ms2gerNot that I'm aware
09:57jmaher|afkmitchhentges: MOZ_CRASH() is a #define:
09:58jmaher|afkmitchhentges: I suspect that is inlined during compilation and both MOZ_CRASH and MOZ_CRASH_ANNOTATE are expanded inline- I know specifically MOZ_CRASH_ANNOTATE is defined as static inline
10:06AutomatedTesterlol at SVG... it loves SVG elements so much it named it twice
11:49atoEw, our build system really sucks.
12:05Ms2gerato, imagine how bad it used to be
12:06atoMs2ger: Pulled, did a build, did a rebase of a branch with only JS changes, run `./mach build` to regenerate the omnijar exports, new nearly-full build triggers.
12:07Ms2gerSounds unavoidable because of the rebase, modulo artifact builds
12:12Gijs./mach build faster ?
12:12Gijsyou can use that in non-artifact builds
12:29atoGijs: Do artifact builds actually work with omnijar/export changes in JS now?
12:30Gijsato: not sure what your question is.
12:30Gijsato: I don't normally use artifact builds, but adding/removing/modifying js files in or (modules) files should be fine, I think
12:30atoGijs: When I change an export, add or remove a file in a XUL built-in add-on, I need to rebuild because otherwise the symbols cant be found.
12:31atoGijs: OK, I guess I should experiment at some point when I have some time to spare.
12:31atoCompiles in the office are reasonably fast in the office due to icecc that I dont normally need artifact builds.
12:32atoAlso I cant type.
12:33mikelingHi, how could contact with Marco if I interested in the GSoC project **Regression localization from stack traces**?
12:33mikelingthank you
12:40atomikeling: Ping marco on this IRC server.
12:44mikelingato: oh, but I haven't see him online when I check the channel, When will he comes online?
12:44atomikeling: Hes online now but not in this channel.
12:44atomikeling: /whois marco
12:46jmaher|afkmikeling: I have emailed two different marco's at Mozilla, one is not the right one, still waiting to hear back from the other one
12:46mikelingjmaher|afk: ato Thank you! I will go to the #releng channel and maybe he is there :)
12:47atomarco = Marco Casteluccio
12:47whimbooato: when I have a promise and a resolve and reject path, how do I best add cleanup code which should be run after both cases? Do I have to duplicate code for then and catch?
12:47atoCould be the wrong marco I guess (-:
12:48atowhimboo: Yes, as far as Im aware.
12:49whimbooato: k. I canont seem to get a timer unregistered from a former call to get().
12:49whimboonot sure whz
12:49whimbooits a one shot timer, and I call cancel for it
12:52jmaher|afkato: yeah, it is too ambiguous
13:03atoBoo, mozreview rewrites my lists starting with 0n with 1n!
13:13jmaherato: you are full of complaints today, build system, up...marionette?
13:14whimboojmaher: did i blame mozreview?
13:14atoIt wasnt so much a complaint as that mozreview cant count (-;
13:14jmaherwhimboo: I think I said "ato: ..."
13:14whimbooit is ato actually again :)
13:14jgrahamI don't think we have enough space in the irc channel for all ato's marionette complaints
13:15whimboodamn highlighting
13:15whimboobut let me blame about the build system too
13:15whimboobug 1339409
13:15bugbotBug Build Config, normal, nobody, NEW , "mach bootstrap" for artifact desktop builds fails due to "FileNotFoundError" in install_rustup()
13:15whimboonow I cannot setup the loaner for an artifact build at least
13:15whimboowill try a full build now
13:16jmaherwhimboo: I filed a bug yesterday for failing artifact builds as well; chmanchester is on pto today, so tomorrow he might be able to fix or at least comment on these issues
13:16whimboothat one is rust related
13:16whimbooso rgilles should be able to help
13:47AutomatedTesterwhy can't SVG Elements have the same functions on them that html elements do... or vice versa
14:05jmaherwhat happened yesterday, it seems that this week our failure rate (i.e. oranges) has skyrocketted
14:05jmaherI will pester all developers until this is resolved, too many bugs with no action week after week :(
14:08atoYay, a contributor fixed for us!
14:08bugbotBug 1283216: Marionette, normal, anjul.ten, ASSIGNED , Allow Marionette client object to be constructed with the build from the local environment as the default
14:08jmaherato: awesome
14:09atoNow starting Marionette from `./mach python` isnt as painful anymore.
14:10whimbooato: so i can successfully raise a timeout error in get(), but we hang later in execute_script() for test-end. does it mean we have again an unresolved promise which the proxy is waiting for?
14:13atowhimboo: Hm, possibly? activeMessageId is only reset if a message comes back:
14:14whimbooin driver:get() i call a method in listener which returns just a dict of values
14:15whimboomaybe i should add some debug lines to that send method
14:20whimbooato: thanks for fixing the errors stack
14:20atowhimboo: np. I also had a chance to get rid of some old cruft from before ES6 classes were allowed in chrome.
14:29whimbooato: so we are try to call this.listener.executeInSandbox(). the message seems to get send, but we never reach the code in listener
14:33whimbooato: looks like it's stuck in, payload);
14:49whimbooato: interestingly this only happens with page load timeotu set to values <1
14:50whimboowith everything above a second it&#39;s fine
14:50atoMakes it sound like a race.
14:50atoMaybe the get timeout is firing and returning before the proxied call to the listener has had time to return?
14:54whimbooato: but don&#39;t we have a command list? means if a command hasnt been replied yet, we add new ones to the queue and run them once the former has been completed_
14:58atowhimboo: I dont know the answer to that OTOH.
15:26gbrownekyle: I think ActiveData is having trouble. Neglected Oranges is reported no results. &#39;mach test-info&#39; is hanging. ActiveData Query Tool for {&quot;from&quot;:&quot;unittest&quot;} just spins.
15:26ekylegbrown: thank you, I will look
15:28gbrownekyle: ActiveData Query Tool finally returned results...but it took a couple of minutes
15:29ekylegbrown: sometimes activedata is busy replacing nodes, still looking at orangefactor....
15:31ekylegbrown: the secure machine responsible for replicating OF, got disconnected... connecting... I will ping you when it is back up to date
15:32gbrownekyle: thanks!
16:07jmaherjgraham: in the web-platform/tests directory, there is old-tests/ ( ), do you know if that is still used based on the name I assume not
16:09jgrahamjmaher: Hah
16:09jgrahamjmaher: Yes it is used
16:10jmaherjgraham: ok, thanks!
16:10jgrahamjmaher: The name is a historial anomoly that no one has cleaned up
16:10jmaherI am trying to get most of the web-platform/tests associated with bug_components, so this is one of my few questions, thanks for helping me out
16:11ekylegbrown: it caught up
16:11jmaherMs2ger: I have a couple related questions for you, what bugzilla component should testing/web-platform/tests/uievents and testing/web-platform/tests/typedarrays belong to?
16:12jmaherekyle: thanks@
16:14gbrownekyle: thanks. Neglected Oranges is back/looks fine now. &#39;mach test-info&#39; still seems very slow; I&#39;ll check on that again later today.
16:15jmahergbrown: oh boy, lots of neglect
16:16gbrownjmaher: yeah, I&#39;ll do a pass after the stockwell meeting
16:16ekylegbrown: ok, thanks. I think I know what is causing the current slowness.
16:17jmaherekyle: sending packets over the wall?
16:18gsneddersjmaher: you might want to associate specific subdirectories in old-tests with bug_components, I think
16:19ekylejmaher: gbrown: bad configuration change last week (most likely the cause), and some the machines are out of drive space, creating a load imbalance (should not be noticeable).
16:19jgrahamjmaher: Core::DOM: events and Core::Javascript Engine
16:21jmahergsnedders: yes, I will piece it out, it looks like a few different components
16:21jmaherjgraham: thanks!
16:26jmaherRyanVM: esr52? I thought 52 was on beta?
16:26jmaherat least until March 7th
16:26RyanVMjmaher: the branch already exists :) just keeping it in sync w/ beta at this point, though (not even needing merges)
16:27RyanVMjust less bug marking overhead to do them periodically
16:27jmaherok, I just had some confusion :)
16:29Ms2gerjmaher, yeah, what he said
16:31jmaherwlach: stockwell meeting?
16:31atomaja_zf: Thanks for your review. It lead me to catch a few other issues with cyclic objects and objects with toJSON defined:
17:04atoFWIW a Firefox build on icecc in London is just long enough time to brew a pot of tea.
17:05atoI like that. I suggest we normalise on this build time.
17:06mcoteahal, KWierso|afk: continuing conversation from yesterday, does 1518 total commits (directed and merged) to m-c in 7 days make sense?
17:06mcotethis is what I gleaned from the push log
17:06RyanVMsounds like the British version of the American football field measurement :P
17:06RyanVMthat sounds sane to me, mcote
17:06mcoteweirdly I only got about half that number from looking at hg logs
17:07mcotebut it is more than possible that I wasn&#39;t executing the right hg magic to get the full commit list
17:07RyanVM200-300 per day on average is the right ballpark
17:07mcoteok cool
17:13jlundgbrown: sorry for the delay on Bug 1337807
17:13bugbotBug Mozharness, normal, gbrown, NEW , Some Windows build timeouts could be avoided with SetErrorMode
17:13jlundI was out late friday and monday was holiday
17:14gbrownno worries
17:14jlundgbrown: do you know what steps we are timing out on? I assume by the place you put it, it&#39;s not just during `mach build`
17:17gbrownjlund: bug 1318765 has lots of logs, but I haven&#39;t looked them over closely. the failures I&#39;ve noticed have been during build, but I thought the same issue might arise in other steps.
17:17bugbotBug General, normal, nobody, NEW , Intermittent TC Windows build Automation Error: mozprocess timed out after 4800 seconds running [&#39;C:\\mozilla-build\\msys\\bin\\bash.exe&#39;, &#39;Z:\\task_1479490521\\build\\src\\mach&#39;, &#39;--log-no-times&#39;, &#39;build&#39;, &#39;-v&#39;]
17:18jlundgbrown: ah okay thanks. also, do you know if this will protect us during sub proc calls?
17:20gbrownjlund: ted said &quot;the error mode is inherited by child processes by default&quot;...that&#39;s all I know
17:21gbrownit sounds promising :)
17:22jlundhehe. thanks!
17:34atoStandard8: How do I enable eslint for a new directory?
17:49davehuntekyle: can you try
17:57ekyledavehunt: that works!
17:59ekyledavehunt: I assume you will continue work on the data. For example, your test names make me unhappy: &quot;<Function &#39;test_ie6_winxp_useragent_5_1_redirects_to_correct_version[38.5.1esr]&#39;>&quot;
17:59ekyledavehunt: not that I care, they just do not seem to match the test names shown in the test results
18:01ekyledavehunt: and you will require some mention of the task, of job, or platform the test(s) were run on
18:01ekyledavehunt: and revision
18:14jmahergbrown: ekyle: orange factor does specify linux64-stylo for the platform:
18:14bugbotBug 1338992: Layout, normal, nobody, NEW , Permafailure layout/style/test/test_acid3_test46.html | case h failed (index 8) - got &quot;none&quot;, expected &quot;uppercase&quot;
18:16ekylejmaher: i do not know enough to understand what you said.
18:17gbrownjmaher: good - that&#39;s explicit
18:17jmaherekyle: in our stockwell meeting there was a pending question if we could distinquish between quantum, stylo, linux64*, etc.
18:18RyanVMato: I think eslint defaults to on for new directories?
18:18RyanVMato: otherwise, look at .eslintignore in the root directory
18:18atoRyanVM: I removed testing/** and added a bunch of non-Marionette directoris to .eslintignore and that seemed to work.
18:18ekylejmaher: hmm, ok. I understand the problem now.
18:18RyanVMato: great :)
18:19atoRyanVM: Next I need to figure out how to make the devtools/.eslintrc.xpcshell.js apply to testing/marionette/test_*.js.
18:20jmaherato: sounds like good work!
18:38jgrahamAnyone know how I tell what&#39;s leaking in
18:44jmaherjgraham: would it be the last test which ran? I am not sure how the leak logging works in wpt
18:46jgrahamjmaher: The leak check only happens at shutdown
18:47jgrahamIf some other harness word differently it would be useful to know
18:47RyanVMi think the best you can do is tie it to the directory that was running at the time (assuming you restart the browser between dirs)
18:47jgrahamI guess --run-by-dir helps in that way
18:47RyanVMthat&#39;s how the other harnesses work
18:47jgrahamOK, thanks
18:48RyanVMthe mochitest harness can print a list of leaked URLs as well, which is sometimes helpful
18:48jgrahamSo this is using the same mozleak code
18:48jgrahamAnd before I got a list of URLs
18:48jmaherjgraham: I thought wpt shutdown after each test case though?
18:48jgrahamBut I don&#39;t see that in this case
18:48jgrahamjmaher: No
18:48jmaherok, then whatever directory- I usually do a bunch of try pushes to bisect
18:49jgrahamjmaher: It closes a window, but only shuts down if there is an unexpected result
18:52jmaherjgraham: ok, then yeah- whatever is in the --run-by-dir scope is suspect
21:04mcoteKWierso: is it possible that some weeks would have way more stuff landed by autoland than others?
21:05KWiersomcote: sure
21:05mcotelike, lots and lots more?
21:06mcoteI got 95% from 2017-01-31 to 2017-02-05
21:06mcotethat seems excessive
21:06mcoteand overall from Jan 1st to now, 74.1% from autoland
21:06mcotethat can&#39;t be right
21:07KWiersoinbound/autoland have been pretty even lately IIRC
21:07mcotestill, that would only be 50%
21:07KWiersomaybe;s merges have different numbers (US vs Europe)?
21:11mcoteah, could be my merge string is too simple
21:14KWiersomcote: just now, my merge from autoland to m-c was 27 csets. Inbound&#39;s was 74.
21:14mcoteKWierso: I&#39;m searching for commits that start with &quot;merge&quot; or &quot;Merge&quot; to denote a merge
21:14mcotehm that misses the big servo merge though
21:15mcotewhich went straight to m-c right?
21:15KWiersomaybe I&#39;m mixing up servo and graphics
21:16KWiersographics went straight to m-c
21:18KWiersomcote: servo landed to autoland
21:18KWiersocommit strings all begin with &quot;servo: Merge&quot;
21:18mcotebut directly to the autoland branch, not via mozreview/autoland I don&#39;t think
21:19KWiersothere&#39;ve been numerous other servo landings since then with the same style of commit message, but none that huge
21:19mcoteyeah that&#39;s probably the big discrepancy
21:20mcoteI should just ignore those entirely; they&#39;re a special case
21:22mcoteif we entirely ignore servo, then I get 41%
21:26davehuntekyle: test names fix has landed, yeah
21:27ekyledavehunt: yea!
21:27davehunttask/job/platform may need to come later, and revision may be optional will it work without that for now?
21:27ekyledavehunt: nope, test results need some context
21:28davehuntekyle: which fields are the minimum? these are functional ui tests run mostly on crons against deployed applications
21:28mcotehm and the pushlog api seems to have stopped working for me
21:28davehuntthe platform of the machine running the tests is also not the platform that the tests are executed on, as they use Selenium in the cloud
21:29ekyledavehunt: start with a branch/revision; that will give you a format for the testing context, then you can add other properties, like build platform and run options, etc
21:29davehuntbranch/revision may be the hardest :/
21:29davehuntI could do the revision of the test repo, but that&#39;s not really helpful
21:29ekyledavehunt: yes, the build platform and the run platform will be different, so be sure to give them differnt names, when you do add them
21:30ekyledavehunt: yes, revision of the test repo is also nice to have, but add that later
21:30davehuntekyle: right, but I may not have a way to get the revision of the AUT
21:30davehuntand even if the AUT exposes that, it&#39;s going to differ between them
21:30ekyledavehunt: &quot;AUT&quot;?
21:31davehuntsorry, application under test
21:32ekyledavehunt: yup, without the context, the test results are going to be meaningless; well, non-actionable.
21:33davehuntekyle: the date/time and target application will be the context
21:33ekyledavehunt: branch/revision being the hardest is good: once you have that, the rest of the properties and context may fall into line
21:34davehuntthese are tests we already run
21:34davehuntekyle: right, but by hardest I may mean not feasible within this quarter, which is what my deliverable is bound to :)
21:35ekyledavehunt: &quot;tests we already run&quot; <- i hope we are making a process for future tests, not analyzing existing history
21:35davehuntwouldn&#39;t we still be able to build a dashboard based on the suite name?
21:35davehuntwe already run these tests, but we want to understand results over time for them
21:36davehunthence getting the results into activedata, so we can build some sort of dashboard, or query them directly
21:37davehuntso if we&#39;re running tests against, we may not have a way to determine the revision that&#39;s deployed at the time the tests are running
21:38ekyledavehunt: hmm, I clearly do not understand the nature of your tests
21:38davehuntto your comment, no, we will not be submitting historic results
21:39davehuntekyle: most of these tests ensure that our websites are functioning as expected, and they test the dev/staging/prod instances on a (mostly) daily basis
21:39ekyleso the url will be nice context. The time you ran he test is already part of the test, that is good context. Maybe a little about the machine you ran the test with may help (not needed at first for sure)
21:41ekyledavehunt: so, do not hide the context of the test in the name of the test; it is hard to query
21:42ekyledavehunt: so now I understand you do not have much context, just time-of-test really
21:42davehuntyeah :/
21:43davehuntso I&#39;m planning a plugin that will add more metadata to the structured log, which will include the build platform, URL, and target platform, but I suspect that will be Q2 at the earliest
21:43ekyledavehunt: so, I guess I am asking for a little metadata so I know how to handle it.
21:44davehuntekyle: gotcha
21:44ekyledavehunt: if you can take the test name, and derive context properties from that, it will be easier to query
21:45ekyledavehunt: in this case, redundancy is you friend.
21:46ekyledavehunt: on the subject of permissions: has only one file right now, yes/
21:46davehuntekyle: so a bit more background, these tests are run using pytest, and I&#39;m using a pytest plugin to generate the mozlog structured log. At the moment I can probably only put general pytest metadata into the structured log, but if I create a new plugin I could potentially make it much easier to inject more metadata.
21:47davehuntekyle: yeah, that was a one off.. I need to get the pipeline hooked up to supply more
21:47ekyledavehunt: you do whatever you want with plugins; I only care about the data. :)
21:48davehuntekyle: yup, I&#39;d just rather put the plugin thing off to Q2 :)
21:49davehuntI&#39;ll have a look and see if there&#39;s any more context I can provide
21:49davehuntI&#39;m not sure the test names would be reliable enough
22:56gwI&#39;d like to start tracking some benchmarks / performance for a component of servo (like Are there any existing hosted releng solutions where I can just set up a hook to post results and have them graphed and published? Or any suggestions on a pre-existing solution to use for that?
22:57AutomatedTestergw: perhaps erahm might be able to help
22:58AutomatedTesternight all
22:59erahmgw: there&#39;s perherder, areweslimyet posts data to it
22:59erahmgw: can ask in #perfherder, wlach is probably the expert
23:00gwerahm: AutomatedTester: ok , I&#39;ll ask in there - thanks for the info!
15 Feb 2017
No messages
Last message: 7 days and 44 minutes ago