Summary: | clang crashes on science/py-tweedledum on i386, amd64 on 14 | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Yuri Victorovich <yuri> | ||||
Component: | misc | Assignee: | Yuri Victorovich <yuri> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | dim, jfc, marklmi26-fbsd, wen | ||||
Priority: | --- | ||||||
Version: | CURRENT | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
URL: | http://beefy17.nyi.freebsd.org/data/main-i386-default/p240569d0a2e9_se9ae9fa937/logs/py39-tweedledum-1.1.1.log | ||||||
See Also: | https://github.com/llvm/llvm-project/issues/53598 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 265723 | ||||||
Attachments: |
|
Description
Yuri Victorovich
2022-08-10 05:13:05 UTC
amd64 also gets failure: http://beefy18.nyi.freebsd.org/data/main-amd64-default/p240569d0a2e9_se9ae9fa937/logs/errors/py39-tweedledum-1.1.1.log Can somebody fish out the /tmp/synthesis-6b2a40.cpp and /tmp/synthesis-6b2a40.sh files, and attach them here? (In reply to Dimitry Andric from comment #2) Fishing here appears to mean doing one's own build, likely with -w involved. (So far as I know, the evidence is not present on the build server after the builder is cleaned out for its next potential use or for its overall deletion.) That still requires causing the *.cpp and *.sh files to be put someplace that -w makes a copy of. Past examples have been generated via using the likes of: CFLAGS+= -fcrash-diagnostics-dir=. CPPFLAGS+= -fcrash-diagnostics-dir=. and then finding where the files are in the (expanded?) tar archive materials. This error has an amd64 failure context available and so should be buildable by a wide variety of folks. (My environment will soon be without power for a time.) The test case produced by llvm is too large to upload here, 1.6 MB with xz -9. It's not clear to me how to reduce it. The source code that causes the crash is near the end of the file. The error is: Assertion failed: (!VD->mightBeUsableInConstantExpressions(Info.Ctx)), function evaluateVarDeclInit, file /data/Cilk/opencilk-project/clang/lib/AST/ExprConstant.cpp, line 3314. It happens trying to generate code for auto& [u_j, v_j] = device_.edge(j); in SatSwap::symmetry_break. clang is confused about whether a value depends on template arguments. (In reply to John F. Carr from comment #4) You can e-mail it to me and I would upload it to FreeBSD's ftp. Test case from John F. Carr: https://people.freebsd.org/~yuri/testcase-for-bug265751.txz Created attachment 242864 [details]
unbreak it temporarily on 14
unbreak it temporarily on 14
This is <https://github.com/llvm/llvm-project/issues/53598>; unfortunately the problem exists for quite a while, since clang 11 approximately. It looks like either an overzealous assert, or something subtle is really off. This patch was committed earlier in 64002cb040cb383b84d26d3ee0bdb93962995b16 Thank you for the patch! |