web-dev-qa-db-fra.com

impossible d'exécuter la commande: Erreur de segmentation: 11 La commande Swift Frontend a échoué à cause du signal (utilisez -v pour voir l'invocation)

J'ai un programme Swift iOS qui compile et fonctionne correctement sur Xcode Beta2. Lorsque j'ai téléchargé la version 4, j'ai eu quelques erreurs de syntaxe pour la nouvelle langue Swift que j'ai corrigées. J'ai maintenant cette erreur:

<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)

Le problème est que cela ne me dit pas où se trouve cette erreur afin que je puisse la résoudre plus en profondeur. Où puis-je taper -v afin de "voir l'invocation" et de dépanner davantage? Sans cela, il n'y a absolument aucun moyen de résoudre le problème. Merci d'avance.

30
Salman Hasrat Khan

Voici comment j'ai pu découvrir le problème:

  1. Cliquez sur le problème dans le navigateur de problème (+ 4, puis cliquez sur la ligne avec le rouge! Au début)
  2. Au bas du fichier qui apparaît, il devrait y avoir une ligne qui dit quelque chose comme:

1. While emitting IR SIL function @_TToZFC4Down8Resource12getInstancesfMS0_U__FTSS6paramsGVSs10DictionarySSPSs9AnyObject__9onSuccessGSqFGSaQ__T__7onErrorGSqFT5errorCSo7NSError8responseGSqCSo17NSHTTPURLResponse__T___T_ for 'getInstances' at /path/to/file.Swift:112:5

  1. L'emplacement où votre erreur s'est produite est à la fin de cette ligne. (Dans ce cas, à la ligne 112 de file.Swift dans getInstances).
29
yndolok

J'essayais d'ajouter le framework Paypal à mon projet iOS (langage Xcode 7.2 et Objective C). Lors de la construction, aucune erreur n’a été commise, mais lorsque j’ai essayé d’archiver le projet et de réaliser l’API, j’avais cette erreur

impossible d'exécuter la commande: Erreur de segmentation: 11

Capture d'écran:

 enter image description here

Après avoir longtemps lutté, j'ai désactivé le Bitcode dans Project's Target > Build Settings > Enable Bitcode. Maintenant, le projet peut être archivé. S'il vous plaît vérifier la capture d'écran suivante.

 enter image description here

19
Manab Kumar Mal

Je ne peux pas vraiment donner une solution directe à ce problème (bien que je sois sûr que ce soit un bogue Apple), mais je suis tombé sur le même message d'erreur et je suis parvenu à le résoudre. Voici ce que j'ai fait:

En général

  1. Commentez le code Swift récemment modifié (vérification des validations) jusqu'à ce que l'application soit à nouveau compilée
  2. Cliquez sur chaque méthode appelée de la ligne en échec tout en maintenant la touche Commande enfoncée, puis vérifiez s'il pourrait y avoir une ambiguïté.

Mon exemple

