Latromi Client fechando sozinho

Boa tarde!
Notei recentemente que o Latromi vem fechando sozinho, mais dois colegas meus também notaram.
Teria algum motivo para isso? Aparentemente não estamos fazendo nada de diferente que poderia intervir na ferramenta.

Aconteceu comigo também algumas vezes.

Olá @Deia e @nielson.santos

Não temos conhecimento deste problema.

Vocês podem procurar nos logs por mensagens de erro e postá-las aqui?

Para obter os logs, siga os passos:

  1. Abra o menu Arquivo > Abrir Pasta de Logs

    image

  2. Localizem os arquivos com data e hora de modificação próxima do momento da ocorrência na pasta raiz ou na pasta users/<Nome.do.Usuario>.

    • Se estiver na pasta raiz, o nome do arquivo será a data de ocorrência do log, no formato AAAA.MM.DD.log.
    • Se estiver na pasta do usuário, o nome do arquivo será o ID da Sessão, no formato N.log (N=número)
  3. Dentro dos arquivo com extensão “.log”, procure por mensagens do tipo “Error”.

Não sei qual trecho seria importante, vou colar tudo:

Data/Hora            Tipo     Origem                Categoria                 ID     Tempo            Mensagem
===========================================================================================================================================================================================================================================
2020-11-17 12:58:36  Error    LATROMI Client        DbConnectionError         1999   --               Uma operação de soquete foi tentada em um host inacessível.
    ******************************* Errors *******************************
    
    LATROMI.Common.Exceptions.DbConnectionException: Uma operação de soquete foi tentada em um host inacessível ---> System.Net.Sockets.SocketException: Uma operação de soquete foi tentada em um host inacessível
       em Npgsql.NpgsqlConnector.Connect(NpgsqlTimeout timeout)
       em Npgsql.NpgsqlConnector.<RawOpen>d__139.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnector.<Open>d__136.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnection.<Open>d__28.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnection.Open()
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       --- Fim do rastreamento de pilha de exceções internas ---
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       em LATROMI.Common.DAL.DataProvider.CreateCommand(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand)
       em LATROMI.DAL.Estatistica.GetObjectsCount()
       em LATROMI.BLL.Estatistica.GetObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.UpdateObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.<>c.<.ctor>b__6_0(Object state)
       em System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
       em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.TimerQueueTimer.CallCallback()
       em System.Threading.TimerQueueTimer.Fire()
       em System.Threading.TimerQueue.FireNextTimers()
       em System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)
    
    [LATROMI.Common.Exceptions.DbConnectionException]
    
    	Message:	Uma operação de soquete foi tentada em um host inacessível
    	Source:	LATROMI.Common.DAL
    	ProviderName:	Npgsql
    	ConnectionString:	User Id=postgres;Password=;Server=192.168.0.209;Database=latromi_avacorpi;Port=8404;SearchPath=wecdb,public;pooling=false;ApplicationName=LATROMI Client
    
    [System.Net.Sockets.SocketException]
    
    	Message:	Uma operação de soquete foi tentada em um host inacessível
    	Source:	Npgsql

    em LATROMI.BLL.LoggerBase.AddInternal(Int16 type, String description, String category, String details, Nullable`1 messageID, Nullable`1 globalIdRef, String hint)
       em LATROMI.BLL.LoggerBase.EnterException(Exception ex, IDictionary additionalValues, LogEntryType entryType)
       em LATROMI.ClientUI.ProgramStarter.CurrentDomain_UnhandledException(Object sender, UnhandledExceptionEventArgs e)
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       em LATROMI.Common.DAL.DataProvider.CreateCommand(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand)
       em LATROMI.DAL.Estatistica.GetObjectsCount()
       em LATROMI.BLL.Estatistica.GetObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.UpdateObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.<>c.<.ctor>b__6_0(Object state)
       em System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
       em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.TimerQueueTimer.CallCallback()
       em System.Threading.TimerQueueTimer.Fire()
       em System.Threading.TimerQueue.FireNextTimers()
       em System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)

