Perintah gagal karena sinyal: Kesalahan segmentasi: 11

151

Saya mendapatkan kesalahan ...

Perintah gagal karena sinyal: Kesalahan segmentasi: 11

... ketika mencoba mengompilasi aplikasi Swift saya. Saya menggunakan Xcode 6.1, mencoba membangun untuk iPhone 5 di iOS 8.1.

Kode Saya

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var username: UITextField!
    @IBAction func signIn(sender: AnyObject) {

        PFUser.logInWithUsernameInBackground(username.text, password:"mypass") {
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                println("Logged In")
            } else {

                func myMethod() {
                    var user = PFUser()
                    user.username = username.text
                    user.password = " "
                    user.signUpInBackgroundWithBlock {
                        (succeeded: Bool!, error: NSError!) -> Void in
                        if error == nil {
                            // Hooray! Let them use the app now.
                        } else {
                                println("Signed Up")
                        }
                    }
                }

             println(error)
            }
        }
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        Parse.setApplicationId("key here")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

Dan teks kesalahan!

CompileSwift normal arm64 /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift
    cd /Users/Alec/Desktop/Re-Chat/Re-Chat
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o
0  swift                    0x0000000108145a68 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x0000000108145f54 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff86631f1a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fd0ac1eb010 _sigtramp + 633049360
4  swift                    0x00000001075d4517 swift::Lowering::SILGenFunction::emitClosureValue(swift::SILLocation, swift::SILDeclRef, llvm::ArrayRef<swift::Substitution>, swift::AnyFunctionRef) + 1303
5  swift                    0x00000001075c599e swift::Lowering::SILGenFunction::visitFuncDecl(swift::FuncDecl*) + 190
6  swift                    0x000000010760987c swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 380
7  swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
8  swift                    0x000000010760a0a5 swift::Lowering::SILGenFunction::visitIfStmt(swift::IfStmt*) + 757
9  swift                    0x000000010760c8f6 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 166
10 swift                    0x00000001076097e8 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 232
11 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
12 swift                    0x00000001075d52dd swift::Lowering::SILGenFunction::emitClosure(swift::AbstractClosureExpr*) + 205
13 swift                    0x00000001075b4234 swift::Lowering::SILGenModule::emitClosure(swift::AbstractClosureExpr*) + 196
14 swift                    0x00000001075eef71 (anonymous namespace)::RValueEmitter::visitAbstractClosureExpr(swift::AbstractClosureExpr*, swift::Lowering::SGFContext) + 97
15 swift                    0x00000001075e1866 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 2870
16 swift                    0x00000001075e24da swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 6058
17 swift                    0x00000001075cfa0b swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*) + 235
18 swift                    0x00000001075ae824 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&) && + 196
19 swift                    0x0000000107604a69 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&, swift::Lowering::AbstractionPattern, swift::SILType) && + 233
20 swift                    0x00000001075f371c swift::Lowering::SILGenFunction::emitInjectOptionalValueInto(swift::SILLocation, swift::Lowering::RValueSource&&, swift::SILValue, swift::Lowering::TypeLowering const&) + 268
21 swift                    0x00000001075e9b8d swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 36445
22 swift                    0x00000001075e3e2b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 12539
23 swift                    0x00000001075e202b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 4859
24 swift                    0x00000001075cfab6 swift::Lowering::SILGenFunction::emitRValue(swift::Expr*, swift::Lowering::SGFContext) + 22
25 swift                    0x00000001075bffc4 (anonymous namespace)::ArgEmitter::emitExpanded(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 836
26 swift                    0x00000001075bf582 (anonymous namespace)::ArgEmitter::emit(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 98
27 swift                    0x00000001075b7ff8 (anonymous namespace)::CallEmission::apply(swift::Lowering::SGFContext) + 1128
28 swift                    0x00000001075b751a swift::Lowering::SILGenFunction::emitApplyExpr(swift::ApplyExpr*, swift::Lowering::SGFContext) + 58
29 swift                    0x00000001075e0d81 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 81
30 swift                    0x00000001075ea00d swift::Lowering::SILGenFunction::emitIgnoredExpr(swift::Expr*) + 237
31 swift                    0x0000000107609829 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 297
32 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
33 swift                    0x00000001075d4ee0 swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 256
34 swift                    0x00000001075b3659 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 233
35 swift                    0x00000001075cea93 swift::ASTVisitor<SILGenType, void, void, void, void, void, void>::visit(swift::Decl*) + 355
36 swift                    0x00000001075cd7eb SILGenType::emitType() + 203
37 swift                    0x00000001075c85ae swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
38 swift                    0x00000001075b555b swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 395
39 swift                    0x00000001075b581a swift::SILModule::constructSIL(swift::Module*, swift::SourceFile*, swift::Optional<unsigned int>) + 314
40 swift                    0x00000001075b5968 swift::performSILGeneration(swift::SourceFile&, swift::Optional<unsigned int>) + 72
41 swift                    0x000000010748be18 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 3432
42 swift                    0x000000010748996d main + 1677
43 libdyld.dylib            0x00007fff8aa4c5c9 start + 1
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o 
1.  While emitting SIL for 'signIn' at /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:14:15
2.  While silgen closureexpr SIL function @_TFFC7Re_Chat14ViewController6signInFS0_FPSs9AnyObject_T_U_FTGSQCSo6PFUser_GSQCSo7NSError__T_ for expression at [/Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:16:80 - line:45:9] RangeText="{
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                // Do stuff after successful login.

                println("Logged In")
            } else {

                func myMethod() {
                    var user = PFUser()
                    user.username = username.text
                    user.password = ""
                    // other fields can be set just like with PFObject


                    user.signUpInBackgroundWithBlock {
                        (succeeded: Bool!, error: NSError!) -> Void in
                        if error == nil {
                            // Hooray! Let them use the app now.
                        } else {
                                println("Signed Up")
                        }
                    }
                }


             println("error")
            }
        }"
Alec.
sumber
Kode yang ditampilkan dalam kesalahan dan kode yang Anda kirim berbeda. Kode Anda adalah untuk masuk, kode kesalahan adalah metode pendaftaran. Sudahkah Anda menetapkan breakpoint di penutupan untuk mencoba dan mengidentifikasi masalah?
Paulw11
Anda tidak perlu menebaknya. Ketik xcodebuild -verbosedari terminal di mana proyek Anda berada, dan lihat apa kesalahannya, di mana itu, dll.
oyalhi

Jawaban:

44

Untuk orang lain yang menemukan ini ... Saya menemukan masalah ini disebabkan oleh mengimpor kerangka kerja kustom, saya tidak tahu cara memperbaikinya. Tetapi hanya menghapus impor dan item referensi kode dari kerangka kerja memperbaiki masalah.

(╯ ° □ °) ╯︵ ┻━┻

Semoga ini bisa menghemat seseorang beberapa jam mengejar jalur yang menyebabkan masalah.

Chris Wagner
sumber
1
Saya pernah mengalami masalah yang sama di Xcode 7. Masalahnya sebenarnya adalah beberapa baris kode yang saya tambahkan ke file cepat saya. Baris-baris ini mengkonsumsi komponen dari perpustakaan pihak ketiga. Dalam kasus saya ini adalah Eureka. Setelah saya menghapus garis yang saya tambahkan. Itu dibangun dengan sempurna
Asanga Dewaguru
Saya telah menghapus protokol & beberapa kelas masih menggunakannya. XCode seharusnya menyoroti mereka tetapi tidak dalam kasus saya. Terima kasih
harsh_v
3
Apakah Eureka dalam kasus saya juga, ketika memperbarui ke Xcode 7.3. Berubah ke v1.5 dan menginstal pod, maka semuanya baik-baik saja.
Lyck
Hanya mencatat bahwa ini tidak bekerja untuk saya sampai saya membersihkan proyek (setelah mengganti kerangka kerja kustom / impor). Terima kasih atas jawaban Anda, tentu saja menghemat waktu saya.
AddisDev
1
Memperbarui pod dan instal ulang lib telah melakukan trik untuk saya, terima kasih atas jawaban Anda
Kamal Upasena
93

Anda bisa mendapatkan kesalahan ini ketika kompiler terlalu bingung tentang apa yang terjadi dalam kode Anda. Saya perhatikan Anda memiliki sejumlah fungsi yang tampaknya bersarang di dalam fungsi. Anda dapat mencoba mengomentari sebagian dari itu sekaligus untuk melihat apakah kesalahannya hilang. Dengan begitu Anda dapat membidik area masalah. Anda tidak dapat menggunakan breakpoint karena ini merupakan kesalahan waktu kompilasi, bukan kesalahan waktu berjalan.

Ron B.
sumber
1
Terima kasih tetapi ternyata ada hubungannya dengan arsitektur. Aneh, ya?
Alec.
3
@ParanoidAndroid dapatkah Anda menjelaskan apa masalahnya? Saya mendapatkan masalah ini juga
Alex
Saya terjebak pada kesalahan ini juga. Saya membuat ekstensi dari kelas yang lebih besar dan memindahkan beberapa fungsi dari kelas besar ke ekstensi itu. Saya membuat beberapa file sebagai ekstensi baik-baik saja tetapi segera setelah saya membuat 4 file saya mulai mendapatkan kesalahan ini. #swiftisnotready .... grrr
C0D3
@ c0d3Junk13 Saya bertemu masalah ekstensi juga, dan itu disebabkan oleh nama fungsi sama dengan nama kelas.
Zhenshan Yu
Saya mendapatkannya karena tidak menentukan parameter opsional (parameter kedua), sepertinya operator tersier sebelum membingungkan Xcode 6.3 addPointforTeamAtPosition(command == extensionCommandTeam1Point ? 0 : 1, pointKind: .Regular).
Rivera
45

Saya baru-baru ini menghadapi masalah yang sama, dan saya akan mencoba untuk menggeneralisasi bagaimana saya menyelesaikannya, karena banyak dari jawaban ini adalah spesifik untuk dapat membantu semua orang.

1. Pertama lihat di bagian bawah pesan kesalahan untuk mengidentifikasi file dan fungsi yang menyebabkan kesalahan segmentasi.

Pesan eror

2. Lalu saya melihat fungsi itu dan berkomentar semuanya. Saya mengkompilasi dan sekarang berhasil. Kemudian saya menghapus komentar dari bagian-bagian fungsi sekaligus, sampai saya menemukan baris yang bertanggung jawab atas kesalahan tersebut. Setelah ini saya bisa memperbaikinya, dan semuanya berfungsi. :)

eivindml
sumber
2
Beberapa baris terakhir memberikan petunjuk terbaik. Jawaban ini sangat membantu!
Apresiasi
1
Ini harus menjadi jawaban yang diterima. Penyebab kesalahan Segmentasi dapat bervariasi dan ini adalah cara yang tepat untuk mendiagnosis.
Juan Carlos Ospina Gonzalez
16

Bagi saya, ini disebabkan oleh perubahan sintaks Parse SDK di Swift 2.0. Jika Anda menggunakan Parse dan Anda meningkatkan ke Swift 2.0, sintaks berikut berubah:

Swift 1.2:

myPFQuery.findObjectsInBackgroundWithBlock({ (queryResults: [AnyObject]?, error: NSError?) -> Void in

    // CODE

})

Swift 2.0:

myPFQuery.findObjectsInBackgroundWithBlock { (queryResults: [PFObject]?, error: NSError?) -> Void in

    // CODE

}

Penghapusan yang pertama '(' dan yang terakhir ')' adalah yang menyebabkan masalah terbesar. Butuh saya AGES untuk menemukan ini!

AT3D
sumber
Ini jelas merupakan pelakunya, namun, baris kode Anda tidak melakukan perbaikan untuk saya. Adakah detail baru?
Lucas Azzopardi
Apakah Anda yakin telah menemukan semua instance dan mengubah semuanya? Juga, saya percaya panggilan ke berikut ini telah berubah juga (penghapusan tinju dan tanda kurung terakhir sehingga kode harus membaca seperti berikut) ... pfObject.saveInBackgroundWithBlock {(sukses: Bool, error: NSError?) -> Void di // code}
AT3D
yang tepat. Bekerja dengan baik
SARATH SASI
Jadi sintaks penutupan trailing menyebabkan masalah ini juga?
Beltalowda
7

Saya menemukan kesalahan ini. Setelah frustrasi saya mencoba Xcode clean dan semuanya mulai bekerja lagi. Hanya meninggalkan ini di sini untuk referensi di masa mendatang.

Victor Zimmer
sumber
7

Ketika saya mendapatkan kesalahan ini mengkonversi dari Swift ke Swift 2.0, itu jelas menunjukkan file tertentu (blahClass.swift) yang memiliki masalah, kemudian diuraikan semua peringatan & kesalahan dalam teks pesan kesalahan. Saya telah melalui dan menyelesaikannya secara manual dan sekarang aplikasi ini dapat dikompilasi dengan baik.

William T.
sumber
3
Hanya menambahkan titik data lain di sini. Saya juga mendapatkan kesalahan ini selama migrasi Swift 2. Saya akhirnya membuka file yang gagal dan mengomentari sebagian besar kode. Aplikasi kemudian dikompilasi dan saya dapat menghapus komentar kode beberapa baris pada satu waktu untuk melacak masalah.
Chad Pavliska
7
object.doubleValue = dict["doublevalue"] as! Int

Saya menemukan alasan setelah memutar kembali setiap langkah yang saya buat .... memaksa casting ke Int untuk variabel ganda

SoliQuiD
sumber
1
Dalam kasus saya, saya mendapatkan kesalahan pada force casting Int ke variabel String.
Ian Pinto
OK, tapi bukankah itu memberi Anda kesalahan kompilasi dengan cara ini? !!
SoliQuiD
Jadi kesalahan yang dilaporkan dalam stack stack adalah seperti di atas dan tidak mengenai pemeran paksa dalam kasus saya.
Ian Pinto
6

Bagi saya ini disebabkan oleh beberapa kode saya. Output kompiler terperinci dalam XCode sebenarnya menunjuk metode di mana ia mengalami crash.

Saya kemudian berkomentar semua kode dalam metode ini, membuatnya kembali nihil, dan itu mengkompilasi. Saya kemudian kembali menerapkan metode menggunakan kode yang berbeda dan jauh lebih sederhana, dan berhasil.

Saya mengajukan laporan bug dengan Apple. Ini adalah - yang diakui agak gila - kode yang menyebabkan crash di XCode 7 / Swift 2.0.

  func numberAndTitleFromDirectoryName(dirName: String) -> (Int, String)? {
    let components = dirName.characters.split(maxSplit: 1, allowEmptySlices: false) { $0 == " " }.map { String($0) }.map { String($0) }
    if let number = components.first?.toInt() {
        if let title = components.last {
            return (number, title)
        }
    }
    return nil;
  }

Saya kira saya sedikit terlalu bersemangat menggunakan fungsi peta di sana ... Versi baru jauh lebih sederhana dan juga lebih manusiawi. Namun kompiler tidak seharusnya crash. Paling buruk itu harus menunjukkan beberapa kesalahan. Kode seperti yang dikerjakan di Swift 1.x

n13
sumber
4

Saya memiliki masalah serupa dengan Xcode 7.3 dan iOS 9.3. Command failed due to signal: Segmentation fault: 11

Tangkapan layar

Langkah-langkah dasar seperti Bersihkan (cmd + shift + k) kode, Hapus data yang diturunkan dan Keluar Xcode tidak berfungsi.

Ada beberapa penyebab dalam kode saya.

Dulu [txtUserName.text.characters.count = 0]

Dalam kasus Anda Tinjau kode Anda dan perbaiki pelakunya.

Jayprakash Dubey
sumber
13
Catatan untuk diri sendiri, jika kode Anda tidak berfungsi, ikuti petunjuk bermanfaat di atas "Tinjau kode Anda dan perbaiki pelakunya", siapa tahu ....
Stuart P.
3

Salah satu kasus, adalah bahwa Anda telah menamai datatype variabel pengambil seperti namanya. Sebagai contoh:

var someInstance: someInstance {...

Perbarui # 1. Tetap perhatikan variabel _a yang bukan Int, dan Anda lupa menunjukkan jenis pengembalian yang benar. Masalah terjadi di lebih dari dua operan operator infiks.

function getInt(value: Int) -> Int {
    return _a? ?? _b?.count ?? 0
}
dimpiax
sumber
3

Memperbaiki mudah jika menggunakan git.

1) Di terminal:

git stash

2) Seg kesalahan hilang.

