-
Notifications
You must be signed in to change notification settings - Fork 1.3k
pkg/cover: cover.html is too big #5813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I assume that majority of its size are the syzlang programs, maybe we can remove them or offload them somewhere else (e.g. replace by the links to some web endpoint that serves them). |
+1. I forgot about the programs. |
(dumping my thought from an offline discussion here) I am afraid that gzipping all programs together won't work, because we'll have to unpack them when the page is opened (or the first time the user wants to see a program), and the browser will still explode. It would be nice to compress individual programs somehow, perhaps using a Shared Compression Dictionary. |
For what it's worth, here's an example of a crashing cover.html page: https://storage.googleapis.com/syzbot-assets/abc0c3aab895/ci-upstream-kasan-gce-root-f315296c.html |
Uncompressed
But if we drop all
@dvyukov @tarasmadan wdyt about either not including big reproducers in there or not encoding the images themselves? I doubt anyone would ever click on the line in the coverage file to find out what exact fs image was mounted to reach it. |
+1 to limit the fs size to a few lines. |
All programs can be used to recreate the coverage with syz-execprog. |
At least @sirdarckcat parsed them out from the reports. |
You can have some JavaScript code at the beginning stop the loading of the html page and then use HTTP Range requests to load specific sections. However that requires you to save an index with the offsets at the end of the file (and have the JS do a range request to get them). Or do what we do for the kernel dashboard or kernel.dance which is just generate all output as a SQLite database and have JS code fetch it. |
Is your feature request related to a problem? Please describe.
Our cover.html is too big.
Sometimes Chrome can't process it and fails.
Describe the solution you'd like
We can compress the source code embedded into cover.html
JS zlib may be the way to go.
The idea is to compress all the files we're embedding during the cover.html generation and decompress the data on-demain in the browser.
The text was updated successfully, but these errors were encountered: