Summary: | devel/llvm60: crash when parsing files through kdevelop | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Masse Nicolas <nicolas.masse> |
Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> |
Status: | Closed Overcome By Events | ||
Severity: | Affects Only Me | CC: | dim, freebsdbugs, koobs, tcberner, val |
Priority: | --- | Keywords: | crash, needs-qa |
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any | ||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233506 |
Description
Masse Nicolas
2018-12-06 16:56:10 UTC
I'd suggest working with the upstream kdevelop team to see if they can help you produce a reduced test case to submit to upstream LLVM. There is nothing I can do to help here except to suggest that you might try updating kdevelop to use llvm70 and seeing if the problem happens to have been fixed. Apologies, did not mean to set Closed->FIXED. Since we don't have a resolution like 'Send Upstream', and 'Rejected' (not accepted) isn't quite relevant (there was no proposal/patch) and not quite the same as WONTFIX, leave this Open for now. CC'd Dimitry in case he's aware of a fix in subsequent versions, for which a backport/patch may be available to fix llvm60 There have been quite a lot of similar-looking upstream bugs, but without a reproducible test case, it is hard to say if the problem is fixable. Is there any way to get at a (preprocessed) version of the file that the parser crashes on? E.g. you could attempt to run: clang -cc1 -fsyntax-only on the file in question. We actually shouldn't have assertions enabled. Many dev tools (cquery/ccls, even clangd) trip clang assertions way too often. Linux distros and macOS don't ship assertions enabled. And no one actually intentionally enabled assertions in the FreeBSD port, it was a result of CFLAGS being set in the environment removing -DNDEBUG: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233506 (In reply to Greg V from comment #4) > We actually shouldn't have assertions enabled. Many dev tools (cquery/ccls, > even clangd) trip clang assertions way too often. Linux distros and macOS > don't ship assertions enabled. While that is true, I do know that many LLVM assertions are indications of internal state going bad. The builds with disabled assertions will then possibly segfault instead, or produce corrupted output. That said, most users will care more for performance than consistency, so maybe turning assertions off is a good default choice. We also do this in the base system's copy of LLVM, at least for releases (and IIRC also stable branches). (In reply to Dimitry Andric from comment #5) Yes, *LLVM* assertions can be helpful, but *libclang* seems way too assertion happy. Turning them off in release mode is the choice LLVM developers made. And we *accidentally* override it because CMake is awesome™ :) (In reply to Dimitry Andric from comment #3) Unfortunately, I can't give you a copy of the project. I'm trying to see if I can find a reduced set of code which trigger the crash. I will let you know if I found one. Moin moin This seems a bit stale. Feel free to reopen it, if it is still an issue with the llvm versions available in the ports tree at the moment. mfg Tobias Last time I check I had not the issue anymore. Also I was forced to change my desktop operating system so I'm not working on FreeBSD anymore (not my choice), so I'm not able to investigate this anymore :-/. |