stack overflow

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

stack overflow

Mensagem por flaeuso »

Estou executando um programa feito em clipper e o mesmo da stack overflow
ja setei as configurações no autoxec.bat (clipper=f50,cgacurs) e no config.sys
as linhas files=40 e buffer=32. ja tentei alguns valores pra estes parametros mas mesmo assim continuo com o problema. O programa funciona em outra maquina com windows xp mas mesmo assim copiando os arquivos autoexe e comfig não funcionou alguem sabe o que pode estar dando errado.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Primeiramente, seja bem-vindo ao fórum. :)

Estranho funcionar numa máquina e em outra não. Mas isso não tem a ver com FILES ou BUFFERS. Esse problema se refere ao estouro da pilha interna do programa. Cada função utiliza essa pilha para várias tarefas.
Em algum ponto, talvez numa chamada recursiva (uma função chamando ela mesma), a pilha parece estar pequena demais para executar sua tarefa.
Se você utiliza o BLinker para montar seu programa, sugiro tentar aumentar a pilha interna, colocando no seu script STACK=x, onde x é a quantidade de memória, em bytes.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Flaeuso, você menciona clipper=f50,cgacurs o quê seria isto ? Normalmente é utilizado SET CLIPPER=F100 ou até maior. Poderia nos dizer qual é a mensagem de erro que está dando ?.

Você também menciona: autoxec.bat e config.sys para WINXP ? Será que isto é apenas força de hábito e quiz dizer autoxec.NT e config.NT (no \WINDOWS\SYSTEM32). Porque se você está apenas copiando o autoxec.bat e config.sys não irão funcionar no WINXP porque o SO não os utiliza. Desculpe se não era isso que você quiz dizer e que também estava sabendo, mas quem sabe pode estar alí seu erro. No CONFIG eu acostumo colocar:

FILES=90
BUFFERS=60

E aumente o SET CLIPPER para F100. mal não vai fazer.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

cgacurs

Mensagem por Maligno »

O argumento cgacurs é coisa muito antiga. Em algumas situações de uso de placas EGA/VGA, principalmente quando comutando entre programas TSRs (editores de texto - ex: Sidekick), o cursor ficava desconfigurado ao retornar. Aí inventaram essa coisa. Completamente fora de uso atualmente, claro.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

Stack Overflow

Mensagem por flaeuso »

Primeiramente obrigado a todos que responderam!

A mensagem de erro é stack overflow.
Essa mensagem ocorre quando um programa chamado menu.bat chama outro programa que é o clipper na mesma tela no entanto quando eu executo um modulo que efetua calculos no programa este erro acontece simplesmente stack overflow.

Eu alterei os arquivos script.nt e autoexec.nt na pasta system32 e mesmo assim o erro persiste. Copiei estes arquivos da maquina que esta funcionando e msm assim nada. Alguma outra sugestão???
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Flaeuso, você menciona script.nt ? Desculpe ser insistente, neste ponto pois geralmente os erros de execução entre WINXP e WIN98 ocorrem por equívocs nos arquivos CONFIG.NT e AUTOEXEC.NT. O sistema em WIN98 funciona normal ?.

O teu sistema é modular, isto é, um menu (que roda numa BAT em looping) e vários executáveis ?. Eu tenho um sistema que funciona desta forma, me dá muito mais flexibilidade dessa forma.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Talvez seja necessário incluir o comando STACKS no CONFIG.NT. Tentou isso?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

Stack overflow

Mensagem por flaeuso »

Vou setar o stacks=16778 .
Seria esse mesmo o valor ou vc indica outro?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Acho que esse valor deve estar mais que bom. Qualquer tentativa é válida. Eu nunca uso isso. Então, manda ver esse mesmo e veja que bixo dá. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

stack overflow

Mensagem por flaeuso »

Não funcionou :(
Bom na maquina que funciona não executa os scripts de logon na rede. Como faço pra tirar esses scripts da minha pra testar??
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

flaeuso, as minhas indicações parece que não te interessaram, pois eu não ví resposta das minhas mensagens. Daí fica dificil poder te ajudar.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

stack overflow

Mensagem por flaeuso »

Eu setei os arquivos conforme vc mencionou o autoxec.nt e o config.nt e ainda adicioneu a linha stacks = 16778 e mesmo assim ainda ta dando o erro de stack overflow quando mando fazer os calculos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Tentou recompilar o aplicativo ?. Se bem que está parecendo um problema de ambiente.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
flaeuso
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 24 Jul 2007 17:34
Localização: Goiania

stack overflow

Mensagem por flaeuso »

Já tentei recompilar mas não funcionou. O que mais me deixa cabreiro é que em uma maquina ta funcionando.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: stack overflow

Mensagem por Maligno »

flaeuso escreveu:Eu setei os arquivos conforme vc mencionou o autoxec.nt e o config.nt e ainda adicioneu a linha stacks = 16778 e mesmo assim ainda ta dando o erro de stack overflow quando mando fazer os calculos.
Stack Overflow quando manda executar cálculos? Então o programa executa. Tentou aumentar o stack do programa, como eu havia sugerido antes?

Aliás, se funciona sem problema numa máquina e não nesta, pondere sobre a possibilidade de ter um pente de memória com problema. Acontecem coisa estranhas nesses casos. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder