ExplicaçãoEste erro ocorre quando o sistema aguarda por muito tempo na tentativa de executar alguma ação no banco de dados, devido ao tempo de espera o sistema derruba a conexão. Pontos de análise: - Verifique se os artefatos (Binário, Lib, DBAccess) do cliente estão atualizados;
- Verifique se houve alguma alteração no fonte que gera o erro (Na linha ou função que gera o erro);
- Verifique com o cliente se o erro ocorre exclusivamente em uma rotina ou se ocorre em várias.
Dica |
---|
| Ticket de exemplo: #17701851 |
Expandir |
---|
| Bloco de código |
---|
firstline | 1 |
---|
title | Trecho |
---|
linenumbers | true |
---|
| THREAD ERROR ([7656], FATURAMENTO, DESKTOP-U30GRFJ) 02/08/2023 13:11:56
[FWCustomMetrics:InsertMetric] TCSQLError(): Error : 845 (37000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Time-out occurred while waiting for buffer latch type 4 for page (1:11814786), database ID 5.( From tDBServer::ROP_SQLEXEC )
Thread ID [6120] User [FATURAMENTO] IO [4611] Tables [139] MaxTables [140] Comment [MATA460A - TCPIP - ThreadID(7656)] SP [ ] Traced [No] SQLReplay [No] InTran [Yes] DBEnv [MSSQL/BT9QI1] DBThread [(SPID 73,74)] Started [02/08/2023 13:06:05] IP [127.0.0.1:55612] IDLE [ ] InTransact [306 s.] Memory [0] Running [ROP_SQLEXEC for 300 s.] RCV [492780] SND [1513639] TCBuild [20191119-20200706] TCVersion [19.2.1.1] ARCH [64] OS [WINDOWS] BUILD [RELEASE]
INSERT INTO MP_CUSTOM_METRICS_EXP (MP_FEDERID, MP_MODULO, MP_ROTINA, MP_USER, MP_SUBROT, MP_IDMETRI, MP_VALUE, MP_LAPTIME, MP_DTCREAT, MP_DTSEND, MP_TPMETRI) VALUES ('61468401000165', 5, 'MATA461', '000190', 'MATA461', 'faturamento-protheus_media-itens-nota-saida_average', '3', 0, '20230802', '20230831', 'AVG') on INSERTMETRIC(FWCUSTOMMETRICS.TLPP) 30/09/2021 11:46:45 line : 472
[TOTVS build: 7.00.191205P-20200903]
Called from FWCUSTOMMETRICS:SETAVERAGEMETRIC(FWCUSTOMMETRICS.TLPP) 30/09/2021 11:46:45 line : 129
Called from MAPVLNFS2(MATA461.PRX) 19/10/2021 18:21:02 line : 4268
Called from MAPVLNFS(MATA461.PRX) 19/10/2021 18:21:02 line : 1807
Called from MA460PROC(MATA461.PRX) 19/10/2021 18:21:02 line : 1468
Called from {|LEND| MA460PROC(CALIAS, CSERIE, MV_PAR01==1, MV_PAR02==1, MV_PAR03==1, MV_PAR04==1, MV_PAR05==1, MV_PAR07, MV_PAR08, MV_PAR09, MV_PAR10, MV_PAR11==1, MV_PAR12, MV_PAR13, MV_PAR14, MV_PAR15==1, MV_PAR16==2, C460COND,@LEND,DDATAMOE)}(MATA461.PRX) 19/10/2021 18:21:02 line : 741
Called from { || FWSETSHOWKEYS( .F. ), EVAL( BACTION, @LEND ),LEND := .T. , FWSETSHOWKEYS( .T. ), ODLGMODAL:DEACTIVATE() }(MSPROCES.PRW) 30/09/2021 11:46:48 line : 104
Called from {|SELF|(EVAL(OSELF:BINIT))}(FWDIALOGMODAL.PRW) 30/09/2021 11:46:45 line : 462
Called from ::MSDIALOG:ACTIVATE
Called from FWDIALOGMODAL:ACTIVATE(FWDIALOGMODAL.PRW) 30/09/2021 11:46:45 line : 462
Called from PROCESSA(MSPROCES.PRW) 30/09/2021 11:46:48 line : 105
Called from MA460NOTA(MATA461.PRX) 19/10/2021 18:21:02 line : 741
Called from FWFORMBROWSE:EXECUTE(FWFORMBROWSE.PRW) 30/09/2021 11:46:48 line : 1144
Called from { || OSELF:EXECUTE("MA460NOTA", 4, 0,"PREP. DOC'S", 3,"","PREP. DOC'S","", 3) }(FWFORMBROWSE.PRW) 30/09/2021 11:46:48 line : 578
Called from ::MSDIALOG:ACTIVATE
Called from FWMBROWSE:ACTIVATE(FWMBROWSE.PRW) 30/09/2021 11:46:48 line : 697
Called from FWMARKBROWSE:ACTIVATE(FWMARKBROWSE.PRW) 30/09/2021 11:46:48 line : 267
Called from FWMARKBROWSE(MSLIB.PRW) 30/09/2021 11:46:48 line : 11097
Called from MARKBROWSE(MSLIB.PRW) 30/09/2021 11:46:48 line : 6123
Called from MARKBROW(MSLIB.PRW) 30/09/2021 11:46:48 line : 6103
Called from MATA460A(MATA461.PRX) 19/10/2021 18:21:02 line : 478
Called from __EXECUTE(APLIB090.PRW) 30/09/2021 11:46:45 line : 721
Called from MDIEXECUTE(APLIB260.PRW) 30/09/2021 11:46:45 line : 924 |
|
Expandir |
---|
| 1. Na pilha de chamadas, a última função executada é do MATA461, o que indica que o processo gerador do erro foi no módulo de faturamento: Bloco de código |
---|
firstline | 1 |
---|
title | Trecho |
---|
linenumbers | true |
---|
| Called from MAPVLNFS2(MATA461.PRX) 19/10/2021 18:21:02 line : 4268 |
Sendo assim, a primeira análise é do módulo de Faturamento.
2. Verifique qual tabela o sistema está tentando acessar, pode ser verificado pela Query apresentada no cabeçalho do erro: Bloco de código |
---|
firstline | 1 |
---|
title | Trecho |
---|
linenumbers | true |
---|
| INSERT INTO MP_CUSTOM_METRICS_EXP (MP_FEDERID, MP_MODULO, MP_ROTINA, MP_USER, MP_SUBROT, MP_IDMETRI, MP_VALUE, MP_LAPTIME, MP_DTCREAT, MP_DTSEND, MP_TPMETRI) VALUES ('61468401000165', 5, 'MATA461', '000190', 'MATA461', 'faturamento-protheus_media-itens-nota-saida_average', '3', 0, '20230802', '20230831', 'AVG') |
Neste caso, o sistema tenta realizar o Insert na tabela "MP" e como não consegue, excede o limite de tempo e derruba o sistema.
3. Validamos que o banco de dados do cliente estava em Cloud. |
Expandir |
---|
| O time de Framework nos informou que este erro está relacionado ao banco de dados do cliente, indicando a documentação: A time-out occurred while waiting for buffer latch -- type 4 Como o cliente era Cloud, o banco de dados dele estava aqui na TOTVS, então acionamos a equipe: SQUAD CLOUD DBA PROTHEUS Eles realizaram o ajuste do banco de dados do cliente e o erro deixou de ser apresentado. |
|