Existem dois problemas semelhantes que podem acontecer ao criar programas no Solaris com compiladores do Studio.
1) / o espaço do tmp se esgota
O sintoma acima mostra que isso estava acontecendo para você. Desde a
o diretório / tmp é alocado para fora da memória virtual
sistema de arquivos) a resposta é adicionar espaço de troca, como mostrado acima.
2) malloc retorna um código de falha
Se o sistema não conseguir encontrar espaço de heap (malloc)
um processo em execução, um dos modos de erro comuns será
uma mensagem sobre "fork failed", que acontece quando o sistema operacional
não pode alocar memória virtual suficiente para fazer um novo
imagem do processo. Esta mensagem virá do sistema operacional, não
o compilador.
O kernel do Solaris, às vezes, retorna uma falha malloc ()
para um programa do usuário, mesmo que haja bastante espaço de troca
atribuído ao sistema. Isso acontece quando o pedido de memória
o tempo acabou. Se o kernel não conseguir encontrar espaço disponível
(trocando a memória para o disco, por exemplo) dentro de um
tempo, ele retornará uma falha.
Isso será confuso porque parece que não há mais swap,
mas é apenas um problema de tempo.
Em resumo:
A falta de VM através do diretório / tmp tem sintomas diferentes
e comportamento diferente do que ficar sem VM através da chamada malloc ().
Então tenha isso em mente.