Bem, seria interessante se você informasse o local do seu diretório ou partição de logs do squid, porém irei considerar que você possui a seguinte árvore de direórios onde o squid está gerando os logs.
/var/log/squid/cache <= diretório de logs do squid !
E que seu squid está instalado dentro do /etc/squid. Assim podemos ter uma idéia do nosso cenário.
Dentro do /etc/squid/sbin existe um arquivo chamado RunCache, ele é um script que tem por finalidade inicializar o squid.
PS.: Eu tive vários problemas como o seu, porém resolvi da forma como vou detalhar. O único problema é que perde todo o log gerado.
edite o arquivo RunCache, e encontre a última condicional onde ele verifica o número de tentativas que o script está fazendo para tentar inicializar o squid, ele faz uma comparação para 5 tentativas. Dentro dessa condicional existe uma mensagem. comente-a, e adicione os seguntes comandos:
rm -Rf /var/log/squid/cache/*.*
squid -z
Assim ele irá reconstruir o diretório de log a partir do zero, e em seguida iniciar normalmente o squid.
Agora, analizando o que você narrou na mensagem, o que pode estar acontecendo é o seguinte: Como os logs são sincronizizados com os dados que estã sendo gravados na RAM e no HD, algum seguemento da sua memória pode estar com células danificadas gerando assim um log defeituoso, e quando o squid faz a nova leitura do dietório e dos arquivos de logs, o que acontece é um arquivo danificado que ele está tentado ler.
Bem, essa é a minha idéia no momento.
espero ter ajudado.