Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento BackOffice Linha Protheus - SIGAFIN - MSRLOCK.eof Tentativa de Reservar o registro Alias SE5 em EOF

Ocorrência
 

Tentativa de reservar registro no Alias em EOF Stack de chamadas em MSROCK.eof .Tenta novamente? Essa mensagem será fechada em 5 segundos.

Ambiente

Protheus – Financeiro – A partir da versão 12.1.17

 

Causa 

A mensagem “EOF Stack em MSRLOCK” não indica que o registro esteja bloqueado por outro usuário ou processo.

EOF significa End Of File (Fim de Arquivo).
Ou seja, a rotina tentou reservar (lock) um registro para processamento, porém o ponteiro da tabela estava em EOF, indicando que o registro esperado não foi localizado.

Em termos práticos, o erro ocorre quando o sistema tenta manipular um registro que não existe, está inválido ou possui quebra de integridade referencial.

 

Possíveis Causas

O erro ocorre quando:

A rotina executa um DbSeek() ou lógica equivalente;

O registro não é encontrado na tabela;

Mesmo assim, o sistema tenta realizar um lock (MSRLOCK) sobre esse registro inexistente;

Como o ponteiro está em EOF, o Protheus gera a mensagem e grava o log msrlock.eof.

Portanto, não se trata de concorrência de usuários, mas sim de dados inconsistentes ou inválidos.

Exemplos comuns de causa

Se o erro ocorre, por exemplo, ao gerar ou excluir um Documento de Saída, pode existir inconsistência em algum dado relacionado, como:

TES inválido ou inexistente

Cliente / Fornecedor / Loja com código inexistente

Produto inválido no grid

Condição de pagamento inexistente

Item, natureza, conta, ou outro código referenciado que não exista na tabela correspondente

Ou seja, algum relacionamento necessário para o processamento não foi localizado, causando a tentativa de lock em EOF.

Esse artigo foi útil?
Usuários que acharam isso útil: 2 de 3

1 Comentários

  • Avatar
    Eduardo Bego Mantoan (Editado )

    Esta documentação está equivocada.
    EOF significa End-of-file, não se trata de arquivo em uso.

    A mensagem "EOF Stack em MSRLOCK" indica que a rotina tentou reservar um registro para ser manipulado no processamento; mas o ponteiro da tabela estava em FIM DE ARQUIVO (MODO EOF) pois não localizou o dado procurado na Tabela.
    Ou seja, algum dado (relacionado a este registro que está sendo processado) está inválido / não foi localizado, apresentando quebra de integridade.

    É gravado um arquivo de log denominado msrlock.eof na pasta system. Para uma correta conferência, deve-se realizar o processo com a ocorrência em ambiente de homologação onde ocorra o problema, após apagar este registro (para eliminar dados gravados anteriormente).

     

    Exemplo: Suponhamos que a mensagem ocorre ao tentar gerar / excluir um Doc. de Saída.
    Então algum dado relacionado com esse Doc de Saída está inválido / não foi localizado, apresentando quebra de integridade.
    Pode por exemplo ser algo inválido no cadastro do TES utilizado no Pedido de Vendas; pode ser o código do Cliente / Fornecedor / Loja estar registrado um código inválido, que não existe; pode conter um código de Produto no grid, ou um código de condição de Pgto, ou o código do Item, ou outro dado qualquer o qual não existe/ não é válido, etc....

     

    4
    Ações de comentário Permalink
Artigo fechado para comentários.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _