Commit Graph

2551 Commits

Author SHA1 Message Date
Dmitry Vyukov
b9f93868ed dashboard/app: use CCYY/MM/DD hh:mm format
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.
2018-07-02 14:44:14 +02:00
Dmitry Vyukov
5601c52580
Update syzbot.md
add link to another clang compiler
2018-07-02 10:45:51 +02:00
Dmitry Vyukov
664ef9a3e1 pkg/compiler: check for unused declarations
Error on unused structs/unions/resources/flags.
Finds tons of bugs.
2018-06-30 19:34:41 +02:00
Dmitry Vyukov
9054fae016 sys/fuchsia: remove ZX_POL_NEW_EVPAIR
It was removed from zircon.
2018-06-30 17:30:05 +02:00
Dmitry Vyukov
b7d8ccf74f executor: include more headers on fuchsia
Since we are taking address of functions in syscall table,
we need all headers even if we don't use them directly.
2018-06-30 17:28:48 +02:00
Dmitry Vyukov
bdc18a387e Makefile: format C sources before generating Go
If executor common headers are unformatted then go generate pkg/csource
will embed unformatted headers. Then format_cpp will re-format
only executor headers, but not embed versions. As the result
pkg/csource will end up with wrong embed headers.

Format C sources before generating Go to fix this.
2018-06-30 17:26:22 +02:00
Dmitry Vyukov
4cd4cbd625 Makefile: don't use target go to build build binaries
Build of host Go binaries is broken on fuchsia,
because we use target toolchain and it creates broken binaries.
Introduce HOSTGO and use it for host binaries.
2018-06-30 17:20:17 +02:00
Dmitry Vyukov
3e16f33c65 vm: suppress "no output" and "lost connection" reports 2018-06-30 14:51:07 +02:00
Dmitry Vyukov
e2f6c7543e vm: simplify MonitorExecution
Simplify "no output" detection logic.
Don't allocate byte slices on every iteration.
2018-06-30 14:47:20 +02:00
Dmitry Vyukov
3c690e2e53 pkg/repro: ignore suppressed crashes
This looks like the simplest way to deal with suppressed crashes reported out of repro.

