Xcode.app jest skanowany przez socketfilterfw (OS X Firewall) przy każdym uruchomieniu

26

Sytuacja:

Kiedy uruchomić Xcode, socketfilterfw, OS X„s aplikacja firewall, zaczyna używać dużo CPU.

Po kilku badaniach zawęziłem to do tego: socketfilterfwczyta wszystkie pliki w Xcode.apppakiecie i robi to przy każdym Xcode uruchomieniu. Gigabajty danych za każdym razem.

Nie ma znaczenia, jakie ustawienia ma zapora, wypróbowałem je wszystkie. Jedyną rzeczą, która to zatrzymuje, jest dezaktywacja zapory ogniowej (przed uruchomieniem Xcode).

Czy ktoś jeszcze ma taki efekt lub pomysł, o co w tym chodzi?


Aktualizacja
Właśnie wypróbowałem Xcode na czystej instalacji (OS X i Xcode z ADC) i to nie rozwiązało. Ale skanowanie rozpoczęło się nie po uruchomieniu Xcode, ale po wykonaniu projektu (CMD-R). Dlatego rozpoczyna skanowanie podczas uruchamiania Xcode lub podczas wykonywania projektu.


źródło
Co robisz, aby zmierzyć aktywność tego pliku? Czy jest to problem z wydajnością, zużycie energii, czy po prostu coś, co zadaje ci wystarczająco dużo pytań?
bmike
Ostateczna wskazówka została podana przy użyciu „fs_usage” w Terminalu, który pokazał mi, co robi socketfilterfw, czytając wszystkie te pliki w pakiecie Xcode.app. Zauważyłem również (ale usunąłem to z mojego pytania), że „amfid” aktywuje się (wysokie użycie procesora przez krótką chwilę, wystarczająco długo, aby zobaczyć to w monitorze aktywności), kiedy uruchamiam Xcode, a następnie Xcode kończy uruchamianie, a wkrótce uruchamia się socketfilterfw to skan-orgia. I tak, to jest kwestia wydajności i energii, zauważyłem to z tego powodu, ale to też mnie wkurza :) i chcę wiedzieć, dlaczego tak się dzieje.
2
Polecenie, aby zobaczyć użycie systemu plików: sudo fs_usage -w -f fileys socketfilterfw
1
Fajne. Postaram się sprawdzić w ten weekend - zarówno wersję do pobrania dla programistów, jak i wersję sklepu z aplikacjami. Nie zauważyłem czegoś takiego, ale też często nie grzebię w fs_usage.
bmike
1
Dziękuję Ci! Ach tak, można go pobrać ze strony ADC, całkowicie o tym zapomniałem, dziękuję za przypomnienie. Już go pobrałem, aby sprawdzić różnice i wypróbuję wersję beta.

Odpowiedzi:

22

Xcode prawdopodobnie próbuje korzystać z sieci. Wywołuje to regułę w zaporze ogniowej, która powoduje sprawdzenie podpisu kodu Xcode - wymagającego odczytania całego pakietu aplikacji.

Eksperymentuj z następującą opcją w ustawieniach zapory OS X:

  • System Preferences.app>
  • Bezpieczeństwo i prywatność>
  • Firewall>
  • Opcje zapory…>
  • Automatycznie zezwól podpisanemu oprogramowaniu na odbieranie połączeń przychodzących

Mam tę opcję wyłączoną. W rezultacie często pojawia się monit o zezwolenie Xcode na dostęp do sieci przychodzącej . Zawsze odmawiam dostępu, ponieważ nadal pozwala na lokalne połączenia między Xcode i bazowymi narzędziami programistycznymi.

Na marginesie, nie jestem w stanie odtworzyć zachowania, które widzisz w OS X 10.10.3 i Xcode 6.3.2.

Alternatywne zapory ogniowe

Jeśli zdecydujesz się wyłączyć wbudowaną zaporę komputera Mac, sprawdź, czy jest dostępna alternatywa innej firmy, taka jak Little Snitch: Powody, dla których wolisz Little Snitch niż wbudowaną zaporę

Graham Miln
źródło
2
Rozważ zgłoszenie tego zachowania Apple bezpośrednio za pośrednictwem opinii lub formalnego zgłoszenia błędu . Każdy raport pomaga uzasadnić czas inżynierii.
Graham Miln
1
Jeszcze raz dziękuję za opinie i wysiłek. Ok, zakładam, że nie mogę rozwiązać tego z powodu bezpieczeństwa. Jako „rozwiązanie tymczasowe” zainstalowałem LittleSnitch (dzięki za podpowiedź), ale nie jestem pewien, czy mogę go skonfigurować, aby zachowywał się jak zapora OS X (tryb Stealth), ale zobaczę. Inną opcją może być Airport Express z wbudowaną zaporą ogniową.
2
BTW: Usunąłem LS, nie sądzę, że można tego użyć (patrz forums.obdev.at/viewtopic.php?f=1&t=6936#p22452 , ostatnie zdanie). Dziękuję za pomoc i
4
Miałem opcję Automatycznie zezwalaj podpisanemu oprogramowaniu na odbieranie połączeń przychodzących „włączone”, w cudzysłowie, ponieważ tak naprawdę nie wydaje się być „włączone”. Wyłączyłem go, a następnie włączyłem ponownie i wszystko wróciło do normy.
XCool,
3
@bauerMusic Świetna wskazówka! Walczyłem z tym od tygodni. Socketfilterfw całkowicie wysysał życie z mojego biednego Macbooka Air 2011. Przyjęta odpowiedź nie rozwiązała mnie, ale załatwiło to usunięcie Xcode z listy zapory ogniowej. Dziękuję Ci.
Tuslareb,
1

Zrobiłem obie opcje (usuń z listy, odznacz Automatycznie zezwól podpisanemu oprogramowaniu na odbieranie połączeń przychodzących ), a następnie musiałem ponownie uruchomić Xcode, aby poprawka zaczęła obowiązywać.

ine
źródło