156
edits
m (→Triage) |
Vincent Liu (talk | contribs) |
||
| (20 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
== | == Crash == | ||
* offsite sharing - crash | |||
** Reading crash report on soccorow (kevin) | |||
*** Find the correlation | |||
*** Understand crash reason, crash address | |||
** A look into mini dump/symbols/crash report (vincent) | |||
*** how to load mini dump/symbols | |||
** useful windbg/gdb/lldb commands | |||
*** (lldb) br com add 1 //executes commands when breakpoint was hit | |||
*** (windbg) dt !xul:nsfont | |||
*** (windbg) !analyze -v | |||
** case study | |||
*** https://bugzilla.mozilla.org/show_bug.cgi?id=1353657 (vincent) | |||
*** https://bugzilla.mozilla.org/show_bug.cgi?id=1346421(TBD) | |||
*** https://bugzilla.mozilla.org/show_bug.cgi?id=1357734#c12(ethan) | |||
== Testing == | == Testing == | ||
*[pchang] run GTest subset | *[pchang] run GTest subset | ||
** ./mach gtest Layers.* | ** ./mach gtest Layers.* | ||
** GTEST_FILTER='Layers*' MOZ_RUN_GTEST=1 ./mach run --debug //use debugger to debug GTest | ** GTEST_FILTER='Layers*' MOZ_RUN_GTEST=1 ./mach run --debug //use debugger to debug GTest | ||
*[Michael Leu] - My workflow of building environments for reproducing bugs | |||
** https://drive.google.com/file/d/0B29kx4ibiTBgN0JBTVBiVEh0TUU/view | |||
*[vliu] run Talos | |||
** run Talos with geckoProfile in local (take talos resize as example) | |||
*** a). After Bug 1371838 was landed, you can profile WRRender by geckoProfile. To do this in Talos, please do the following before everything starts. | |||
**** Add WRWorker,WRRenderBackend,Renderer to https://searchfox.org/mozilla-central/rev/7a8c667bdd2a4a32746c9862356e199627c0896d/testing/talos/talos/gecko_profile.py#39 | |||
*** b). run ./mach buildSymbols to generate symbols into .zip file, says firefox-XXX.crashreporter-symbols-full.zip. | |||
*** c). run ./mach talos-test --symbolsPath /Absolute-Path-To-OBJ/dist/firefox-XXX.crashreporter-symbols-full.zip --geckoProfile --cycles 1 --activeTests tresize. After this command, it generated another zip file for geckoProfile in testing/mozharness/build/blobber_upload_dir/. | |||
*** d). unzip zip file generated in c) to get geckoProfile | |||
** run Talos with geckoProfile on try server. You can add |mozharness: --geckoProfile| in your try command.The belowing is a try command example for linux. | |||
*** try: -b o -p linux64 -u none -t all[x64] mozharness: --geckoProfile --rebuild-talos 10 | |||
== Misc == | == Misc == | ||
* [ethan] Canvas performance | * [ethan] Canvas performance | ||
** http://www.bilibili.com/video/av105005/ | ** http://www.bilibili.com/video/av105005/ | ||
* [Michael] FPS adjustment | |||
** layout.frame_rate in about:config (-1 means default which is 60, 1000 at maximum) | |||
* [pchang] Use gecko profiler with symbols | |||
** ac_add_options --enable-profiling | |||
* [pchang] Enable CPU profiling when use release build | |||
** export MOZ_DEBUG_SYMBOLS=1 | |||
** ac_add_options --enable-debug-symbols | |||
*[pchang] Enable ASAP mode | |||
** layout.frame_rate: 0 | |||
** docshell.event_starvation_delay_hint: 1 | |||
*[pchang] dump log with timestamp 5 for debug 2 for Err | |||
** MOZ_LOG=Layers:5,timestamp ./mach run 2>&1|tee omta.log | |||
*[pchang] dump stderr to console on windows | |||
** ./mach run 2>&1|tee console.out | |||
*[Jerry] dump call stack for NS_ASSERTION() or NS_WARNING() | |||
** Set prefix for stack message. | |||
*** https://dxr.mozilla.org/mozilla-central/rev/632e42dca494ec3d90b70325d9c359f80cb3f38a/xpcom/base/nsTraceRefcnt.cpp#845 | |||
** Set stack unwind number | |||
*** https://dxr.mozilla.org/mozilla-central/rev/632e42dca494ec3d90b70325d9c359f80cb3f38a/xpcom/base/nsTraceRefcnt.cpp#880 | |||
** XPCOM_DEBUG_BREAK="stack" ./mach run | |||
== Triage == | == Triage == | ||
*[vliu] Triage flow listed. | *[vliu] Triage flow listed. | ||
| Line 12: | Line 62: | ||
*** Add keyword 'reproducible' if you can reproduce | *** Add keyword 'reproducible' if you can reproduce | ||
*** Ask reporter set layers.acceleration.disabled as true to try again(depends) | *** Ask reporter set layers.acceleration.disabled as true to try again(depends) | ||
*** Enable/Disalbe ANGLE on windows | |||
*** Compare the difference between on/off e10s. | |||
*** Tried to change the preferences to observe. | |||
**** If the issue relatives to painting or text, you can try to change the backend in about:config | |||
***** gfx.canvas.azure.backends | |||
***** gfx.content.azure.backends | |||
**** nglayout.debug.paint_flashing | |||
**** layers.draw-borders | |||
** Ask for about:support | ** Ask for about:support | ||
*** Ask for about:memory if memory related | *** Ask for about:memory if memory related | ||
** ni? people or mgr to help you | ** ni? people or mgr to help you | ||
** land needed printing message for this bug to observe more information.(this action is providing solution not doing the triage) | ** land needed printing message for this bug to observe more information.(this action is providing solution not doing the triage) | ||
** Change priority to P1-3 with reason | ** Change priority to P1-3 with reason | ||
** Add gfx-noted if there is nothing you can follow up | ** Add gfx-noted if there is nothing you can follow up | ||
* Ways to observe occurrence for triage bug. | |||
** Crash report contains Volume to count for crash rate. There is 10 times of Volume increase between each FF version. | |||
*** Install addon bugzilla-socorro-lens can easily see crash rate in graphic view on that bug. | |||
**** [https://addons.mozilla.org/en-US/firefox/addon/bugzilla-socorro-lens/?src=api bugzilla-socorro-lens] | |||
** For Intermittent bug, Orange Factor counts for occurrence rate for that bug you observed. | |||
*** [https://brasstacks.mozilla.com/orangefactor/?display=BugCount&key=platform&tree=all&branch=all&includefiltertype=quicksearch&includefilterdetailsexcludeResolved=false&includefilterdetailsexcludeDisabled=false&includefilterdetailsquicksearch=ALL%20Component%3A%22Canvas%3A%202D%22%20OR%20Component%3A%22Canvas%3A%20WebGL%22%20OR%20Component%3A%22Graphics%22%20OR%20Component%3A%22Graphics%3A%20Layers%22&includefilterdetailsnumbugs=0&includefilterdetailsresolvedIds=&excludefiltertype=quicksearch&excludefilterdetailsquicksearch=&excludefilterdetailsnumbugs=0&excludefilterdetailsresolvedIds= Orangefactor] | |||
* A useful link to help you reading crash report. | |||
** [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Crash_reporting/Understanding_crash_reports Understanding-crash-reports] | |||
* refer keyword here https://wiki.mozilla.org/Platform/GFX/TriageSchedule#Keywords | |||
edits