O Xcode.app é verificado pelo socketfilterfw (OS X Firewall) a cada inicialização

26

Situação:

Quando eu lançar Xcode, socketfilterfw, OS X's aplicação baseada firewall, começa a usar um monte de CPU.

Após algumas pesquisas, reduzi-o a isto: socketfilterfwlê todos os arquivos no Xcode.apppacote do e faz isso sempre que é Xcode iniciado. Gigabytes de dados , sempre.

Não importa quais configurações o firewall possui, tentei todas elas. A única coisa que impede isso é desativar o firewall (antes de iniciar o Xcode).

Alguém mais tem esse efeito ou uma idéia do que se trata?


Atualização
Eu apenas tentei o Xcode em uma instalação limpa (OS X e Xcode da ADC) e não o resolveu. Mas iniciou a verificação não quando o Xcode é iniciado, mas quando um projeto é executado (CMD-R). Portanto, ele começa a digitalizar quando o Xcode é iniciado ou ao executar um projeto.


fonte
O que você está fazendo para medir esta atividade de arquivo? É um problema de desempenho ou de uso de energia ou apenas algo que o incomoda o suficiente para perguntar?
bmike
A pista final foi dada usando "fs_usage" no Terminal, que me mostrou o que o socketfilterfw faz, lendo todos esses arquivos no pacote do Xcode.app. Também notei (mas removi isso da minha pergunta) que o 'amfid' é ativado (alto uso da CPU por um breve momento, tempo suficiente para vê-lo no Activity Monitor) quando inicio o Xcode e, depois disso, o Xcode termina o lançamento e, em seguida, o socketfilterfw é iniciado é orgia de varredura. E sim, é uma questão de desempenho e energia, notei por causa disso, mas também me incomoda :) e quero saber por que isso está acontecendo.
2
Comando para ver o uso do sistema de arquivos: sudo fs_usage -w -f filesys socketfilterfw
1
Legal. Vou tentar verificar as coisas neste fim de semana - tanto a versão de download do desenvolvedor quanto a da loja de aplicativos. Eu não notei nada assim, mas também não cutuque fs_usage geralmente com tanta frequência.
bmike
1
Obrigado! Ah, sim, pode-se fazer o download no site da ADC, eu esqueci totalmente disso, obrigado por me lembrar. Eu já baixei de lá para verificar as diferenças e testarei a versão beta.

Respostas:

22

O Xcode provavelmente está tentando usar a rede. Isso está desencadeando uma regra no firewall que resulta na verificação da assinatura de código do Xcode - exigindo uma leitura do pacote completo de aplicativos.

Experimente a seguinte opção nas configurações de firewall do OS X:

  • Preferências do Sistema.app>
  • Segurança e Privacidade>
  • Firewall>
  • Opções de firewall…>
  • Permitir automaticamente que software assinado receba conexões de entrada

Eu tenho essa opção desativada. Como resultado, sou solicitado frequentemente a permitir o acesso à rede de entrada do Xcode . Eu sempre nego o acesso, pois isso ainda permite conexões locais entre o Xcode e as ferramentas de desenvolvimento subjacentes.

Como uma observação lateral, não consigo reproduzir o comportamento que você está vendo no OS X 10.10.3 e no Xcode 6.3.2.

Firewalls alternativos

Se você decidir desativar o firewall interno do seu Mac, investigue usando uma alternativa de terceiros, como Little Snitch: Razões para preferir o Little Snitch ao firewall interno

Graham Miln
fonte
2
Considere relatar esse comportamento à Apple diretamente por meio de feedback ou um relatório formal de erro . Todo relatório ajuda a justificar o tempo de engenharia.
Graham Miln
1
Mais uma vez obrigado pelo seu feedback e esforço. Ok, suponho que não posso resolver isso por causa das coisas de segurança envolvidas. Como uma "solução temporária", instalei o LittleSnitch (obrigado pela dica), mas não tenho certeza se posso configurá-lo para que se comporte como o firewall do OS X (modo furtivo)), mas verei. Outra opção poderia ser o Airport Express, que possui um firewall embutido.
2
BTW: Eu removi o LS, acho que não pode ser usado para isso (consulte forums.obdev.at/viewtopic.php?f=1&t=6936#p22452 , última frase). Obrigado por sua ajuda e dia de recompensas feliz para você, Sir;)
4
Eu pedi que o software assinado automaticamente recebesse as conexões de entrada "ativadas", entre aspas, porque realmente não parece estar "ativado". Eu o desativei e o reativei e tudo voltou ao normal.
XCool
3
@bauerMusic Ótima dica! Eu estava lutando com isso por semanas. O Socketfilterfw estava sugando totalmente a vida do meu pobre Macbook Air 2011. A resposta aceita não resolveu para mim, mas remover o Xcode da lista de firewalls fez o truque. Obrigado.
Tuslareb
1

Eu fiz as duas opções (remover da lista, desmarcar Permitir automaticamente que o software assinado receba conexões ) e tive que reiniciar o Xcode para que a correção entrasse em vigor.

ine
fonte