Página 1 de 1

Unrecoverable Error 650: Processor Stack Fault

Enviado: 11 Nov 2004 17:54
por Adams
Boa Tarde Pessoal
Meu Nome é João e sou novo no forum.

Pessoal,tenho um programa em clipper que esta retornando a seguinte mensagem:

Unrecoverable Error 650: Processor Stack Fault

Mas verificando o codigo fonte, fui linha a linha e verifiquei que o mesmo esta dando erro na hora que abre um arquivo NTX (hora que ele tenta carregar). Ja deletei o NTX, e o erro continua. Ja limpei o DBF e recriei o arquivo e nada. Alguem sabe o que pode estar acontecendo

Grato pela atenção

Enviado: 11 Nov 2004 20:12
por Clipper
Prezado Colega

Caro colega,

Não tenho e nem me lembro quando tive esse tipo de erro, mas recentemente copiei a resposta de um colega em um forum sobre esse mesmo problema, vou transcrever abaixo o que copiei talvez possa lhe ajudar:

"Esse erro acontece quando uma função chama outra e essa função que foi chamada chama a anterior novamente, diversas vezes."

O problema pode ser simplesmente que o erro que o Clipper esta retornando (650) e originado dos parametros do Sistema Operacional que ele esta rodando.
Por Exemplo: O aplicativo .EXE esta em um servidor NT e cliente W95/98, e existe um erro no codigo. O Erro no programa clipper sempre volta (650).
Tente simular o sistema em disco local. O clipper retornara o numero do erro correto.
Em todos os casos, este problema é conhecido como referência circular e só pode ser consertado alterando a estrutura do programa a fim de não se permitir este erro. Em função deste erro o programa entra em um loop do qual não consegue sair, até dar o erro.

Até logo.

Marcelo

Enviado: 12 Nov 2004 02:10
por Dudu_XBase
Tive esse erro logo q migrei do rtlink para o blinker ...
Modiquei a errorsys....comecei a usar várias coisas loucas...
Me lasquei na época para resolver....

// Linke esse obj junto com seu programa ...
http://geocities.yahoo.com.br/dudu_xbase/__wait_b.zip

// Verifique no config.sys se vc já possui isso...
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS x=CB00-CBFF
DOS=HIGH,UMB
FILES=200
BUFFERS=30

Enviado: 13 Nov 2004 23:53
por rochinha
Amiguinho

Este erro é o que chamamos de intermitente.

Este erro não faz anuncio da linha que o ocasionou dentro da lista de erros do Clipper.

Por isto não é fácil de resolver.

Eu tive este erro alguns dias atrás após compilar um programa que rodava a vários meses sem problema, meu cliente pediu uma alteração, eu fiz e compilei e o erro passou a acontecer.

Também uso o Blinker.

Este erro tem relação com variáveis colocadas em condições de critica diversas ao mesmo tempo, exemplo:

Código: Selecionar todos

PUBLIC TESTE
...
IF TESTE = "C"
    ...
ENDIF
Veja que a variavel TESTE foi PUBLICada e seu valor por default será .F., ou seja, lógico.

Em algum ponto de seu programa voce fáz uma critica nesta variável com outro valor, então acontece o erro.

É o mesmo que forçar o Clipper a devolver o resultado de:

if (1 + 1) = "X"

if "ABC" = ctod("01/12/2005")

Produre por seus IFs e CASEs e veja se as variáveis de critica estão sendo inicializadas de acordo.

@braços :?)