Je développe une lib en Kotlin (jusque là normal) et disposant de deux PC, il m'arrive de démarrer le travail sur l'un et de le finir sur l'autre (encore une fois normal). Sauf que... Sur mon PC portable, que nous appellerons le PC-P, impossible de compiler la même lib au même numéro de commit (une erreur obscure émane du JDK lui-même) alors que sur mon PC fixe, que nous appellerons PC-F, aucun problème.
C'est partie pour l'enquête ! #StoryTime
1) Mes outils ne sont pas à jour sur l'un des deux postes
Le PC-P ayant les dernières versions mais pas le PC-F, j'aligne le tout (OpenJDK, Intellij, OS, Maven, etc) dans les dernières versions disponibles et non, même résultat. PC-F ça marche, PC-P ça plante !
2) J'accuse le répo local de Maven.
Je drop l'intégralité du répo sur les deux machines, je rebuild avec les mêmes lignes de commande, rien n'y fait.
3) J'accuse le compilateur Kotlin.
Ayant fait une montée de version vers la 1.3.72 je me dis que cette toute dernière version est peut-être instable. Du coup je décrémente sa version à la 1.3.41. Toujours ce fichu problème (il s'agit un JVM access FileNotFound au passage - erreur que je n'avais jamais vu de ma vie).
4) J'accuse mon code
Aparté : oui seulement au bout de 4 étapes mais les trois premières ne me demandaient pas beauoup d'effort.
Je reviens en arrière surun commit, deux commits, cinq commits, 17 commits plus loin et ça marche enfin sur les deux... Sachant que tous mes commits ont été stashés et squashés vous n’imaginez pas le nombre de lignes modifiées... #Pleur
Après investigation, j'arrive au point où j'identifie une classe de test mais plante-t-elle à la compile ou au run ? Je commence à lancer un mvn test-compile
et ça marche. Je lance un mvn test
et ça pète mais toujours pas d'indice.
#FastForward Il se passe une nuit et j'en parle à @Lenny le lendemain. Il teste sur son poste et lui-aussi sa plante. Sauf qu'ayant une version plus ancienne de Mint mais aussi du JDK il voit un message différent du mien : un FileNotFound qui indique une classe, précisément classDeTest$NomDeMethod.class (ce sont les classes virtuelles que créé Java).
Je lui demande de prendre tout le chemin de fichier et d'effectuer un touch (car le chemin à l'air assez long) et le touch pète ! #PremièreVictoire
=> Conclusion rapide : le chemin de fichier est trop long. Mais alors pourquoi est-ce que ça marche sur mon PC-F et pas sur mon PC-P !!? #WTF
... Petit moment de suspense... Ur ur ur (^__^)
Réponse :
Le PC-P de @Lenny tout comme le mien ont une partition Ext4 chiffrée ! Or mon PC Fixe a une partition en clair et il faut savoir qu'une partoche Ext4 en claire permet des chemins de fichiers de 255 caractères tandis qu'une Ext4 chiffrée est limitée à 143 caractères ! Le voilà notre coupable...
Vous n'avez pas idée des heures que j'ai perdues à cause de ce comportement mais je suis tellement contente d'avoir trouvé !
Beaucoup me demandent pourquoi j'adore 4chan, tout simplement pour sa section /pol/. Il s'agit ici de l'un des plus beaux trolls du siècle avec des enquêtes irréalistes - mais pourtant bien réelles - façon la série Les Experts et faites par des anonymes.
Vous souhaitez rigoler pendant 15 minutes devant un truc improbable, le lien vous est servi.
Pauvre Shia quand même, ça doit être dur si l'on ne comprend pas bien comment fonctionne les internets.
Je pense que tout est dans le titre.
Je vais tout de même apporter une précision : que la police ait accès aux informations de géolocalisation voir d'autres informations pour l'aider dans ses enquêtes je suis parfaitement d'accord ; mon problème réside dans le fait qu'elle ait accès à ces informations tout le temps, par défaut, pour tout le monde sans passer par un Juge dont le travail est justement d'arbitrer la légitimité de porter atteinte à la vie privée de toutes les personnes dont on récupérera les déplacements et les faits et gestes. #MVoyez
C'est sur ce point que je ne suis pas d'accord, car sans contrôle, il y aura encore et toujours des abus jusqu'au moment fatidique où un gouvernement peu enclin à écouter son peuple profitera de ces informations pour cibler ses opposants (ce qu'il doit faire déjà à mon avis).
C'est vrai que MédiaPart fait du bon travail d'investigation. Je copie-colle Fou-à-lier :
"Série de tweets sur ce qu'a apporté Mediapart :
- « Les 17 millions d'euros cachés de la campagne Sarkozy » ;
- « Écoutes : le complot de Sarkozy contre ces "bâtards" de juges » ;
- « Affaire Karachi : notre enquête » ;
- « Les quotas discriminatoires dans le foot français » ;
- « Les affaires financières du Front National » ;
- « Dossier : l'argent russe du Front National » ;
- « Notre dossier : L'affaire Bettencourt » ;
- « Notre dossier : le barrage de Sivens » ;
- « Dossier : le compte Cahuzac » ;
- « Notre dossier : le scandale Dassault » ;
- « Affaire Guérini : les dessous d'un "système mafieux" » ;
- « Notre dossier : l'argent libyen de Sarkozy » ;
- « Dossiers : nos très chers sénateurs » ;
- « Dossier : l'affaire Tapie » ;
- « Dossier : Science-Po, la fuite en avant et les scandales »…
Soutenez-les !"