[firebase-br] Bug .NET Data Acess

Marcos Weimer marcosweimer em gmail.com
Qui Set 29 16:49:48 -03 2016


Esse é o problema, usamos a anos e nunca ocorreu algo do tipo, acho que
alguma atualização do windows (framework) deve ter influenciado, mas não
tenho certeza

-=Ma®©oS=-
Marcos R. Weimer
Delphi / C# / ASP.NET / PHP / WebServices / Firebird


Em 29 de setembro de 2016 16:17, Paulo Quicoli <pauloquicoli em gmail.com>
escreveu:

> Marcos, cara... nunca tive problema... e uso Firebird com .net há bastante
> tempo....
> Isso está acontecendo qdo executa uma sentença em específico (que demora),
> como que vc está usando? sempre abre e fecha transação? Está dentro de um
> bloco using?
>
> Vamos pensar juntos no que pode ser...
>
>
>
> Em 29 de setembro de 2016 16:00, Marcos Weimer <marcosweimer em gmail.com>
> escreveu:
>
> > A versão 2.7.7.0 da DLL (que estavamos usando anteriormente) sofre do
> mesmo
> > problema, atualizamos para a 5.1 para ver se solucionava mas não
> obtivemos
> > sucesso.
> >
> > Verifiquei agora no source da 2.7.7 o método RollbackImplicitTransaction
> é
> > idêntico (transactioncount sem tratamento de exceção)
> >
> > O problema que o erro é eventual, a maioria dos clientes nunca aconteceu
> > nada, funciona 100%, mas tem 2 que acontece com certa frequência, não
> > consegui identificar se é em uma lentidão de rede ou algo do tipo.
> >
> > Se soubesse a causa iria tratar antes, mas não sei.
> >
> > -=Ma®©oS=-
> > Marcos R. Weimer
> > Delphi / C# / ASP.NET / PHP / WebServices / Firebird
> >
> >
> > Em 29 de setembro de 2016 10:27, Marcos Weimer <marcosweimer em gmail.com>
> > escreveu:
> >
> > > Ola!
> > >
> > > Eventualmente nosso aplicativo fecha, do nada, sem motivo aparente, as
> > > vezes lança um CLR20R3 null exception, mas isso é beem eventual, tem 2
> > ou 3
> > > clientes que acontece, de algumas centenas.
> > >
> > > Então baixei o fonte da dll (FirebirdSql.Data.FirebirdClient, ativei o
> > > diagnostic tools no visual studio e boa, deixei rodando, acontece que
> > > agora, a primeira vez depois de dias, consegui encontrar um erro, e de
> > > posso do fonte o visual studio me levou a linha do problema.
> > >
> > > Recebo a exceção:
> > > An unhandled exception of type 'System.NullReferenceException'
> occurred
> > > in FrebirdSql.Data.FirebirdClient.dll
> > >
> > > Neste momento, está parado no FbCommand.cs, no método
> > > RollbackImplicitTransaction()
> > >
> > > Tem uma linha não tratada:
> > >
> > > int transactionCount = Connection.InnerConnection.Dat
> > > abase.TransactionCount;
> > >
> > > Connection = ok
> > > InnerConnection = null
> > >
> > > Usamos eventos e threads, o erro é eventual, não encontrei uma maneira
> de
> > > simular para postar no tracker (além do péssimo ingles).
> > >
> > > Vendo o código fonte, pensei em apenas mudar para dentro do try, mas
> não
> > > acredito que seja a melhor solução (ou se realmente é a solução, já que
> > não
> > > consegui compilar a dll para testar se resolve).
> > >
> > > Segue Trace:
> > > Activated    Event    Time    Duration    Thread
> > >     <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/
> > > E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>
> > > http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/
> > > 07/Reliability/Exception/Unhandled</TraceIdentifier><
> Description>Exceção
> > > não tratada</Description><AppDomain>UltraNFe.vshost.exe<
> > > /AppDomain><Exception><ExceptionType>System.NullReferenceException,
> > > mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=
> > > b77a5c561934e089</ExceptionType><Message>Referência de objeto não
> > > definida para uma instância de um objeto.</Message><StackTrace>   em
> > > FirebirdSql.Data.FirebirdClient.FbCommand.
> RollbackImplicitTransaction()
> > > na C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 768
> > >    em FirebirdSql.Data.FirebirdClient.FbCommand.Release() na
> > > C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 806
> > >    em FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean
> > > disposing) na C:\Users\Jiri\Documents\devel\
> > NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 372
> > >    em System.ComponentModel.Component.Finalize()</
> > > StackTrace><ExceptionString>System.NullReferenceException: Referência
> de
> > > objeto não definida para uma instância de um objeto.
> > >    em FirebirdSql.Data.FirebirdClient.FbCommand.
> > RollbackImplicitTransaction()
> > > na C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 768
> > >    em FirebirdSql.Data.FirebirdClient.FbCommand.Release() na
> > > C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 806
> > >    em FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean
> > > disposing) na C:\Users\Jiri\Documents\devel\
> > NETProvider\working\Provider\
> > > src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linha
> > 372
> > >    em System.ComponentModel.Component.Finalize()</
> > > ExceptionString></Exception></TraceRecord>
> > >
> > >
> > >
> > >
> > > -=Ma®©oS=-
> > > Marcos R. Weimer
> > > Delphi / C# / ASP.NET / PHP / WebServices / Firebird
> > >
> > >
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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