| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
The function returned incorrect result when the reporting stage of
interest was completely skipped and never reported.
|
| |
|
|
|
| |
Use the proper namespace name to show.
+few minor tweaks
|
| |
|
|
|
|
|
|
|
|
| |
This helper function can be used in the reporting filtering rules to
skip certain reporting stages depending on whether the previous stage(s)
have been manually upstreamed.
Add tests that it does have the intended effect.
Cc #6554.
|
| |
|
|
| |
Closes #6380.
|
| |
|
|
| |
The lines about folders don't look actionable.
|
| |
|
|
| |
getSpannerClient returns prod client as a default.
|
| |
|
|
|
| |
1. Set coverage db.
2. Use appUrl instead of r[.URL].Host.
|
| |
|
|
| |
We periodically send coverage reports for the regressions detection.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Context: #5829.
Let's not pretend that the revoked reproducer never existed and still
report it. It will avoid unexpected side-effects for the higher-level
logic.
There may be better ways to resolve the bug, but let's first just get it
fixed to prevent syzbot from spamming the mailing lists.
Add a test to verify the new behavior.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Fix checking of Logf, it has string in 0-th arg.
Add checking of t.Errorf/Fatalf.
|
| |
|
|
|
| |
In case or build/boot/test errors there will never be a reproducer.
It's better to report them right away, without waiting.
|
| |
|
|
|
| |
A recent failure (#4412) could have been more constrained if our
reproducer emails were included in our daily limits. Let's change that.
|
| |
|
|
|
|
|
|
|
|
| |
Fix a bug in the reporting of bugs with revoked reproducers. Add a test
that reproduces the problematic situation.
Also, ensure that we don't include the revoked reproducer into the
report we send to the next reporting stage.
Cc #4412.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have a single global `config` variable and access it
throughout the whole dashboard application.
However, this approach has been more and more complicated test writing
-- sometimes we want the config to be only slightly different, so that
it's not worth it adding new namespaces, sometimes we have to test how
dashboard handles config changes over time.
This has already led to a number of hacky contextWithXXX methods that
mocked various parts of the global variable. The rest of the code had to
sometimes still use `config` directly and sometimes invoke getXXX(c)
methods. This is very inconsistent and prone to errors.
With more and more situations where we need to patch the config
appearing (see #4118), let's refactor the application to always access
config via the getConfig(c) method. This allows us to uniformly patch
the config and be sure that the non-patched copy is not accessible from
anywhere else.
|
| |
|
|
|
|
|
| |
Rely on the Poisson distribution to determine the moment when we should
give on a bug.
We don't have to wait 100x the average time between the crashes.
|
| |
|
|
|
|
|
|
|
|
| |
Race detector reports a race between
dashboard/app/reporting_test.go:1102
and
dashboard/app/handler.go:183
Fix this by storing decommission updates in the context rather than by
directly modifying the global config variable.
|
| |
|
|
|
|
| |
Currently we return an empty value for amd64, so that it's not reported.
Let's make the API more flexible -- return the value as is and let
specific reporters decide whether to mention amd64 or not.
|
| |
|
|
|
| |
De-facto BugReport anyway refers to a specified crash and not just to
the bug in general. Let's also include the Manager field there.
|
| |
|
|
| |
The former one is consistent with the dashboard URL from our bug reports.
|
| |
|
|
| |
This will make FullBugInfo's contents much more useful.
|
| |
|
|
| |
Include the link to the subsystem page on the dashboard.
|
| |
|
|
|
|
|
|
| |
These tests require a change in the global configuration during the test
execution, so they at least need their own namespaces in order not to
interfere with other tests.
Fixes #3641
|
| |
|
|
|
| |
The update_report API can be used to re-fill the missing report details
after a crash has already been sent to syzbot.
|
| |
|
|
|
| |
This will help optimize the detection and addition of missing fields to
the existing reports.
|
| |
|
|
|
| |
Return bugs from decommissioned namespaces as closed to external
reportings.
|
| |
|
|
|
| |
Bisection jobs can refer to other crashes/builds, so for the full bug
info we need complete BugReport objects.
|
| |
|
|
|
|
|
| |
Introduce the /load_full_bug call that, for a given bug ID, returns
1) Bisection results
2) Similar crashes in other namespaces
3) A subset of most noteworthy crashes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Asset is a file/attachment relevant for debugging a kernel crash or the
syzbot itself.
Dashboard keeps track of the uploaded assets and manages their lifetime.
Some of the assets are attached to the bug reports sent by syzkaller,
some (like html coverage report) are displayed on the web portal.
Two new API requests:
* add_build_assets -- let dashboard remember one more build-related
asset.
* needed_assets -- query the list of assets that are still needed by the
dashboard.
|
| |
|
|
|
|
|
|
| |
Until #3161 is implemented, we still need to manually update the DB each
time we create/delete Reporting objects.
The existing code can only append missing items. Make it also support
deleting and inserting them at arbitrary locations.
|
| |
|
|
|
|
|
| |
Receive the information, whether the crash log contains strace output,
from the syz-manager.
Adjust bug reporting email depending on that flag.
|
| |
|
| |
Lets extend the test suite to cover the external bugtracker detach logic.
|
| |
|
|
|
|
|
|
|
|
| |
Not sure how it worked all this time, but the test started failing
for me after docker images update.
The problem is that the extracted from html page URL looks like this:
/text?tag=MachineInfo&x=7f696f35fe6755e7
we then use this URL to request the machine info page,
but the "&" part is problematic is not really valid.
Unescape extracted from html URL.
|
| |
|
|
| |
Update #1575
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We use strings to identify OS/Arch.
These strings are duplicated throughout the code base massively.
golangci-lint points to possiblity of typos and duplication.
We already had to define these names in pkg/csource
and disable checking for prog package. A future change triggers
such warnings in another package.
Add OS/Arch name consts to sys/targets so that they can be used
to refer to OS/Arch. Use the consts everywhere.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add the following fields to BugReport:
- bug status
- build id
- build time
- syzkaller commit
- crash time
- repro opts
Will be required to export info to KCIDB.
Update #2144
|
| |
|
|
|
|
|
|
|
| |
Assorted local fixes fixes, like dedup machine info in the database,
fix up HTML table markup, enforce and check access to the machine info
entities, etc.
Follow up to #2085
Fixes #466
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Change syz-manager so that it will send machine info the first time a
crash occurs.
- Add a field in entities.Crash to store machine info.
- Add a field in dashapi.BugReport to store machine info.
- Change the HTML template and struct uiCrash to display machine info.
- Add a test to make sure that the link to machine info appears on the
webpage.
Update #466
|
| |
|
|
|
|
|
|
|
|
|
| |
Bug dup cycles are not useful and the
rest of the code is not prepared for them.
Prohibit updates that create cycles.
This required to restructure the code to move
the check into the transaction, so that we
can't get cycles even after concurrent updates.
Fixes #1852
|
| |
|
|
|
|
|
|
|
|
| |
0. Remove aetest build tag. We don't need it anymore, go test should work.
1. IsDevAppServer does not return true in tests anymore, so don't use it
2. Use a different mechanism to register test/prod config.
We don't have aetest tag anymore, so we need something even more dynamic.
3. Fix new golangci-lint warnings: all test files are checked now.
Update #1461
|
| |
|
|
|
|
|
|
|
| |
The old go 1.9 App Engine runtime is now deprecated. Update to the go 1.11
runtime, which still allows us to use the old App Engine library (removed
in the 1.12 runtime).
Closes: #1461 ("dashboard: port app to go111/go112 runtime")
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We used to report the newest crash long time ago.
Then we switched to preserving the crash across reporting
stages b/c what reaches next stage may be not what was
sent upstream in the previous one.
However, it seems to cause more problems now than it solves.
Crash classification become much better + some backlog
of bugs was clearer, so we don't have that may glued bugs.
However, in some cases we report notoriously old crashes
which is bad. Switch to the newest crash agian.
Let's see how this works now.
|
| |
|
|
|
|
|
| |
Extend BugReport with few fields that are needed by all reportings anyway.
This allows to not create and fill an almost identical object to pass to template.
Update #501
|
| |
|
|
|
|
| |
Use expectOK for checking errors more.
Use pollEmailBug helper more.
Add expectNE and use it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently dashboard can only report new bugs and add reproducers
to already reported bugs.
This change adds infrastructure for the dashboard to actively act
on existing bugs in different ways. 4 new notifications (actions) added:
- dashboard can auto-upstream bugs from moderation after an embargo period
- dashboard can auto-upstream bugs if reporting criteria changes
(e.g. it reported a bug into moderation because there was no repro,
but then repro appears and the bug is automatically sent upstream)
- dashboard detects when a fixing commit does not appear in any tested trees
for too long and sends a notification about this
- dashboard detects stale bugs (last happened monts ago, no repro, no activity)
and auto-invalidates them
This will also be useful to send pings for old bugs and do other automation.
|
| |
|
|
|
|
|
|
|
|
| |
Allow a special case of cross-reporting duping:
rom last but one reporting to the last one (which is stable, final destination)
provided that these two reportings have the same access level and type.
The rest of the combinations can lead to surprising states and
information hiding, so we still don't allow them.
Fixes #569
|
| |
|
|
|
|
|
|
| |
We currently split them with / which makes it hard
to copy paste and generally understand that these
are 2 separate things.
Split them with a space. User request:
https://groups.google.com/forum/#!msg/syzkaller-bugs/yNFv3qgXY3I/ejPrxLCdBAAJ
|
| |
|
|
|
|
|
| |
Use standard dashboard client provided by dashapi package in tests.
Switch everything to use the client instead of API method.
Fixes #606
|