aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/bug.html
Commit message (Collapse)AuthorAgeFilesLines
* dashboard/app: move templates to dirTaras Madan2024-07-051-74/+0
|
* dashboard: display failed bug repro attemptsAleksandr Nogikh2023-08-311-0/+1
|
* dashboard: display labels in groupsAleksandr Nogikh2023-08-251-5/+8
| | | | | | | | Display subsystems and bug presence labels separately from other labels as these are most important. Also, displaying subsystems together with other labels confuses users over our #syz set interface.
* dashboard: display fix candidate info on the bug pageAleksandr Nogikh2023-07-261-1/+3
|
* dashboard: display bug origin tree testing resultsAleksandr Nogikh2023-05-121-1/+2
| | | | | Display them as a collapsible block on the bug info page. Use colors to distinguish results.
* dashboard: let admins trace subsystem assignmentAleksandr Nogikh2023-04-281-0/+3
|
* dashboard: use a down-pointing triangle in collapsible blocksAleksandr Nogikh2023-04-281-1/+1
| | | | | It's more intuitive for users to see a down-facing triangle for collapsed blocks.
* dashboard: support bug labelsAleksandr Nogikh2023-04-271-4/+4
| | | | | | | | | | | | | | | | Let bug labels come in three flavours: 1) Bug labels with multiple values (e.g. `subsystems`). 2) Bug labels with only one value (e.g. `prio`). 3) Flags. Let users configure bug labels via email by issuing the following commands: #syz set subsystems: abc, def #syz set no-reminders #syz unset no-reminders Also let users set tags for invididual bugs in reported bug lists: #syz set <1> some-tag
* dashbord: dispaly fix bisection attempts as a job listAleksandr Nogikh2023-04-241-1/+0
| | | | | By displaying it as a table we're missing job logs, which are actually the most significant piece of information there.
* dashboard: display collapsible info sections on the bug pageAleksandr Nogikh2023-04-071-9/+15
| | | | | Instead of showing tons of extra information to the user, only show the collapsed titles with counts and let user toggle the sections they need.
* dashboard: put cause and fix bisection info blocks closerAleksandr Nogikh2023-04-071-2/+5
| | | | | Align them horizontally instead of vertically. This will save space on the bug info page.
* dashboard: collect and display bug-related discussionsAleksandr Nogikh2023-04-061-0/+1
| | | | | | | | | Collect the information about the discussions under bug reports and patches that target the reported bugs. For now only Lore discussions are supported. Display the discussion list on the bug info page.
* dashboard: don't show Reported-by for never reported bugsAleksandr Nogikh2023-03-221-0/+2
| | | | | | Some bugs were fixed/invalidated before they could be publicly reported. Don't show an ambiguous `Reported-by: syzbot+@syzkaller.appspotmail.com` in this case.
* dashboard: hint at subsystem correctionAleksandr Nogikh2023-02-271-1/+1
| | | | | On the bug info page, add a link to the documentation about the process of manual correction of subsystem tags.
* dashboard: display subsystems on the bug pageAleksandr Nogikh2023-02-141-0/+6
| | | | | Currently the information is only displayed on the main page, which is not very convenient.
* dashboard: highlight fixing commitsAleksandr Nogikh2022-05-301-3/+3
|
* dashboard/app: linkify source files in sample reportsDmitry Vyukov2022-05-201-1/+1
| | | | Fixes #652
* dashboard/app: update bug.html to use #crash_divAlexander Potapenko2022-05-201-1/+1
| | | | Switch to using a div instead of textarea on the /bug page.
* dashboard/app: show patch testing requests on bug pageDmitry Vyukov2020-05-081-0/+1
| | | | Fixes #1547
* dashboard/app: few more cosmetic UI changesDmitry Vyukov2019-11-071-2/+2
| | | | | Don't add <br> before bisection, if bisection does not exist. Rename fix bisections table to make it clearer that they failed.
* dashboard/app: slightly tidy up bisection resultsDmitry Vyukov2019-11-071-2/+2
| | | | | | | Add new lines around bisection block as it was before. Remove kernel tree, does not seem to be critical. Make it clear what is cause bisection and what is fix bisection (currently we have 2 "Bisection" which is not very helpful).
* dashboard/app: refactor few things related to fix bisectionsDmitry Vyukov2019-10-041-2/+0
|
* Merge pull request #1383 from zsm-oss/show-bisectionszsm-oss2019-10-041-40/+7
| | | dashboard/app: show fix bisections on bug web UI
* dashboard/app: remove duplicate code inside bug.html templateZubin Mithra2019-08-081-69/+2
| | | | | | | * Introduce "bisect_results" inside templates.html to take in a uiJob and shows its contents. * Modify bug.html to use "bisect_results" to show BisectCause and BisectFix uiJob.
* dashboard/app: allow fix bisection results to be visible on web UIZubin Mithra2019-08-011-0/+35
| | | | | | | | | | | * Modify the dashboard/app/bug.html template to show fix bisection results. * Modify handleBug() to fetch and create a uiJob for fix bisection results. * Modify loadBisectJob() to fetch jobs based on a specified jobType. Change all callers to pass in jobType info into loadBisectJob(). * Add TestBugBisectionResults() to ensure bisection results show up as expected.
* dashboard/app: split dashboard per-namespaceDmitry Vyukov2019-04-081-1/+5
| | | | | | | We now have too many namespaces and bugs. Main page takes infinity to load. Also almost nobody is interested in more than 1 namespace. So split main page per-namespaces.
* dashboard/app: use 12-char hash in Fixes tagsDmitry Vyukov2019-03-211-1/+1
| | | | | | | @ebiggers pointed out that Fixes tags should use 12-char hash: https://groups.google.com/d/msg/syzkaller-bugs/yUhRrLD6T6A/3TMwOWvWAgAJ I can't find any documentation on this, but it looks like most existing tags follow this convention so use 12-char hashes.
* dashboard/app, syz-ci: bisection supportDmitry Vyukov2019-03-171-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds bulk of support for bisection to dashboard/app and syz-ci: - APIs to send bisection jobs and accept results - syz-ci logic to execute bisection jobs - formatting of emails with results - showing of results on dashboard Some difficulties we have to overcome: - since linux is frequently build/boot broken, lots of bisections are inconclusive, need to present such results too - git bisect is poorly suitable for automation, have to resort to output parsing (is output stable?) - git bisect turns out to fail (exit with non-0 status) when bisection is inconclusive (multiple potential cause commits) - older syzkaller revisions can't be built with newer (broken) kernel header, e.g.: ebtables.h:197:19: error: invalid conversion from ‘void*’ to ‘ebt_entry_target*’ - newer compilers produce more warnings and break old syzkaller builds, e.g.: kvm.S.h:6:12: error: ‘kvm_asm64_vm86’ defined but not used [-Werror=unused-const-variable=] - figuring relevant emails to CC from a commit is non-trivial: besides commit author, there can be some emails in commit tags, or not, which tags to use is an interesting question (some may include irrelevant emails) we can also run get_maintainers.pl on the commit, but this can produce too wide list if commit touches lots of files, it can also produce too small list, and then we need to resort to blame - for inconclusive bisection we probably don't need to include emails referenced in the commits (there can be too many of these commits) - need to be careful to exclude own syzbot email from commit CC list, now syzbot emails are referenced in some commits (Reported-by/Tested-by/etc) (can cause some kind of infinite recursion) - lots of commits reference stable mailing list, we should not include it in CC because it's referenced for backports rather then bug reports - since we add new Bug entity fields which we use in queries, whole datastore need to be upgrades to add the new field to index - we must not discard the crash that was used for bisection (treat it as a reported crash) - bisection results need 2 forms of reports: one when we add bisection results to already reported bug another when we report a bug first time with bisection results - when reporting a bug with bisection results we need to use the crash that was used for bisection - some fraction of bisections will probably fail with various errors and we will need some mechanism to retry bisection after the root cause is resolved this is not implemented yet - linux-next is problematic for 2 reasons: fix bisection can't possibly run on linux-next as commits are not reachable from HEAD lots of commits are missing in linux-next (even in linux-next-history) e.g. we have some c63e9e91a254a52 which is now missing in linux-next/linux-next-history - older kernels can't be build with fresh gcc/binutils/perl/make/glibc for now we have to stop at v3.9 (this only requires switching gcc several times along the way) - kernels past v4.11 do not build with gcc 7 and 8 (undefined reference to `____ilog2_NaN') - v4.1 and back have only compiler-gcc5.h - v3.17 and back have only compiler-gcc4.h - v3.6 and back do not have make olddefconfig - compat socket calls can't be bisected past "x86/entry/syscalls: Wire up 32-bit direct socket calls" (v4.10) because of https://syzkaller.appspot.com/bug?id=b5b150e322d5f48c869bcf1528cdbee08d1421cb - v2.6.28 and below does not work with modern make: *** mixed implicit and normal rules: deprecated syntax - v3.8 build fails: Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373. kernel/Makefile:134: recipe for target 'kernel/timeconst.h' failed - make 3.81 works for v2.6.28. 3.81 almost works with current HEAD, you need to run make twice because first run spuriously fails with: - v2.6.28 with gcc-4.9.4 broken with: include/linux/kvm.h:240:9: error: duplicate member ‘padding’ - but even defconfig fails: VDSO arch/x86/vdso/vdso.so.dbg gcc: error: elf_x86_64: No such file or directory gcc: error: unrecognized command line option ‘-m’ It seems that we also need old binutils. - for v3.8 and below we need perl-5.14.4. Unfortunately this or any manually built perl doesn't work for later kernels: Can't locate strict.pm in @INC - kernels starting from 4.14 and older are boot broken: https://lkml.org/lkml/2018/9/7/648 - kernels older than 4.12 are broken during netdev setup (fixed by commit 675c8da049fd6556eb2d6cdd745fe812752f07a8) Update #501
* dashboard/app: poll commits infoDmitry Vyukov2019-02-171-4/+4
| | | | | | | | | | | | | | | This implements 2 features: - syz-ci polls a set of additional repos to discover fixing commits sooner (e.g. it can now discover a fixing commit in netfilter tree before it reaches any of the tested trees). - syz-ci uploads info about commits to dashboard. For example, a user marks a bug as fixed by commit "foo: bar". syz-ci will find this commit in the main namespace repo and upload commmit hash/date/author to dashboard. This in turn allows to show links to fixing commits. Fixes #691 Fixes #610
* dashboard/app: show kernel commit timeDmitry Vyukov2018-11-211-1/+2
| | | | | | Show kernel commit time (author) in a hint for all kernel commit hashes. Update #473
* dashboard/app: tidy up UIDmitry Vyukov2018-09-201-2/+6
| | | | | | | Don't show maintainers for crashes if we don't have them (only linux has). Show short git hashes for kernel/syzkaller, 40 chars looks excessive (full hash is in hint). Show current build kernel/syzkaller git hash in managers table. Remove fuzzing time from managers table (does not seem too useful).
* dashboard/app: show recent crashes first after time sortingDmitry Vyukov2018-08-241-1/+1
|
* dashboard/app: don't show broken links to empty configsDmitry Vyukov2018-07-241-1/+1
|
* dashboard/app: use CCYY/MM/DD hh:mm formatDmitry Vyukov2018-07-021-1/+1
| | | | | | | | | | Since dateSort does not take years into account, Time field of long-standing bugs is not sorted correctly. Also, it will become more useful to include year of closed date after we operate the dashboard for some years. Thus, this patch changes the format of formatTime method, and use textSort for sorting. Based on patch by Tetsuo Handa.
* dashboard/app: fix table sorting on firefoxDmitry Vyukov2018-06-191-11/+11
| | | | | | | | | | | Under Firefox 60 browser, sort operation does not work and ReferenceError: event is not defined error message is printed in the Web Console window. Let's explicitly pass an object reference to the sortTable function. Credit goes to Tetsuo Handa.
* dashboard/app: add Reported-by to bug pageDmitry Vyukov2018-04-101-0/+1
| | | | Fixes #549
* dashboard/app: add sample crash report to bug pageDmitry Vyukov2018-03-221-1/+6
| | | | | As requested at: https://groups.google.com/d/msg/syzkaller/zYlQ-b-QPHQ/u2jZPNRAAAAJ
* dashboard/app: add support for Google AnalyticsDmitry Vyukov2018-03-211-2/+1
|
* dashboard/app: allow sorting crash tableDmitry Vyukov2018-03-081-11/+11
| | | | Sorting at least by date may be useful.
* dashboard/app: fix check for closed bugsDmitry Vyukov2018-02-261-1/+1
| | | | Template if's do not work this way!
* dashboard/app: allow sorting bug tablesDmitry Vyukov2018-02-171-0/+1
| | | | Fixes #523
* dashboard/app: finer-grained access controlDmitry Vyukov2018-02-141-3/+4
| | | | | | | | This is the bulk of work for opening dashboard. Implement finer-grained access control (admin/user/public). Show only info designated to the current user access level. Rework UIs for more clarity re bug statuses. Show fixed bug.
* dashboard/app: tidy up UIsDmitry Vyukov2018-02-011-1/+1
| | | | | Show short kernel repo/branch aliases, also slightly reshuffle and tidy up tables.
* dashboard/app: show info about duplicates and similar bugsDmitry Vyukov2017-12-041-10/+20
| | | | | Show info about duplicates and similar bugs in other kernels on the bug page.
* dashboard/app: show when bugs are fixed and whereDmitry Vyukov2017-11-061-0/+2
|
* dashboard/app: show syzkaller commit for crashesDmitry Vyukov2017-08-101-0/+2
|
* dashboard/app: output more info about crashesDmitry Vyukov2017-08-081-0/+6
|
* dashboard/app: new dashboard appDmitry Vyukov2017-08-021-0/+42
The new app is based on our experience with syz-dash and is meant to supersede it. This app aims at full automation of bug lifecycle: reporting, tracking updates, closing fixed bugs. The main differences are: - this app has support for reporting bugs either by email or using an arbitrary external reporting system - this app tracks status of bugs - this app captures more info about kernel builds