Sean T Allen
Sean T Allen
@jemc what are the steps I should take to try using the "llvm tools" to link the program to see if it fixes the crash for me?
I tried this with the x86 limux glibc environment being on GH now... still can't get a reproduction from
@NickJT can you try retesting with `ponyc --debug --strip`?
When setting up MacOS x86 CI, I found that the `cycle detector` runner test fails with bad access. That started with the LLVM 15 update as well. I can fix...
The problem appears to be localized to using release versions of the runtime and then doing a debug compile of a pony program. Stripping debug symbols fixes the problem. Hypothesis:...
`--strip` does two things: ```c++ StripDebugInfo(M); StripSymbolNames(M, false); ``` `StripDebugInfo` is what fixes our problem when we do `--strip`. Symbol names is unimportant to our bug.
The interesting question here is why does changing the optimization level also fix the issue. Does it strip debug info?
Not running ` MPM.run(*unwrap(c->module), MAM);` in `genopt.cc` also fixes our issue.
Turning off `buildModuleSimplificationPipeline` fixes our issue.
and in there, removing ```c++ if (EnableModuleInliner) MPM.addPass(buildModuleInlinerPipeline(Level, Phase)); else MPM.addPass(buildInlinerPipeline(Level, Phase)); ``` fixes our problem. note that both branches appear that they would cause us issues, but it appears...