-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Update Clang toolchain from 18.0.0 to 18.1.8 #12365
base: master
Are you sure you want to change the base?
Conversation
This is rather a draft for discussion and testing : what is the good way to test that ? |
Not sure about authorship, but personally, I think it would be easier to follow the history, if you just took the commit 6defef2 from the other pull request. You can then rebase it on master, or just create a merge commit with master (my preference, because it leaves the commit ID exactly intact). (Edit: Or if you want to keep the pins for now, it'd probably be commit ID 8b26362) This will also include other useful changes, like unpinning the projects that no longer need the pin. For testing, you can test locally (probably only works for a few spot tests), or wait for an admin to create the global infra build. |
171b315
to
dd7bf2b
Compare
Yes, cherry-picking the commits from Alex :-)
I am not sure I want to do that now : I want the least changes possible, only ones in infra, not ones in individual projects : This way, if this patch is good, there should be no changes in the builds status... |
Would be nice to get an infra build here, to see if there are any build issues or other issues |
Should I do something ? |
I think only repo admins can trigger the infra trial-build |
/gcbrun trial_build.py all |
@DonggeLiu what is the outcome of the trial build ? |
What is going on here ? |
Thanks @maflcko. This is the full log. I also noticed many failures. |
@oliverchang, not sure if this is a known issue: Before we fix the bug, we should run the command after 6 PM (Syndey), given that the report was generated after 5 PM: |
@DonggeLiu will you run the command again with the good timing ? |
Sure, I will do it in the afternoon (hopefully I can still remember this). |
/gcbrun trial_build.py all |
It looks like most of the failures are due to the branch being outdated. Before a trial-build, my recommendation would be to merge the current |
/gcbrun trial_build.py all |
Looked already pretty good, did it not ? |
Here is the trial build log log. I (or someone else) will take a look into them |
I looked at the result and I think some projects break due to the compiler bump. It would be good to pin them, or otherwise fix them. https://github.com/google/oss-fuzz/pull/12365/checks?check_run_id=29667299742 trial-buildRemaining builds: 31/1011, defaultdict(<class 'list'>, {'bitcoin-core': ['e97dac9b-220c-45ee-8343-84e9eec6bfe1'], 'bluez': ['b1499b2f-148a-4a43-af5e-084863c2c8a9'], 'checkstyle': ['8d87523f-7b24-473e-af3a-3bdcd241c6ee'], 'cloud-custodian': ['e38a48e3-419c-4e2b-9dd7-f94f18419a20'], 'cpuinfo': ['54fa5e3d-885d-4a6e-8a77-32fd3b80213b'], 'duckdb': ['b0426bc7-3e54-403b-a847-56ee0cb9a412'], 'ffmpeg': ['ac82d2f0-d7ca-4e70-b08b-b660c9dc2a04'], 'genshi': ['d2f6169b-2ec1-47df-8557-505f95afaa7b'], 'gprof2dot': ['33736e00-d147-4d0d-b2d8-7b9f7b78e833'], 'hikaricp': ['0958c36c-12ab-4ecb-9816-19b5e45cfd10'], 'htslib': ['61e7a9d0-2b54-4d1e-a96e-e072703a63f8'], 'http-parser': ['7dc60deb-9c57-4d76-825d-5ed27c6e6d74'], 'imagemagick': ['4075bbc0-1eb4-443a-b141-828a5cea34fe'], 'jq': ['f997d55a-3b45-46ab-b6aa-7f1b8a0888ab'], 'libreoffice': ['021c4098-7db3-49a5-ade8-535674b6fa3d'], 'libxslt': ['2f7b1a83-51da-4096-a39a-5216ee44b14e'], 'libyal': ['c4323b37-191e-4289-bc75-3b3c41a7ec79'], 'muparser': ['7fd96760-4d21-44a5-ae01-cf24e3af2a60'], 'neomutt': ['ab316d4f-3f3b-44cf-a37e-2c7ce2e0a3fb'], 'onednn': ['e6448e28-040b-445b-a7aa-9e8fdb06e382'], 'openweave': ['72af842b-1ce3-45f8-b8d5-3b1202183974'], 'python-phonenumbers': ['229da2ce-22f8-4c23-a3f3-e5fda4a17b1e'], 'simd': ['0d3301bd-6bc7-461c-8722-9fa3ae920b8a', '50e5284d-c067-4800-b6fc-a66b0641243a'], 'spring-cloud-config': ['d6f33c33-d6dd-4e0c-8011-1047e1f9be71'], 'sqlalchemy_jsonfield': ['c2b8ae95-517c-4152-ae49-9bae934a762e'], 'toolbelt': ['f71f41d6-59ec-4744-9dc7-e4656c7819ef'], 'vorbis': ['7a26d044-8d1d-4b68-9327-edb71f387ef3'], 'xmlpull': ['c72c9058-a0f0-408f-98cc-5a68d2b5150d'], 'yoga': ['2ef90f49-a3f6-4036-b0d5-6f00e465cfa3'], 'zopfli': ['10bee761-eaa3-4727-974b-9315b59786f0'], 'llvm': ['5346b641-4627-48a2-aa21-cdf3b33cca3b']}). Failed builds: 20/1011, {'digest': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-5c036d8c-df26-4e9a-969e-7d27732dfabd.txt', 'envoy': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-83da7326-36bd-4815-8b20-9d82e7c8a835.txt', 'freeimage': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-f4924f02-f678-42ef-8ed0-fa4bb18b0a20.txt', 'icu': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-d3be9614-1509-4810-b773-9c35e0e96dd6.txt', 'librawspeed': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-5fe6a7e2-b46e-448a-9311-2ffcc0b6ebdd.txt', 'libucl': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-30f3ad71-bc3d-4dae-8911-9ceb3bf12419.txt', 'libxml2': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-10217692-bb75-406a-bbce-d435640edca9.txt', 'mpv': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-f984eedc-e3ce-4b9f-b2f5-53b747934da7.txt', 'poppler': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-e6a3174b-909c-4366-8c72-099891c22ac1.txt', 'rust-lexical': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-0c261bf2-5504-4713-93e3-ace2b1ebd28d.txt', 'samba': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-9a18541d-f5ba-41f4-9c11-598898d7c031.txt', 'simdutf': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-585902f9-5450-4116-98e0-f3cb912601de.txt', 'suricata': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-c052834b-b700-4c1a-a9c0-b89cd6f3e55a.txt', 'tinyusb': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-879a3840-ccf1-46b8-b971-c835f148a2b9.txt', 'tomlkit': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-37bae839-f8d6-4926-9ea6-d631ef7783fd.txt', 'wasmer': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-01ef123a-b856-4160-b1d0-a7d89f1980ec.txt', 'zeek': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-419c1eb0-b3ab-4cfd-8061-90318e48dec2.txt', 'hadoop': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-36e1962a-7afe-4fa3-bc2d-61dcc4c4c8c3.txt', 'lua': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-702d8ef7-e4fa-4d25-9f47-ca8eb16fea79.txt', 'tarantool': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-92a46fa2-369e-4d65-91cd-f4124401c28d.txt' } |
First analysis :
I guess the new warnings need to be fixed by each project Only 2 out of the 7 first failures (icu and libucl) I do not understand and they may be due to this PR. |
Sometimes the project starts to fail to build at the same time the infra run is scheduled. So it may or may not be related to the PR and another build has to be done in those cases (either locally, or in another infra run). If the project is failing, I think maintainers prefer it to be pinned or fixed. Pinning can be achieved similar to commit 767c7d3. (You'll have to adjust the sha256 to be a recent one). |
mpv : centipede again... |
tomlkit: network error ? |
@DonggeLiu do you know who from centipede could look at the icu build failure ?
@adisuissa would you understand the envoy build failure ? |
cf #12124 for the centipede issue |
I'm not sure why. |
I think this is due to the clang-chain update. To reproduce, you can, with this PR, run :
|
@DonggeLiu I think every project is good now except envoy... |
Wow, thanks @catenacyber !
Yep, that's a good idea : ) |
This is done in the interest of assisting google#12075 and google#11626. Currently the Rust toolchain cannot be updated because the latest nightly uses LLVM 18.1.8 and coverage information breaks. This breakage is because LLVM 18.1.8 records coverage information with version "9" but LLVM 18.0.0 recorded coverage information with version "8". This means that the recordings created by Rust binaries use version "9" which are unreadable by the processing that OSS-Fuzz does with the 18.0.0-based toolchain using version "8". This commit updates the Clang toolchain to the latest 18.x.x release to get the two in sync so the same coverage recording version is used.
Pull in LLVM 18.1.7 with Rust to match the previous Clang update
Fixes wolfssl, muduo
77a4a25
to
d2518e6
Compare
Here it is, with a rebase on latest master. What is your plan for this ? |
d2518e6
to
44c28ad
Compare
@oliverchang @jonathanmetzman Shall we merge this? |
I'd feel more comfortable with another trial build before merge on current master, because some projects may have changed in the meantime from the build last week. |
/gcbrun trial_build.py all |
use the standard one from oss-fuzz
As demonstrated by zeek project
current nightly finds dead code
44c28ad
to
26ca77a
Compare
try to make it more clear which changes are needed for which version
So, I pushed a new version of profraw_update.py Bug in gstreamer and libfido2 was due to the previous check |
@jonathanmetzman is it possible to run another trial during the week-end ? Do you want me to split my last commit in 2 ? The small bug fix, and the bigger rewrite to make code clearer ? |
Follow-up on #12077 by @alexcrichton cc @maflcko
Main difference is to update infra/base-images/base-runner/profraw_update.py so that oss-fuzz converts profraw version 8 to 9 (and llvm-cov seems more tolerant in older version reading cf llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
This way, it should be more transparent for projects, that can be updated individually or not