1

After upgrading to Xcode 10.2 we cannot compile project anymore. We got this compilation errors. Looks like very wired LLVM compiler error. It is not React Native issue as far as I can see, but I cannot even imagine how to debug this error, there is no information about this in the whole Internet.

May be someone know something about this? Or at least how to debug it? Thanks.

  • Swift 4.2
  • React Native 0.59.3 (latest)
  • Xcode 10.2

Error:

LLVM ERROR: out of memory
Stack dump:
0.  Program arguments: <....>
1.  While emitting IR SIL function "@$sypSgIegn_Ieg_TR".
 for <<debugloc at "<compiler-generated>":0:0>>0  swift                    0x000000010b99eee3 PrintStackTraceSignalHandler(void*) + 51
1  swift                    0x000000010b99e6bc SignalHandler(int) + 348
2  libsystem_platform.dylib 0x00007fff697f1b3d _sigtramp + 29
3  libsystem_platform.dylib 0x00007ffee848cee0 _sigtramp + 2127147968
4  libsystem_c.dylib        0x00007fff696af1c9 abort + 127
5  swift                    0x000000010b94f644 llvm::report_bad_alloc_error(char const*, bool) + 100
6  swift                    0x000000010786d210 swift::irgen::CallEmission::setArgs(swift::irgen::Explosion&, bool, swift::irgen::WitnessMetadata*) + 2560
7  swift                    0x0000000107a21335 (anonymous namespace)::IRGenSILFunction::visitFullApplySite(swift::FullApplySite) + 2053
8  swift                    0x0000000107a016aa swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 9898
9  swift                    0x00000001078c0259 swift::irgen::IRGenerator::emitLazyDefinitions() + 1353
10 swift                    0x00000001079e1250 performIRGeneration(swift::IRGenOptions&, swift::ModuleDecl*, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::LLVMContext&, swift::SourceFile*, llvm::GlobalVariable**) + 1232
11 swift                    0x00000001078030b9 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 49417
12 swift                    0x00000001077f36de swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6862
13 swift                    0x00000001077917be main + 1246
14 libdyld.dylib            0x00007fff69606ed9 start + 1
15 libdyld.dylib            0x000000000000010f start + 2527040055
error: Abort trap: 6
Dmitrii Dushkin
  • 3,070
  • 4
  • 26
  • 37

1 Answers1

1

That's somehow is error report of unsupported syntax ¯_(ツ)_/¯ Specifically in our case problem was in new rule for Swift 5 (but we were on Swift 4!):

In Swift 5 mode, @autoclosure parameters can no longer be forwarded to @autoclosure arguments in another function call.

So we've changed:

completionHandler: resolver  -> completionHandler: { resolver(nil) }

We've found this problem, when switched to Swift 5 and XCode reported it. Then we switched back to Swift 4 with this fix and everything worked.

Dmitrii Dushkin
  • 3,070
  • 4
  • 26
  • 37