clusterfuzzlite icon indicating copy to clipboard operation
clusterfuzzlite copied to clipboard

"Pruning" jobs seem to upload artifacts with no summaries

Open evverx opened this issue 3 years ago • 4 comments

In https://github.com/evverx/libbpf/actions/runs/1728290427 the first "pruning" job uploaded a file named crashes-bpf-object-fuzzer:

$ unzip -l crashes-bpf-object-fuzzer.zip
Archive:  crashes-bpf-object-fuzzer.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-21-2022 10:59   address/
      417  01-21-2022 10:59   address/crash-1361a2bb8c3090236eff2b9eede58dd6af20bdc2
      269  01-21-2022 10:59   address/crash-560ab4bce5d578289415a41a9f173ab308185a55
     2560  01-21-2022 10:59   address/crash-65c8d13701ba5d2e2686fb2edf502a383f2602f2
      520  01-21-2022 10:59   address/crash-6d9b7d4464f9f2bb3f1f9248873cf07d983338bc
     2624  01-21-2022 10:59   address/crash-a88f6ed52a54dea0797beb168d56999d32d252f4
      520  01-21-2022 10:59   address/crash-c52e9ecec9d012f86b3de6784d6192911da71825
      525  01-21-2022 10:59   address/crash-fd369cf6cc2489d62360426a9d63e487f8df8fec
---------                     -------
     7435                     8 files

I'm not sure whether it should have been uploaded in the first place but artifacts uploaded by CFLite/CIFuzz usually contain summaries and the names of fuzz targets:

$ unzip -l address-artifacts.zip
Archive:  address-artifacts.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-23-2022 19:29   fuzz-dhcp-server/
        0  01-23-2022 19:29   fuzz-dhcp-server/address/
     9240  01-23-2022 19:29   fuzz-dhcp-server/address/crash-64c861ad981838e509920e8538640ef46feaae66.summary
      251  01-23-2022 19:29   fuzz-dhcp-server/address/crash-64c861ad981838e509920e8538640ef46feaae66
---------                     -------
     9491                     4 files

evverx avatar Jan 24 '22 08:01 evverx

Looking at https://github.com/evverx/libbpf/actions/runs/1727948413, it seems artifacts uploaded by CFLite in PRs don't contain the names of fuzz targets either:

$ unzip -l crashes-bpf-object-fuzzer_2.zip
Archive:  crashes-bpf-object-fuzzer_2.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-21-2022 09:35   address/
        0  01-21-2022 09:35   memory/
        0  01-21-2022 09:35   undefined/
      269  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55-minimized
     3297  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55.summary
      269  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55
      200  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e-minimized
     4536  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e.summary
      200  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e
      269  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55-minimized
     2789  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55.summary
      269  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55
---------                     -------
    12098                     12 files

evverx avatar Jan 24 '22 09:01 evverx

Looking at https://github.com/evverx/libbpf/actions/runs/1727948413, it seems artifacts uploaded by CFLite in PRs don't contain the names of fuzz targets either:

$ unzip -l crashes-bpf-object-fuzzer_2.zip
Archive:  crashes-bpf-object-fuzzer_2.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-21-2022 09:35   address/
        0  01-21-2022 09:35   memory/
        0  01-21-2022 09:35   undefined/
      269  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55-minimized
     3297  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55.summary
      269  01-21-2022 09:35   address/crash-560ab4bce5d578289415a41a9f173ab308185a55
      200  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e-minimized
     4536  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e.summary
      200  01-21-2022 09:35   memory/crash-2834c46d2509f43f12d270197693e1f5f772b14e
      269  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55-minimized
     2789  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55.summary
      269  01-21-2022 09:35   undefined/crash-560ab4bce5d578289415a41a9f173ab308185a55
---------                     -------
    12098                     12 files

I'm confused (maybe because it's late here :-) isn't the name of the fuzz target in the zipfile name?

jonathanmetzman avatar Jan 26 '22 04:01 jonathanmetzman

In https://github.com/evverx/libbpf/actions/runs/1728290427 the first "pruning" job uploaded a file named crashes-bpf-object-fuzzer:

$ unzip -l crashes-bpf-object-fuzzer.zip
Archive:  crashes-bpf-object-fuzzer.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-21-2022 10:59   address/
      417  01-21-2022 10:59   address/crash-1361a2bb8c3090236eff2b9eede58dd6af20bdc2
      269  01-21-2022 10:59   address/crash-560ab4bce5d578289415a41a9f173ab308185a55
     2560  01-21-2022 10:59   address/crash-65c8d13701ba5d2e2686fb2edf502a383f2602f2
      520  01-21-2022 10:59   address/crash-6d9b7d4464f9f2bb3f1f9248873cf07d983338bc
     2624  01-21-2022 10:59   address/crash-a88f6ed52a54dea0797beb168d56999d32d252f4
      520  01-21-2022 10:59   address/crash-c52e9ecec9d012f86b3de6784d6192911da71825
      525  01-21-2022 10:59   address/crash-fd369cf6cc2489d62360426a9d63e487f8df8fec
---------                     -------
     7435                     8 files

I'm not sure whether it should have been uploaded in the first place but artifacts uploaded by CFLite/CIFuzz usually contain summaries and the names of fuzz targets:

$ unzip -l address-artifacts.zip
Archive:  address-artifacts.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-23-2022 19:29   fuzz-dhcp-server/
        0  01-23-2022 19:29   fuzz-dhcp-server/address/
     9240  01-23-2022 19:29   fuzz-dhcp-server/address/crash-64c861ad981838e509920e8538640ef46feaae66.summary
      251  01-23-2022 19:29   fuzz-dhcp-server/address/crash-64c861ad981838e509920e8538640ef46feaae66
---------                     -------
     9491                     4 files

I think this has to do with the differences in how merge is handled. I'll look into whether this is an easy fix.

jonathanmetzman avatar Jan 26 '22 04:01 jonathanmetzman

I'm confused (maybe because it's late here :-) isn't the name of the fuzz target in the zipfile name?

Apparently it is :-) I'm not sure how I overlooked that :-) It's just that I expected that CFLite would put all crashes in one archive to make it easier to download them in one fell swoop.

evverx avatar Jan 26 '22 12:01 evverx

I'm not sure why I didn't close this. Closing.

evverx avatar May 08 '23 04:05 evverx