Closed umireon closed 10 years ago
The actual commit that causes this issue is 033e714a72be60732ffdf1921cf34900106a22fe. Addressed by git bisect: https://gist.github.com/umireon/eeccd8f570a264f319da#file-gistfile1-sh
Thanks for the investigation. Great detective work.
It seems that cotire isn't working. I've seen the same problem with bandit, where we changed to the latest version. I suspect this is the same thing. If it turns out to be a problem with cotire, I'll look into making cotire a submodule so we have an easier time updating it.
Updating cotire still breaks the build on travis with the same symptom as described.
It builds fine on my machine with the following compiler:
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4) Target: x86_64-pc-linux-gnu Thread model: posix
Ha! After updating my ubuntu installation I get the same symptom on my machine.
...and when I remove cotire from the build it starts working again!
Unfortunately, this issue is not so simple, because libstdc++ does something with the problem.
Stacktrace retrieved by lldb: https://gist.github.com/umireon/d6898c3b6cd3a72674da#file-igloo-test_stacktrace-txt
The result of executing strace igloo-tests
:
https://gist.github.com/umireon/3ff496edee4ad4ef434e#file-igloo-test_strace-c
My compiler:
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu
Thread model: posix
libstdc++:
ii libstdc++-4.8-dev:amd64 4.8.2-19ubuntu1 amd64 GNU Standard C++ Library v3 (development files)
ii libstdc++6:amd64 4.8.2-19ubuntu1 amd64 GNU Standard C++ Library v3
Does this only happen when you're in lldb?
Do you get the same result when:
Thanks for reply.
$ bin/igloo-tests
fish: Job 1, “bin/igloo-tests ” terminated by signal SIGSEGV (Address boundary error)
I suspect a static local variable “specs” in igloo/core/contextregistry.h as the cause.
Signed-Off-By: Udagawa Kaito umiiro.hacker@gmail.com
On 2014年5月13日 at 3:20:07, Joakim Karlsson (notifications@github.com) wrote:
Does this only happen when you're in lldb?
Do you get the same result when:
- Running without a debugger attached
- Running in gdb?
Reply to this email directly or view it on GitHub: https://github.com/joakimkarlsson/igloo/issues/14#issuecomment-42868266
Clang and LLVM has a problem with handling local static variables in .pch: http://permalink.gmane.org/gmane.comp.compilers.clang.scm/92157
With Clang and LLVM 3.3 or 3.5, everything goes right.
Using Clang 3.4
with precompiled headers(cotire)
when the code has local static
variable,
actually causes this issue.
Sorry, local static variable IN A HEADER.
Can you confirm that commit c03bc09 fixes this for you. I've commented out the use of cotire from CMakeLists.txt.
I think I'll remove cotire all together as it didn't have that much of an impact on build times for the self tests.
Yes, c03bc09 works like a charm!
clang version:
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu
Thread model: posix
Great.
Thanks for the excellent detective work!
I am very thankful for you. I can use your great product again without an anxiety!
1.1.1 builds, but master doesn't.
Here is the log. (Ubuntu 14.04 x64 in DigitalOcean)