Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro de execução com Lazarus 3.0, FPC 3.2.2, Ubuntu 23.10 e Horse Trunk #360

Open
edsontmarques opened this issue Sep 19, 2023 · 3 comments
Labels
bug Something isn't working lazarus

Comments

@edsontmarques
Copy link

Criei um projeto simples de teste com o código de exemplo que encontra-se em https://github.com/HashLoad/horse.
Configurei o Project Options definindo os Build Modes padrões criados pelo Lazarus (Project Options > Compiler Options > Botão '...' no topo do form).
Com isso o Lazarus cria os Build Modes "Release" e "Debug".
Ajustei o Build Mode para Debug e Rodei a API básica com o Lazarus.
Entrei no Firefox e enviei a requisição "localhost:9000/ping".

O Lazarus levantou uma exceção de "Invalid Typecast" na unit Horse.Core.RouterTree.NextCaller linha 89.
Deixei continuar a execução e o firefox me mostrou o seguinte retorno:

`The application encountered the following error:

Error: Invalid type cast
Stack trace:
$00000000005DE23D Next, line 89 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.NextCaller.pas
$00000000004E566F ExecuteInternal, line 187 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.pas
$00000000004E5401 Execute, line 149 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.pas
$00000000005E050A HandlerAction, line 94 of ../../../../../frameworks/fpc/horse/src/Horse.WebModule.pas
$00000000005E03CB DoOnRequest, line 79 of ../../../../../frameworks/fpc/horse/src/Horse.WebModule.pas
$00000000005E13A4`

Fazendo alguns testes na configuração do Build Mode Debug gerado pelo Lazarus, percebi que se Desligarmos o parâmetro Project Options > Compiler Options > Debugging > Checks and assertion > Verify method calls (-CR) , o erro acima não acontece e o retorno para requisição é "Pong", como esperado.

@viniciussanchez viniciussanchez added the bug Something isn't working label Sep 19, 2023
@Valmadson
Copy link

Aproveitando a observação do Edson, gostaria também de relatar que utilizando o lazarus 3.99 trunk , um simples ping/pong apresenta a seguinte mensagem abaixo :  

  • (mesmo com a Veryfi method calls (-CR) desabilitado)

    • (Já no windows versão 2.2.6 stable do lazarus funciona normal)

SOs: Manjaro e Pop! OS

This binary has no thread support compiled in.
Recompile the application with a thread-driver in the program uses clause before other units using thread.
Runtime error 232 at $000000000041B2C3
$000000000041B2C3
$000000000046A8DE  LISTEN,  line 142 of ../horse/src/Horse.Provider.FPC.HTTPApplication.pas

@viniciussanchez
Copy link
Member

@edsontmarques @Valmadson acharam alguma solução para o problema? Não tivemos mais relatos quanto a esse tipo de situação...

@edsontmarques
Copy link
Author

Vinícius, Infelizmente estive envolvido com vários problemas fora da área de programação e precisei deixar o desenvolvimento da API no ponto que estava. Não tive como voltar a verificar se o problema continua acontecendo ou se mudou com as novas versões do Lazarus e FPC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lazarus
Projects
Status: Todo
Development

No branches or pull requests

3 participants