2020-11-17 12:58:36  Error    LATROMI Client        --                        --     --               LATROMI.Common.Exceptions.DbConnectionException: Uma operação de soquete foi tentada em um host inacessível ---> System.Net.Sockets.SocketException: Uma operação de soquete foi tentada em um host inacessível      em Npgsql.NpgsqlConnector.Connect(NpgsqlTimeout timeout)      em Npgsql.NpgsqlConnector.<RawOpen>d__139.MoveNext()   --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---      em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)      em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)      em Npgsql.NpgsqlConnector.<Open>d__136.MoveNext()   --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---      em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)      em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)      em Npgsql.NpgsqlConnection.<Open>d__28.MoveNext()   --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---      em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)      em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)      em Npgsql.NpgsqlConnection.Open()      em LATROMI.Common.DAL.DataProvider.CreateConnection()      --- Fim do rastreamento de pilha de exceções internas ---      em LATROMI.Common.DAL.DataProvider.CreateConnection()      em LATROMI.Common.DAL.DataProvider.CreateCommand(String sqlCommand, Int32 commandTimeout)      em LATROMI.Common.DAL.DataProvider.ExecuteNonQuery(String sqlCommand, String sqlCommandLog, DbParameter[] parameters)      em LATROMI.Common.DAL.BaseDALFactory`2.Insert(ITableType objetoTypes)      em LATROMI.BLL.LogEntry.Insert(LogEntry logEntry)      em LATROMI.BLL.LoggerBase.AddInternal(Int16 type, String description, String category, String details, Nullable`1 messageID, Nullable`1 globalIdRef, String hint)      [LATROMI.Common.Exceptions.DbConnectionException]         Message:   Uma operação de soquete foi tentada em um host inacessível      Source:   LATROMI.Common.DAL      ProviderName:   Npgsql      ConnectionString:   User Id=postgres;Password=;Server=192.168.0.209;Database=latromi_avacorpi;Port=8404;SearchPath=wecdb,public;pooling=false;ApplicationName=LATROMI Client   ----------------------------------------------------------------------      [System.Net.Sockets.SocketException]         Message:   Uma operação de soquete foi tentada em um host inacessível      Source:   Npgsql   
    LATROMI.Common.Exceptions.DbConnectionException: Uma operação de soquete foi tentada em um host inacessível ---> System.Net.Sockets.SocketException: Uma operação de soquete foi tentada em um host inacessível
       em Npgsql.NpgsqlConnector.Connect(NpgsqlTimeout timeout)
       em Npgsql.NpgsqlConnector.<RawOpen>d__139.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnector.<Open>d__136.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnection.<Open>d__28.MoveNext()
    --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
       em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       em Npgsql.NpgsqlConnection.Open()
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       --- Fim do rastreamento de pilha de exceções internas ---
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       em LATROMI.Common.DAL.DataProvider.CreateCommand(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteNonQuery(String sqlCommand, String sqlCommandLog, DbParameter[] parameters)
       em LATROMI.Common.DAL.BaseDALFactory`2.Insert(ITableType objetoTypes)
       em LATROMI.BLL.LogEntry.Insert(LogEntry logEntry)
       em LATROMI.BLL.LoggerBase.AddInternal(Int16 type, String description, String category, String details, Nullable`1 messageID, Nullable`1 globalIdRef, String hint)

    em LATROMI.BLL.LoggerBase.AddInternal(Int16 type, String description, String category, String details, Nullable`1 messageID, Nullable`1 globalIdRef, String hint)
       em LATROMI.BLL.LoggerBase.EnterException(Exception ex, IDictionary additionalValues, LogEntryType entryType)
       em LATROMI.ClientUI.ProgramStarter.CurrentDomain_UnhandledException(Object sender, UnhandledExceptionEventArgs e)
       em LATROMI.Common.DAL.DataProvider.CreateConnection()
       em LATROMI.Common.DAL.DataProvider.CreateCommand(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand, Int32 commandTimeout)
       em LATROMI.Common.DAL.DataProvider.ExecuteScalar(String sqlCommand)
       em LATROMI.DAL.Estatistica.GetObjectsCount()
       em LATROMI.BLL.Estatistica.GetObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.UpdateObjectsCount()
       em LATROMI.MVP.Presenters.MainWindowPresenter.<>c.<.ctor>b__6_0(Object state)
       em System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
       em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.TimerQueueTimer.CallCallback()
       em System.Threading.TimerQueueTimer.Fire()
       em System.Threading.TimerQueue.FireNextTimers()
       em System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)
1 curtida

Obrigado @Deia!

Acho que consegui achar o problema com essas informações.

Por favor, atualizem o Client para a versão 3.5.277 e verifiquem se o problema foi resolvido.

1 curtida

Beleza, vou atualizar, te aviso.
Obrigado!

Ontem usei bastante o Latromi, observei que não fechou sozinho em nenhum momento.

Hoje ele fechou quando fui abrir uma record. Quando fui dar o duplo clique para abrir, o mouse deu uma escorregada, e deu um clique na record e outro clique no nada, acredito que foi por isso. Não vejo como um problema, visto que raramente me acontece de dar o duplo clique errado, só estou reportando mesmo. Segue log:

2020-11-19 10:09:58  Error    LATROMI Client        --                        1999   --               Valor não pode ser nulo.   Nome do parâmetro: statement.
    ******************************* Errors *******************************
    
    System.ArgumentNullException: Valor não pode ser nulo.
    Nome do parâmetro: statement
       em LATROMI.ClientUI.Development.Forms.ProcudereTreeControl.GetStatementWindow(Object statement)
       em LATROMI.ClientUI.Development.Forms.ProcudereTreeControl.OpenStatementWindow(Object statement)
       em LATROMI.ClientUI.Development.Forms.ProcudereTreeControl.OpenStatementWindow(RadTreeNode node)
       em LATROMI.ClientUI.Development.Forms.ProcudereTreeControl.treeview_NodeMouseDoubleClick(Object sender, RadTreeViewEventArgs e)
       em Telerik.WinControls.UI.RadTreeViewElement.OnNodeMouseDoubleClick(RadTreeViewEventArgs e)
       em Telerik.WinControls.UI.TreeNodeElement.OnDoubleClick(EventArgs e)
       em Telerik.WinControls.RadElement.DoDoubleClick(EventArgs e)
       em Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
       em Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
       em Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args)
       em Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e)
       em Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e)
       em Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e)
       em Telerik.WinControls.UI.RadTreeView.OnMouseUp(MouseEventArgs e)
       em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       em System.Windows.Forms.Control.WndProc(Message& m)
       em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       em Telerik.WinControls.RadControl.WndProc(Message& m)
       em Telerik.WinControls.UI.RadTreeView.WndProc(Message& m)
       em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    [System.ArgumentNullException]
    
    	Message:	Valor não pode ser nulo.
    Nome do parâmetro: statement
    	Source:	LatromiClientUI

    em LATROMI.BLL.LoggerBase.AddInternal(Int16 type, String description, String category, String details, Nullable`1 messageID, Nullable`1 globalIdRef, String hint)
       em LATROMI.BLL.LoggerBase.EnterException(Exception ex, IDictionary additionalValues, LogEntryType entryType)
       em LATROMI.ClientUI.ProgramStarter.Application_ThreadException(Object sender, ThreadExceptionEventArgs e)
       em System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
       em System.Windows.Forms.Control.WndProcException(Exception e)
       em System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
       em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       em System.Windows.Forms.Application.Run(Form mainForm)
       em LATROMI.ClientUI.ProgramStarter.Run()
       em LATROMI.ClientUI.Program.Main(String[] args)
       em System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       em System.AppDomain.ExecuteAssembly(String assemblyFile, String[] args)

Blza @Deia! Obrigado por reportar!

1 curtida