4 ms·
Actually shocked to hear this considering the number of people and companies currently working on LLVM.
by thegrandpoobah 6y ago
Actually shocked to hear this considering the number of people and companies currently working on LLVM.
- drivebycomment 6y agoNot that surprising given that it seems specific to asan mode and only in the presence of setjmp/longjmp. I.e. this cant be that important unless the same bug shows also in non-asan Setjmp/longjmp case. Setjmp/longjmp are often a source of trouble for the register allocator or related optimization due to its unique properties. Often the optimizing compilers treat set/longjmp as "give up almost everything around those functions" but maybe llvm is trying hard to model it precisely and failing. But I haven't personally looked at the relevant code in llvm so this is mostly a speculation.
- h_anna_h 6y agoRegarding asan bugs, if you do not free all of your memory before exiting main it will complain about stuff and end up calling _exit I think which does not flush the buffers.
- cperciva 6y agoThe bug shows up without asan. We literally tripped over it in production with code compiled with "clang -O2".
- drivebycomment 6y agoThen I agree that this is surprising. That means clang/llvm is not modeling set/longjmp correctly in general and that is not acceptable as a C compiler.
- scatters 6y agoThat's apparent from your ticket (which is marked as a duplicate) but on the one you linked to, all the offending compiler lines contain asan. Is there a chance this is impacting prioritization?
- cperciva 6y agoCould be. I'm not an LLVM developer so I don't know how they prioritize issues.
- jcranmer 6y agoThe code in question is related to setjmp/longjmp. As a general rule of thumb, this is something where the gut reaction to any bug report is going to be "you're doing it wrong"--the C standard actually provides a lot less guarantees here than most people believe it does. I haven't read the verbiage and the bug report in question in enough detail to ascertain if this is true or not, but it isn't in the least bit surprising that most people see setjmp/longjmp and immediately table the issue as being low-priority.
- usefulcat 6y agoHaving read the comments in the llvm bug report, it seems pretty clear that it is a real bug and that they have at least an idea of where the bug is.