[MASOCH-L] arquivo corrompendo mesmo com chattr

Conrado De Biasi debiasi at gmail.com
Wed Jan 27 15:27:18 -03 2021


Boa tarde !


Isso dele aparecer como data é que pode ter acentuação no arquivo ou vir do
windows e estar com o carriage return do windows. Dá um cat -v no arquivo
que dá pra ver.

pra saber se tem algum processo com ele preso pode usar o fuser e/ou lsof.



-----
De Biasi, Conrado
debiasi at gmail.com


Em qua., 27 de jan. de 2021 às 14:39, Rejaine Silveira Monteiro <
rejaine at bhz.jamef.com.br> escreveu:

> Oi pessoal,
>
> Estou com uma situação um tanto bizarra.. Rodo um app  no Liniux SLES12
>  de terceiros (Totvs/Protheus)
>
> Esse app lê um arquivo de configuração (um txt chamado appserver.ini ) e
> volta e meia esse arquivo de configuração aparece corrompido.
>
> O desenvolvedor já tentou colocar um debug na aplicação , mas ainda não
> encontrou nada.. Disseram que o app não deveria  escrever no arquivo
> (exceto em situações muito pontuais e que , segundo ele, não parece ser o
> caso) Logo sobrou a culpa para o SO, que supostamente (e por algum motivo
> muito bizarro) estaria despejando algum lixo no arquivo... (o que acho
> difícil, mas vamos lá)
>
> De início já descartamos problema de hardware/memória e afins, pois ocorre
> o problema em máquinas diferentes (sejam virtuais ou físicas)
>
> Executo o comando file para detectar quando o arquivo está corrompido e ao
> inves dele retornar, por exemplo, "ASCII text", ele retorna algo do tipo:
>
> # file appserver.ini
> appserver.ini: data
>
> Quando edito o arquivo, há caracteres estranhos no início, meio ou final do
> arquivo.
>
> Já tentei rodar um strace no PID do processo, mas não me esclareceu muita
> coisa:
>
> unfinished ...>
> 4645  write(384,
> "C\0\0\0(\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0S\1\20\0\0\0\0\0\0\0\0\0"..., 71) =
> 71
> 8913  <... write resumed> )             = 80
> <...etc>
> 9069  write(1, "/appserver.ini RESTORED IN MEMOR"..., 4096) = 4096
> <etc...>
> 22886 write(242, "\25\3\3\0\32}u\f\274\210
> \320X\334\227xnW\347\\cCH\227\354\365\20/\206g,", 31) = -1 EBADF (Bad file
> descriptor)
> 22886 write(7, "\n2021-01-27T13:06:21.617032-03:0"..., 130) = 130
> 22886 write(7, "\n2021-01-27T13:06:21.620391-03:0"..., 154) = 154
> 22886 write(7, "\n2021-01-27T13:06:21.620615-03:0"..., 113) = 113
> 22886 write(1, "/jss/jobservice7/appserver.ini *"..., 4096) = 4096
> 22886 write(7, "\n2021-01-27T13:06:21.620902-03:0"..., 135) = 135
>
> Me parece ser algo do tipo: algum child process/fork no processo PAI tenta
> ler/escrever no arquivo enquanto algum outro child está com o mesmo aberto
> ou algo do tipo..
> Mas como posso descobrir isso (sem debugar por dentro da aplicação, pois
> não temos acesso ao código?) Há alguma coisa que eu poderia fazer para
> tentar mitigar o problema e descobrir exatamente o processo que está
> escrevendo, de forma aleatoria, no arquivo?
>
> --
> *Esta mensagem pode conter informações confidenciais ou privilegiadas,
> sendo seu sigilo protegido por lei. Se você não for o destinatário ou a
> pessoa autorizada a receber esta mensagem, não pode usar, copiar ou
> divulgar as informações nela contidas ou tomar qualquer ação baseada
> nessas
> informações. Se você recebeu esta mensagem por engano, por favor avise
> imediatamente ao remetente, respondendo o e-mail e em seguida apague-o.
> Agradecemos sua cooperação.*
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>


More information about the masoch-l mailing list