3) Jalankan aplikasi.

4) Di terminal:

git stash pop

5) Xcode sekarang memberi tahu Anda masalah sebenarnya.

Andrew Schreiber
sumber
1
Hei bro ! Saya ingin mengucapkan terima kasih banyak. Anda menyelamatkan saya sakit kepala yang kuat dan banyak waktu dan usaha!
stefat
3

Kecelakaan apa pun adalah bug penyusun (baik kode Anda valid atau tidak). Coba beta terbaru dan jika masih crash file laporan bug di bugs.swift.org . Tim Swift sangat responsif terhadap ini.

Joseph Lord
sumber
Saya menemukan ini dapat dicegah pada akhirnya saya, hanya tidak ingat bagaimana saya memperbaikinya ..
Alec.
2

Saya menyingkirkan kesalahan ini dengan mengikuti.

Saya memiliki banyak kerangka kerja yang ditambahkan di "Link Binary With Libraries" dan menggunakan header penghubung juga.

Saya menambahkan kembali semua framework dan menambahkan header bridging lagi. Ini menyelesaikan masalah saya.

Vaka
sumber
2

Saya menggunakan Xcode 8.3 / Swift 3

Saya menggunakan jawaban @Ron B. untuk memeriksa semua kode dan mengomentari fungsi yang berbeda sampai saya berhasil membangun. Ternyata itu async trailing closuresyang menyebabkan kesalahan saya:

Penutupan trailing saya:

let firstTask = DispatchWorkItem{
     //self.doSomthing()
}
let secondTask = DispatchWorkItem{
     //self.doSomthingElse()
}

//trailing closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10){firstTask}

//trailing closure #2 
DispatchQueue.main.asyncAfter(deadline: .now() + 20){secondTask}

Setelah saya menggunakan autocomplete sintaks yang Segmentation fault: 11 adalah Lewatlah

//autocomplete syntax closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10, execute: firstTask)

//autocomplete syntax closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20, execute: secondTask)
Lance Samaria
sumber
2

masukkan deskripsi gambar di sini

Saya mempunyai masalah yang sama jadi saya mencoba beralih? Tingkat Optimasi ke Cepat, Optimasi File-Tunggal [-O] alih-alih Cepat, Optimalisasi Modul Utuh kemudian berhasil, dibangun, arsip ke Appstore berhasil.

Beberapa kerangka kerja yang kami gunakan perlu refactor untuk beradaptasi dengan Fast, Whole Module Optimization level saya pikir. Tapi saya masih belum menemukan kerangka itu.

harchi
sumber
2

Dalam kasus saya ini terjadi di Xcode 11 beta 3 dengan Swift 5 dan menggunakan SwiftUI.

Tampilan Saya memiliki properti @State seperti ini:

 @State private var normInfo: NormInfo?

masalah ini dipecahkan dengan menginisialisasi secara eksplisit nil.

Jerman
sumber
1

Saya memiliki kode 11 ketika mencoba membangun untuk skema rilis. Itu menunjukkan satu kelas viewcontroller (cepat) yang memiliki bagian kode ini di dalamnya:

 required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    stuff...
}

Masalahnya adalah ketika saya menambahkan superclass ke dalamnya, saya lupa juga mengimplementasikan init. Jadi super.init itu menyebabkan kesalahan kompiler Segmentasi kesalahan: 11 Jadi jika Anda memiliki masalah seperti itu ada baiknya untuk memeriksa juga setiap superclasses.

Gogel
sumber
1

Saya juga memiliki Segmentasi Fault 11, ketika mengimpor kerangka kerja yang dibuat oleh diri saya sendiri (yeah, merasa sangat bodoh).

Setelah mengembangkan kerangka kerja selama berbulan-bulan dan mengintegrasikannya ke dalam proyek utama dengan Obj-C dan Swift yang bercampur, mengimpor ke Obj-C bukanlah masalah, tetapi segera setelah saya menulis import MySwiftProject di Swift, semua neraka pecah.

Singkatnya, masalahnya adalah saya membuat beberapa metode khusus yang memberikan tipifikasi untuk NSNotificationsmenggunakan penutupan, misalnya:

func post(a : Int, b : String)
{
    NSNotificationCenter.defaultCenter().postNotification("notification", object: nil, userInfo: ["a" : a, "b" : b])
}

func observe(block : (a : Int, b : String) -> ()) -> NSObjectProtocol
{
    return  NSNotificationCenter.defaultCenter().addObserverForName("notification", object: nil, queue: nil)
    {
        (n : NSNotification!) -> () in

        // Unwrap the notification payload and provide types
        if let a = n.userInfo?["a"] as? Int, let b = n.userInfo?["b"] as? String
        {
            block(a, b)
        }
    }
}

(Sebenarnya, kode di atas saya lakukan dengan template, tapi itu cerita lain)

Penyebab utama? Ini:

func ... -> NSObjectProtocol

Rupanya, Apple dapat menggunakan NSObjectProtocoldalam deklarasi NSNotificationmetode, tetapi ketika saya melakukannya, itu memperkenalkan a Segfault 11. Mengganti NSObjectProtocolkeAnyObject menyelesaikan kerusakan.

Sayangnya, ini mungkin tidak menyelesaikan masalah Anda, karena segfault 11 hanyalah crash generik dari kompiler, tetapi Anda dapat mengambil langkah-langkah untuk menyelesaikannya. Butuh waktu sekitar 2 jam, tetapi inilah yang saya lakukan:

  1. Buat proyek baru, meniru struktur yang Anda miliki. Dalam kasus saya, saya membuat proyek swift pengontrol tampilan tunggal, dan menambahkan kerangka kerja cepat di dalam sebagai proyek lain.
  2. Salin semua kode asli dari satu ke yang lain.
  3. Pergi ke tahap kompilasi, dan mulai menghapus file untuk dikompilasi, coba nonaktifkan potongan-potongan kode yang sangat cepat-hacky (seperti tipifikasi NSNotification saya).
  4. Setiap kali Anda melakukan perubahan, lakukan clean ( + K), build ( +B ) dan perbaiki kesalahan apa pun.
  5. Ulangi dari 3 sampai kesalahan segmentasi hilang.
Bisa
sumber
1

Dalam kasus saya alasannya adalah memiliki kelas yang dinyatakan dalam kelas lain dalam ekstensi.

extension classOrig {
    class classChild {
        class classGrandChild {
            static let aVariable : String = "SomeValue";
        }
    }
}

Ini menghasilkan kesalahan di pihak saya. Saya memiliki beberapa kerangka kerja dalam proyek saya, tetapi itu tidak terjadi sebelumnya.

Alex Germán
sumber
1

Saya juga berjuang dengan ini untuk sementara waktu. Saya memutakhirkan kode saya ke Swift 2 dengan Xcode 7.2 dan bagi saya masalahnya adalah ini:

self.mainScrollView.documentView!.subviews.reverse() as! [MainSubView]

Yang harus saya ubah menjadi:

(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()
Michael Baisch
sumber
1

Saya mendapatkan kesalahan ini ketika saya mengganti properti di subclass dan saya tidak mengulangi pernyataan properti dengan tepat.

Kelas dasar:

var foo: String! {return nil}

Subkelas:

override var foo: String {return "bar"} // missing the implicit unwrap operator

Murray Sagal
sumber
Bagaimana ini menjawab pertanyaan?
Thomas Ayoub
@ Thomas. Tidak. Tetapi berdasarkan pada banyak tanggapan serupa lainnya - "ini adalah bagaimana saya mendapatkan kesalahan itu ..." - sepertinya tidak apa-apa untuk berkontribusi pengalaman saya dengan kesalahan ini dengan harapan itu akan membuat orang lain frustrasi. Biar tahu jika Anda pikir itu tidak pantas.
Murray Sagal
@MurraySagal sesuatu seperti ini adalah penyebab bagiku juga
larromba
1

Bagi saya itu karena saya memiliki dua bundel dengan nama yang sama.

Lumialxk
sumber
1

Baca pesan debug dengan cermat.

dalam kasus saya, saya menemukan kesalahan ini karena saya menggunakan satu '=' bukan ganda '=' karena kesalahan dalam pernyataan if

if aString.characters.count = 2 {...}
Kyle KIM
sumber
Hal yang sama juga terjadi pada saya. Ini adalah kesalahan ketik yang biasa dilakukan semua orang. Kompilator biasanya mengeluhkannya segera. Namun, jika suatu variabel sedikit lebih kompleks, seperti array Tuples atau sesuatu, kompilator menjadi gila dan tidak dapat menunjukkan kesalahan sederhana khusus ini yang menunjukkan "kesalahan segmentasi".
Vitalii
1

Tidak satu pun dari jawaban ini yang berhasil untuk saya, tetapi saya menemukan masalah saya. Itu ada hubungannya dengan Penanganan Kesalahan (di bagian Penonaktifan Kesalahan Propagasi). Saya punya metode ini:

func getSlider() throws -> UISlider {
  ... // code that could throw an error
  return UISlider()
}

Merujuknya seperti ini:

func anotherMethod() -> Float {
  return try! getSlider().value
}

memberi kesalahan. Tapi, ketika beralih ke ini, itu hilang:

func anotherMethod() -> Float {
  return (try! getSlider()).value
}
socom1880
sumber
sama untuk ku. Apa yang baru saja saya lakukan adalahlet slider = try! getSlider(); slider.value;
Sayang
1

Saya juga mengalami masalah ini .... jelas, ini adalah kesalahan umum atau semacamnya ... ketika xcode menjadi bingung .... dalam kasus saya, saya memiliki 3 vars yang saya tetapkan nilai dari sebuah array .. ..tapi saya tidak menentukan tipe data di setiap elemen array .... begitu saya lakukan, itu menyelesaikan masalah ....

tj4shee
sumber
1
Sebaik apa pun jawaban Anda bagi pengunjung di masa mendatang, pertanyaan ini sudah berusia lebih dari satu tahun dan dengan 30 jawaban sudah ada, jadi tidak mungkin banyak orang akan memperhatikan jawaban Anda. Juga, saya ingin menunjukkan dengan sopan bahwa, meskipun saya mengerti apa yang Anda coba katakan, jawaban biasanya jauh lebih bermanfaat bagi pembaca yang lewat ketika Anda menggunakan tata bahasa Inggris yang tepat, jadi jika Anda mau, silakan mengedit posting untuk memperbaiki bagian itu. Sisanya mengagumkan, dan jangan berkecil hati!
Isiah Meadows
1

Dalam kasus saya, saya telah menyatakan properti berikut di salah satu subkelas ViewControllers saya:

@property NSString * title

Saya pikir ini bertentangan dengan titleproperti yang sudah ada di ViewController. Saya mengubah nama properti ini menjadi sesuatu yang lain dan refactored penggunaannya dan kesalahannya hilang.

nmvictor
sumber
1

Dalam kasus saya itu disebabkan oleh mencoba menggunakan fungsi yang mengembalikan NSNumber sebagai argumen di mana Double diharapkan. Saran saya adalah hati-hati mencampur objek Objective C dengan tipe data Swift. Dan seperti yang banyak disarankan orang lain, komentari baris sampai Anda menentukan mana yang menyebabkan kesalahan. (Bahkan jika Anda membuat kesalahan lain saat melakukannya, Anda bisa mengabaikannya dan melihat apa yang membuat kesalahan kesalahan segmentasi hilang.)

Dan
sumber
1

Bagi saya, saya memblokir utas utama.

Apa yang saya lakukan untuk memperbaikinya dengan GCD (lihat di bawah)

dispatch_async(dispatch_get_main_queue(),      
})
pengguna6776304
sumber
1

Laporan Kesalahan Manusia:

Dalam kasus saya, pelakunya lewat dalam array di tempat parameter variadic . Yaitu, untuk tanda tangan:

// Note the variadic parameter
func addSubview(subview subview: UIView, constrain: NSLayoutAttribute...)

Saya melewati:

// Compile-time error, "constrain" parameters have array brackets
someUIView.addSubview(subview: someOtherView, constrain: [.Leading, .Top, .Bottom, .Trailing])

daripada:

// Correct
someUIView.addSubview(subview: someOtherView, constrain: .Leading, .Top, .Bottom, .Trailing)
AmitaiB
sumber
1

Saya mendapatkan kesalahan segmentasi pada Mac Mini menggunakan Xcode Bots. Kesalahan seg hanya terjadi selama langkah pengujian bangunan dan tidak selama membangun atau menjalankan secara lokal. Hanya dalam bot Xcode selama tahap uji coba pengembangan.

Saya menggunakan macOS Sierra dan Xcode 8, dengan kode yang dikonversi ke Swift 2.3.

Saya akhirnya menemukan garis yang menyebabkan kesalahan seg, itu disebabkan oleh:

public let isIpad = UIDevice.currentDevice().userInterfaceIdiom == .Pad

Yang dinyatakan di luar kelas sebagai konstanta. Mengubahnya untuk memeriksa userInterfaceIdiom saat runtime memperbaiki masalah.

Semoga ini bisa membantu orang lain!

Ini adalah log kesalahan untuk kesalahan seg saya:

0  swift                    0x000000010f93d76b llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 43
1  swift                    0x000000010f93ca56 llvm::sys::RunSignalHandlers() + 70
2  swift                    0x000000010f93ddbf SignalHandler(int) + 287
3  libsystem_platform.dylib 0x00007fffb24aabba _sigtramp + 26
4  libsystem_platform.dylib 0x00007fbbfff49ae0 _sigtramp + 1302982464
5  swift                    0x000000010db79996 (anonymous namespace)::Traversal::visit(swift::Expr*) + 118
6  swift                    0x000000010db7b880 (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) + 128
7  swift                    0x000000010db799eb (anonymous namespace)::Traversal::visit(swift::Expr*) + 203
8  swift                    0x000000010db78f45 swift::Expr::walk(swift::ASTWalker&) + 53
9  swift                    0x000000010d6d2c87 walkForProfiling(swift::AbstractFunctionDecl*, swift::ASTWalker&) + 231
10 swift                    0x000000010d6d2719 swift::Lowering::SILGenProfiling::assignRegionCounters(swift::AbstractFunctionDecl*) + 553
11 swift                    0x000000010d6de348 (anonymous namespace)::SILGenType::emitType() + 952
12 swift                    0x000000010d6ddf1e swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
13 swift                    0x000000010d6625eb swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 731
14 swift                    0x000000010d663139 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 793
15 swift                    0x000000010d6635a3 swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, llvm::Optional<unsigned int>, bool) + 115
16 swift                    0x000000010d491c18 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 12536
17 swift                    0x000000010d48dc79 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2777
18 swift                    0x000000010d489765 main + 1957
19 libdyld.dylib            0x00007fffb229e255 start + 1
Sajjon
sumber