Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift compiler segmentation fault when building

Tags:

swift

Adding a (convenient) computed height property to UIView in my UIViewExtension.swift file is causing the Swift compiler to segfault... What could possibly be going wrong here?

0  swift                    0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40 1  swift                    0x00000001061e5af4 SignalHandler(int) + 452 2  libsystem_platform.dylib 0x00007fff894da5aa _sigtramp + 26 3  libsystem_platform.dylib 0xb03939841e997c88 _sigtramp + 2504775416 4  swift                    0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool) const + 41 5  swift                    0x00000001055efab9 swift::irgen::ClassMetadataLayout<(anonymous namespace)::FindClassMethodIndex>::addClassMembers(swift::ClassDecl*) + 329 6  swift                    0x00000001055e97b2 swift::irgen::emitVirtualMethodValue(swift::irgen::IRGenFunction&, llvm::Value*, swift::SILType, swift::SILDeclRef, swift::CanTypeWrapper<swift::SILFunctionType>, swift::ResilienceExpansion) + 434 7  swift                    0x00000001056550d3 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 42611 8  swift                    0x000000010564a266 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 8678 9  swift                    0x00000001055cb6f8 swift::irgen::IRGenModule::emitGlobalTopLevel() + 184 10 swift                    0x00000001056376e3 performIRGeneration(swift::IRGenOptions&, swift::Module*, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, unsigned int) + 1859 11 swift                    0x0000000105638033 swift::performIRGeneration(swift::IRGenOptions&, swift::SourceFile&, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, unsigned int) + 51 12 swift                    0x00000001055aa65a frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 4842 13 swift                    0x00000001055a935d main + 1533 14 libdyld.dylib            0x00007fff8a82e5fd start + 1 

 

1.  While emitting IR SIL function @_TFCSo6UIViewg6heightSd for 'anonname=0x7ff422892fd0' at <path redacted>/UIViewExtension.swift:60:5 <unknown>:0: error: unable to execute command: Segmentation fault: 11 <unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation) Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254 

If more information is needed to crack this, just comment. Thanks!

Edit:

Here's a related .xcodeproj that returns this question's compiler error. Download here

like image 376
aleclarson Avatar asked Jun 14 '14 17:06

aleclarson


People also ask

How do you fix a segmentation fault?

It can be resolved by having a base condition to return from the recursive function. A pointer must point to valid memory before accessing it.

What usually causes a segmentation fault?

Overview. A segmentation fault (aka segfault) is a common condition that causes programs to crash; they are often associated with a file named core . Segfaults are caused by a program trying to read or write an illegal memory location.

Is segmentation fault a compile time error?

The segmentation error is one of the runtime error, that is caused because of the memory access violation, like accessing invalid array index, pointing some restricted address etc.


1 Answers

I had this error because I was doing this :

if(currentMeal?.State == .Deleted){  } 

instead of

if(currentMeal!.State == .Deleted){  } 

so I think optional not unwrapped in if condition can cause this error

like image 132
Fjohn Avatar answered Sep 27 '22 20:09

Fjohn