Open cwfitzgerald opened 6 years ago
Hi, thanks for the report.
I've managed to reproduce the issue. The problem happens in FBX SDK, which is a third party library with no source code access so there is not much I can do about it. Updating to latest FBX SDK 2019 doesn't resolve the problem.
The problem only occurs when compiling using Clang, while GCC reports no issues. It's possible it's also some kind of a false positive, as the FBX SDK static library was compiled using GCC.
I can suggest a few options:
The problem happens no matter what, this was only a reaction because the program crashed due to a segmentation fault. ASan was just a tool I used to find the problem.
Connor Fitzgerald Sent from my Phone. Please excuse my brevity.
On May 25, 2018 7:53:52 AM EDT, Marko Pintera notifications@github.com wrote:
Hi, thanks for the report.
I've managed to reproduce the issue. The problem happens in FBX SDK, which is a third party library with no source code access so there is not much I can do about it. Updating to latest FBX SDK 2019 doesn't resolve the problem.
The problem only occurs when compiling using Clang, while GCC reports no issues. It's possible it's also some kind of a false positive, as the FBX SDK static library was compiled using GCC.
I can suggest a few options:
- Compile using GCC instead of Clang
- Disable ASAN halt on error to get over the issue, or compile without ASAN completely
-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/GameFoundry/bsf/issues/133#issuecomment-392030070
Right, that's more serious then - I certainly don't want to drop support for Clang fully. I'll see if I can isolate the problem in a simpler program to ensure FBX SDK is indeed the problem. The only option I can see then is to try linking with the shared object version of the library.
So it appears as though the problem lies within my use of lld. I recompiled just now will all the same flags but without lld, and the program started just fine. This would lead me to believe that the segmentation fault is a direct result of the different linking behavior of lld. Not using lld isn't ideal either (it is the provider of LTO under clang and holy hell is it fast), but it is very possible that I could isolate the link action that causes the issue.
I would still like to come to some solution to this problem but at least there is a temporary workaround.
Thanks for testing it out. I haven't had a chance to take a closer look yet, but will hopefully this week. If possible I will switch to the shared object version of the FBX library which will likely get rid of the issue - unless you figure out exactly what goes wrong with lld.
On my Ubuntu system, there is a crash when starting up the Skeletal Animation demo. All the others start fine, though they end with a segfault, that doesn't terribly matter right now (and I will file a separate issue about that). I have attached the crash log provided by the builtin crash handler, as well as the output of AddressSanitizer and the output of glxinfo.
CMake Command:
Log File: log.html.txt
Output of ASan
GLXInfo: glxinfo.txt
If you need anything else, let me know, thanks for the lovely framework!