[firebase-br] UDF send_packed/send

Carlos Matos matos em comograma.pt
Segunda Setembro 20 10:27:56 -03 2021


Estive de volta do código da minha UDF e continuo a achar que algo estranho
se passa com o Firebird 4.
O erro que mencionei apenas ocorre se outro user estiver conectado à mesma
base de dados.
Se apenas o user que está a executar a UDF estiver conectado no banco de
dados, tudo está ok, mas se me conetar em simultâneo com outro user, o erro
acontece.
Alguma dica??!!!!!!!!

Pode me apontar artigos sobre UDFs, especialmente UDFs que retornam strings,
para perceber o método de alocação de memória e perceber se tenho algo que
não esteja correto?

Agradecido.

-----Mensagem original-----
De: lista <lista-bounces em firebase.com.br> Em Nome De Carlos H. Cantu via
lista
Enviada: 17 de setembro de 2021 18:43
Para: 'FireBase' <lista em firebase.com.br>
Cc: Carlos H. Cantu <listas em warmboot.com.br>
Assunto: Re: [firebase-br] UDF send_packed/send

Aparentemente sua UDF não está alocando memória da forma correta. UDFs que
trabalham com strings tem que se preocupar muito com isso.

O fato de vc dizer que funciona em outras versões do Firebird pode ser pura
sorte, ou por exemplo, pode funcionar com o Classic mas não com o
SuperServer, etc.

Sugiro que revise que consulte os artigos sobre UDFs e revise o código dela,
corrigindo qualquer problema encontrado.

Se tiver certeza que a UDF está correta, sugiro que abra um ticket no
tracker do Firebird e anexe uma aplicação demonstrando o problema.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

CM> Ok, no Firebird.log, o que aparece é isto:
CM>         The user defined function:      F_LRTRIM
CM>            referencing entrypoint:      lrTrim

CM>                         in module:      UDFsComograma
CM>         caused the fatal exception: Access violation.
CM>                 The code attempted to access a virtual
CM>                 address without privilege to do so.
CM>         This exception will cause the Firebird server
CM>         to terminate abnormally.

CM> Mas não percebo porquê. Já tenho esta UDF há 15 anos e nunca tive 
CM> qualquer problema com ela desde o Firebird 2.1 até ao Firebird 4. 
CM> Trabalha nos dias de hoje ainda no Interbase 2020.
CM> Não percebo porquê.

CM> Alguma ideia?

CM> -----Mensagem original-----
CM> De: lista <lista-bounces em firebase.com.br> Em Nome De Carlos H. Cantu 
CM> via lista
CM> Enviada: 17 de setembro de 2021 12:41
CM> Para: FireBase <lista em firebase.com.br>
CM> Cc: Carlos H. Cantu <listas em warmboot.com.br>
CM> Assunto: Re: [firebase-br] UDF send_packed/send

CM> Me parece ser problema na codificação da UDF.

CM> De qualquer forma, no firebird.log deve ter mais informações sobre o 
CM> problema ocorrido.

CM> []s
CM> Carlos H. Cantu
CM> eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php 
CM> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

CMvl>> Olá,
CMvl>> No Firebird 4, quando executo um select com uso a uma UDF, estou 
CMvl>> a obter o seguinte erro:
CMvl>> Error writing data to the connection.
CMvl>> Send_packet/send.

CMvl>> O comando é o seguinte:
CMvl>> SELECT F_LRTRIM(DESIG) FROM ARTIGOS

CMvl>> Em que F_LRTRIM é a minha UDF.

CMvl>> No Firebird 3 funciona 100%.

CMvl>> Porquê isto acontecer no Firebird 4? Sei que as UDF não são 
CMvl>> aconselhadas no Firebird 4 mas para já e como tenho algumas, 
CMvl>> ainda não
CM> posso removê-las.

CMvl>> Alguém pode ajudar?

CMvl>> Carlos Matos
CMvl>> Sócio-Gerente
CMvl>> Comograma – Programação Informática, Lda.
CMvl>> matos em comograma.pt
CMvl>> Tel: +351 239 802 340/8
CMvl>> Fax: +351 239 802 349
CMvl>> www.comograma.pt

CMvl>>    






CMvl>> ______________________________________________
CMvl>> FireBase-BR (www.firebase.com.br) - Hospedado em 
CMvl>> www.locador.com.br Para saber como gerenciar/excluir seu cadastro 
CMvl>> na
CM> lista, use:
CMvl>> http://www.firebase.com.br/fb/artigo.php?id=1107
CMvl>> Para consultar mensagens antigas:
CMvl>> http://www.firebase.com.br/pesquisa_lista.html


CM> ______________________________________________
CM> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
CM> Para saber como gerenciar/excluir seu cadastro na lista, use:
CM> http://www.firebase.com.br/fb/artigo.php?id=1107
CM> Para consultar mensagens antigas:
CM> http://www.firebase.com.br/pesquisa_lista.html


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html




Mais detalhes sobre a lista de discussão lista