Dans mon cas (j'utilisais le XMPPFramework écrit en Objective-C), le code défaillant ressemblait à ceci:

for roomMessage: XMPPRoomMessage in self.messages {
    let slices = split(roomMessage.nickname(), { $0 == "_" }, allowEmptySlices: false)
}

Une fois que j'ai remplacé roomMessage.nickname() par "0_test", le code n’a plus échoué. Donc, j'ai cliqué sur la méthode nickname() (deux fois) et voici ce que j'ai vu:

enter image description here

J'imaginais que le compilateur Swift 1.1 rencontrait des problèmes pour déterminer quelle méthode appeler si le type exact d'un objet n'était pas clair. J'ai donc rendu le type de roomMessage explicite et j'ai obtenu une autre erreur que j'ai corrigée en supprimant les accolades derrière l'appel de la méthode nickname(). Ceci a fait que mon application a été construite à nouveau. Voici le code de travail:

for roomMessage: XMPPRoomMessageCoreDataStorageObject in self.messages {
    let slices = split(roomMessage.nickname, { $0 == "_" }, allowEmptySlices: false)
}

J'espère que cela aidera quelqu'un à enquêter plus rapidement que moi sur la question.

8
Dschee

J'ai aussi eu le même problème,

  1. quand j'ai nettoyé les données dérivées
  2. Supprimez également toutes les données dérivées supprimées de la corbeille.
  3. Arrêtez Xcode, redémarrez-le et nettoyez la construction

Il devrait être corrigé maintenant.

4
Ebru Güngör

Dans mon cas, cette erreur car j'utilise le nom de la classe pour la variable

var MYClass : MYClass {
    get {
        return.....
    }
}

Et cela corrige mon problème

var myClass : MYClass {
    get {
        return.....
    }
}
4
aminhotob

Mon problème était que j'ai essayé d'imiter les variables statiques avec l'approche dite du module (le modèle de conception du module). Donc, j'avais quelque chose comme ça (juste une simple référence statique à une file d'attente d'opérations déclarée au niveau d'un fichier Swift):

let globalQueue: NSOperationQueue = {
    let queue = NSOperationQueue()
    queue.suspended = false
    queue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount
    return queue
}()

Donc, cela a bien fonctionné dans Xcode 6.x.x, mais a cessé de se compiler dans Xcode 7beta. Je veux juste que vous en soyez conscient . P.S. En général, j'ai réussi à découvrir ce qui n'allait pas à partir des journaux (voir la capture d'écran ci-jointe). J'espère que cela vous fait gagner du temps.enter image description here

3
Arthur Gevorkyan

J'ai eu une erreur de segmentation quand j'ai appelé une fonction de protocole avec la même extension de protocoles.

J'ai eu un code quelque chose dans la ligne avec ceci:

protocol Rotatable {
    func rotate() -> Self
}

extension Rotatable {
    func rotate(steps: Int) {
        for _ 0..<steps { self.rotate() }
    }
}

Lorsque, par la suite, j'ai créé un objet et déclaré qu'il suivrait le protocole Rotatable, l'erreur de segmentation 11 s'est produite et le programme s'est bloqué.

Ex: cela causerait une erreur de segmentation et un crash Xcode

struct SomeStruct : Rotatable {

}

Toutefois, si j’ai tout d’abord implémenté la fonction rotate () dans SomeStruct, puis qu’elle a ensuite déclaré qu’elle était conforme à Rotatable, aucun problème.

2
mammut

Je reçois cette erreur parce qu'une erreur idiote !!

dans une classe que j'ai définie

var url: String!?

:)

Il semble donc que cette description est une erreur multiple et générique pour de nombreuses raisons!

1
abanet

J'ai eu un semblable aujourd'hui et essayé les étapes décrites ici, y compris la suppression des fichiers que j'ai récemment modifiés. Rien ne semblait fonctionner. J'ai essayé quelque chose qui avait été suggéré quand SourceKit se planterait dans Xcode. 

Je quand dans le répertoire de données dérivé et tout supprimé. L'emplacement est répertorié sous "Préférences -> Emplacements -> Données dérivées" Une icône en forme de flèche se trouve juste à côté du chemin qui ouvre le Finder avec le répertoire sélectionné. Sélectionnez tous les répertoires à l'intérieur et supprimez-les. Fermez Xcode et rouvrez-le. Cela a fait disparaître le problème pour moi.

Je pense qu'un fichier intermédiaire est corrompu et que le compilateur ne sait pas comment le gérer.

1
George M

Pour moi, le problème était de mélanger Generics, Extensions et @objc.

Il s'avère que Xcode n'aime pas avoir @objc à l'intérieur des extensions de classes génériques:

class FaultyClass<T: TypeValidator>: UIControl where T.ItemType == String {
}

extension FaultyClass: UITextFieldDelegate {
    func textFieldDidEndEditing(_ textField: UITextField) {
    }
}

Le code ci-dessus donne l'erreur @objc is not supported within extensions of generic classes. J'ai donc déplacé la méthode vers la classe elle-même mais je n'ai pas supprimé l'extension vide. Cela s'est débarrassé de l'erreur mais quand j'ai compilé le projet, j'ai eu le problème de segmentation .

La solution consistait à déplacer UITextFieldDelegate dans la déclaration de classe.

class GoodClass: <T: TypeValidator>: UIControl, UITextFieldDelegate where T.ItemType == String {

// MARK: - TextFieldDelegate
    func textFieldDidEndEditing(_ textField: UITextField) {
    }
}
0
LuisCien

J'ai répondu dans " Erreur de segmentation du compilateur Swift lors de la construction

J'ai eu cette erreur aussi, et j'ai corrigé comme ceci:

vérifiez votre projet et découvrez quels fichiers utilisent deux fois et supprimez-en un ou supprimez-les tous et rajoutez-les

Erreurs dans mon xCode

: 0: erreur: nom_fichier "AttributedString.Swift" utilisé deux fois: '/Users/.../CNJOB/CNJOB/AttributedString.Swift' et '/Users/...CNJOB/CNJOB/AttributedString.Swift'

: 0: note: les noms de fichiers sont utilisés pour distinguer les déclarations privées portant le même nom

: 0: erreur: nom_fichier "APIClient.Swift" utilisé deux fois: '/Users/.../CNJOB/CNJOB/APIClient.Swift' et '/Users/...CNJOB/CNJOB/APIClient.Swift'

: 0: note: les noms de fichiers sont utilisés pour distinguer les déclarations privées portant le même nom

Commande/Applications/Xcode 3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc a échoué avec le code de sortie 1

0
JNYJ

J'ai oublié d'ajouter un @end après le @implementation dans un fichier .m contenant plusieurs classes. Quelque chose comme:

@implementation Adjust

@end

@implementation Data //@end For this class was missing 


@implementation Create

@end
0
rptwsthi

Pour moi, cela est dû à l'ajout des fichiers Swift à différentes cibles (extension aujourd'hui dans mon cas). 

0
superarts.org

Mon problème était dans les méthodes de signatures:

func setCategory(categoryId: Int?, subcategoryId: Int?) -> FilterSettings {

func changeCategory(categoryId: Int?, subcategoryId: Int?, handler: @escaping (Int) -> ()) {

Je ne comprends pas pourquoi le compilateur ne peut pas gérer de telles déclarations.

0

J'ai eu ce bug à cause de la ligne

self.textView.inputAccessoryView = self.toolbarItems;

Si vous le supprimez, l'erreur disparaîtra.

Mes pas: 1) 

  1. Données dérivées supprimées 
  2. Dossier de construction effacé N'a pas aidé 
  3. Copiez les fichiers de classe dans un autre dossier en tant que sauvegarde et commentez tout dans cette classe. Erreur parti. 
  4. Le code commenté bloque un par un jusqu'à ce quebuild soit un succès.

 enter image description here

0
Nik Kov