Fixes #645
2018-06-30 14:37:59 +02:00
Dmitry Vyukov
44594e6362 pkg/report: suppress fuzzer crashes on fuchsia 2018-06-30 13:59:52 +02:00
Dmitry Vyukov
2960589335 pkg/csource: account for different types of syscalls on fuchsia 2018-06-30 13:40:00 +02:00
Dmitry Vyukov
65c456e595 pkg/csource: don't use pthread_cond_timedwait for fuchsia
We removed it in executor, do the same in csource.
2018-06-30 13:32:05 +02:00
Dmitry Vyukov
b1f623c853 executor: fix zx_log_read return value
It does not return status and breaks fallback signal.
2018-06-30 13:29:55 +02:00
Dmitry Vyukov
57799a834f prog: fix and improve fallback coverage
First we emitted fallbackSignalFlags inside of the loop,
while we need to this outside of the loop.
Second, make flags signal weaker otherwise we get all 256
signals for open, chmod, etc.
Third, simplify and speedup code.
2018-06-30 13:28:11 +02:00
Dmitry Vyukov
5012ddc8eb prog: detect when flags are a bitmask 2018-06-30 13:27:24 +02:00
Dmitry Vyukov
906b9e38f1 pkg/ipc: don't consider hang as failure 2018-06-30 13:21:47 +02:00
Dmitry Vyukov
1d788bb883 pkg/report: better detect hangs on fuchsia 2018-06-30 13:21:17 +02:00
Dmitry Vyukov
5739f7bef2 sys/fuchsia: add few new syscalls 2018-06-29 20:55:42 +02:00
Dmitry Vyukov
1974bc48ee syz-fuzzer: generate programs more frequently with fallback signal 2018-06-29 20:55:08 +02:00
Dmitry Vyukov
f7498af7af prog: add stronger fallback signal
Also mixin resource constructors and some signature
of flags values for successful calls into fallback coverage.
2018-06-29 20:34:43 +02:00
Dmitry Vyukov
0c4b1960d0 pkg/ipc: suppress gometalinter warnings 2018-06-29 18:18:50 +02:00
Dmitry Vyukov
0a971ab1d0 syz-manager: implement fallback coverage report 2018-06-29 18:15:41 +02:00
Dmitry Vyukov
b6b4ddad63 executor: improve fuchsia fallback coverage 2018-06-29 18:15:07 +02:00
Dmitry Vyukov
9dd8cf63e0 executor, pkg/ipc: support output over pipes 2018-06-29 16:33:07 +02:00
Dmitry Vyukov
9efa2eab69 dashboard/app: allow empty CompilerID in Build
Some OSes don't require a compiler.
2018-06-29 13:03:51 +02:00
Dmitry Vyukov
c45c8c2a07 pkg/instance: fix Accept error check 2018-06-29 12:58:02 +02:00
Dmitry Vyukov
5c7ca877eb pkg/vcs: fix fuchsia sandboxing 2018-06-29 12:11:46 +02:00
Dmitry Vyukov
bdac5e17f1 pkg/build: don't fail without compiler
Some OSes don't need a compiler.
Just return an empty string in such case.
2018-06-29 12:03:04 +02:00
Dmitry Vyukov
ca1f32d15a pkg/ipc: cleanup binary copy 2018-06-29 11:58:22 +02:00
Dmitry Vyukov
ac5f183dc0 pkg/ipc: fix cleanup in test
Currently we first send on errs and then close env.
As the result process can exit before env.Close finishes,
which will leave garbage behind.
Close env before sending on errs.
2018-06-29 11:46:16 +02:00
Dmitry Vyukov
346edcb763 executor: fix pid check after fork 2018-06-29 11:45:59 +02:00
Dmitry Vyukov
5adb8b7437 Makefile: simplify fuchsia Go build
$(SOURCEDIR)/scripts/devshell/go seems to work out of the box.
2018-06-29 11:16:50 +02:00
Dmitry Vyukov
7b45fa115b pkg/csource: support fuchsia
Lots of assorted heavylifting to support csource on fuchsia.
2018-06-29 10:47:42 +02:00
Dmitry Vyukov
1a3c2436df sys/targets: fix fuchsia/arm64 flags 2018-06-29 10:47:04 +02:00
Dmitry Vyukov
df42529884 pkg/ipc: use absolute path to start subprocess
fuchsia mishandles relative paths.
2018-06-29 10:46:25 +02:00
Dmitry Vyukov
c390949829 sys/targets: fix env expansion for fuchsia 2018-06-29 09:24:07 +02:00
Dmitry Vyukov
e0755ee02f sys/fuchsia: add pipe syscall 2018-06-29 09:23:49 +02:00
Dmitry Vyukov
a736f2e8e6 tools/syz-prog2c: allow to test build of the resulting program 2018-06-29 09:22:42 +02:00
Dmitry Vyukov
68ce63c468 pkg/build: support fuchsia builds 2018-06-28 13:42:07 +02:00
Dmitry Vyukov
e502f1a6df docs: remove mentions of vmlinux
vmlinux is deprecated in favor of kernel_obj.
Remove all mentions of it.
Also warn in syz-manager/mgrconfig if vmlinux is set.
2018-06-28 13:42:04 +02:00
Dmitry Vyukov
dba0b50e78 dashboard/app: fix gometalinter warning
dashboard/app/api.go:390:28⚠️ do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (SA1012) (megacheck)
2018-06-28 10:02:52 +02:00
Dmitry Vyukov
7b4e273e53 vendor: add github.com/ianlancetaylor/demangle
Add the new package required by pkg/report/fuchsia.go.
Also update everything else because there does not seem
to be a way to add a package without a wholesale update.
2018-06-28 09:59:11 +02:00
Dmitry Vyukov
c3e23de010 sys/targets: actually check -static support 2018-06-28 09:23:26 +02:00
Dmitry Vyukov
a2c1dcb323 pkg/report: implement fuchsia reporter 2018-06-27 19:44:00 +02:00
Dmitry Vyukov
919e77001d pkg/vcs: add fuchsia support
For now only checking out and polling.
2018-06-27 14:56:46 +02:00
Dmitry Vyukov
58e8587f64 pkg/vcs: pave way for multi-vcs support
Wrap current git interface in abstract interface.
Provide constructor that create repo interface for the given os/vm.
2018-06-27 13:57:21 +02:00
Dmitry Vyukov
43da5e3a1b pkg/vcs: move from pkg/git
Rename pkg/git to pkg/vcs because we need to support not only git.
2018-06-27 13:07:03 +02:00
Dmitry Vyukov
43e60f7e09 pkg/report: supporess another OOM for gvisor 2018-06-27 09:35:10 +02:00
Dmitry Vyukov
21caae5df6 syz-ci: don't report transient errors during patch testing
If no instances crashed and at least one booted and completed
testing successfully, report success.

Fixes #641
2018-06-26 19:17:45 +02:00