Página 1 de 1

log de erros

Enviado: 13 Nov 2018 18:04
por JoséQuintas
Vamos ver o que acontece agora...
Este deve ser o último log de erros gigante, período menor que um mês.
logerro.png

quase 600.000 linhas de erro.... rs

logerro2.png


Não me conformo com esse erro acima.
Não dá erro na abertura, e sim no próximo select.
Prossegue normalmente sem dar erro em run-time (coisa do flagship)

Finalmente a nova versão está no ar.
Vamos ver o que acontece daqui pra frente.... rs

Usei aquele esquema que já mostrei aqui:

Código: Selecionar todos

   OldHandler := ErrorBlock()
   ErrorBlock( { | e | JoseQuintasError( e ), iif( OldHandler == NIL, NIL, Eval( OldHandler, e ) ) } )
só intercalei minha rotina de registro de erros antes da rotina padrão do Flagship.
Então, mesmo o Flagship deixando passar, o erro fica registrado.
Em outras palavras: a rotina apenas "anota" o que acontece, mas sem interferir em nada, se antes aparecia mensagem de erro, continua aparecendo, e se antes não mostrava erro, continua não mostrando, apenas "anota".

log de erros

Enviado: 13 Nov 2018 18:10
por JoséQuintas
Tive que apelar... até rotina pra limpar arquivo de erros tive que criar.... rs

Código: Selecionar todos

PROCEDURE Main

   LOCAL cTxt, aError, cTraco := Replicate( "-", 79 ), oElement, aUserList := {}, nPos

   SetMode(25,80)
   CLS
   cTxt := MemoRead( "hb_out.log" )
   aError := hb_RegExSplit( cTraco, cTxt )
   cTxt := ""
   FOR EACH oElement IN aError
      IF ! "multiply opened" $ oElement
         cTxt += StrTran( oElement, Chr(13), "" ) + cTraco
      ENDIF
   NEXT
   hb_MemoWrit( "hb_out.log", cTxt )
   DO WHILE "User Name:" $ cTxt
      cTxt := Substr( cTxt, At( "User Name", cTxt ) )
      AAdd( aUserList, Substr( cTxt, 1, 30 ) )
      cTxt := Substr( cTxt, 10 )
   ENDDO
   cTxt := ""
   FOR EACH oElement IN aUserList DESCEND
      IF Chr(10) $ oElement
         oElement := Substr( oElement, 1, At( Chr(10), oElement ) - 1 )
      ENDIF
      IF Chr(13) $ oElement
         oElement := Substr( oELement, 1, At( Chr(13), oElement ) - 1 )
      ENDIF
      oElement := AllTrim( oElement )
      nPos := ASCan( aUserList, oElement )
      IF nPos != 0 .AND. nPos < oElement:__EnumIndex
         hb_ADel( aUserList, oElement:__EnumIndex, .T. )
      ENDIF
   NEXT
   FOR EACH oElement IN aUserList
      cTxt += oElement + hb_Eol()
   NEXT
   hb_MemoWrit( "user.log", cTxt )

   RETURN
Nesta primeira passagem, eliminando DA LISTA aquele erro de arquivo aberto múltiplas vezes....
logerro3.png
É uma grande ajuda... reduziu de 600.000 linhas pra 100.000 linhas.

log de erros

Enviado: 13 Nov 2018 18:17
por JoséQuintas
Este não faço idéia, o fonte deixou de ser o mesmo, eliminar da lista também....

Código: Selecionar todos

/0  type mismatch: 'D' <> 'C': B0500.PRG, module F_FATURA line 1430  
Called from F_FATURA(1430)    
É até interessante, comparando Date com Caractere.... coisa que o Harbour não mostra... mas prefiro muito mais a errorsys do Harbour, que mostra direito o erro.

logerro.png

diminuindo... restam 65.000 agora.

535.000 linhas de erro eliminadas sem mexer em nada.... rs

log de erros

Enviado: 13 Nov 2018 18:33
por JoséQuintas
Esse erro deve ser oculto....
tentativa de acessar variável que não existe.
Não perguntem quais são esses primeiros fontes.... é coisa do Flagship....

Código: Selecionar todos

/0  undefined variable;access of variable 'CSAYS' attempted  
Called from CB_1_60_21(60)    
Called from _ERRCALLER(186)    
Called from NFETCHECK(6)    
Called from NFEMAIN(22)    
Called from MAIN(38)    

log de erros

Enviado: 13 Nov 2018 20:12
por JoséQuintas
Olhem só que m.... de flagship
Error on 13/11/18 14:09:40
Alias: IBGE
Usuario: CLARICE
Versao BHP: 2018.11.12.1303


/0 Illegal alias;clio
Called from CB_1_60_21(60)
Called from _ERRCALLER(186)
Called from F_INSCLIOS(2277)
Called from HELP(13)
Called from GETDOSETKE(415)
Called from GETAPPLYKE(194)
Called from GETREADER(155)
Called from READMODAL(91)
Called from F_CDCLICOM(220)
Called from CB_2_682_19(682)
Called from GETPOSTVAL(354)
Called from GETREADER(155)
Called from READMODAL(91)
Called from APPSCREEN(551)
Called from B1413(11)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from MENUPRINC(614)
Called from MAIN(38)

Ok, deu erro em get, seguindo a lista, o B1413, linha 11
logerro.png
Não serve, vamos no AppScreen, linha 551

logerro2.png

não serve, vamos no f_cdclicom, linha 220
logerro3.png

Isso é Flagship, precisa adivinhar aonde deu erro.... rs

log de erros

Enviado: 14 Nov 2018 12:07
por JoséQuintas
Parece brincadeira, mas não é....
/0 file open error;file '/temp/filei23lio.lst' (DOS Error 256)
Called from CB_1_60_21(60)
Called from _ERRCALLER(186)
Called from EXECUTE(78)
Called from PRINTPREVI(11)
Called from PRINTEND(135)
Called from B0404(9)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from BOXMENU(674)
Called from MENUPRINC(614)
Called from MAIN(38)

log de erros

Enviado: 14 Nov 2018 12:09
por JoséQuintas
No passo a passo... o módulo é o b0404, linha 9
erro1.png
que bos... de ajuda

log de erros

Enviado: 14 Nov 2018 12:11
por JoséQuintas
/0 file open error;file '/temp/filei23lio.lst' (DOS Error 256)
Called from CB_1_60_21(60)
Called from _ERRCALLER(186)
Called from EXECUTE(78)
Called from PRINTPREVI(11)
Called from PRINTEND(135)
Called from B0404(9)
Ok, na chamada de printend() desse módulo... mas tem duas, qual delas deu erro?

log de erros

Enviado: 14 Nov 2018 12:13
por JoséQuintas
Ok, módulo print preview linha 11
erro2.png
quase lá... vamos ver se o outro ajuda...

log de erros

Enviado: 14 Nov 2018 12:15
por JoséQuintas
erro3.png
Pronto acabou a ajuda.
Os outros fontes NÃO existem.

log de erros

Enviado: 20 Nov 2018 15:53
por JoséQuintas
Confirmei hoje com o fabricante: só comprando uma nova versão do Flagship para ter a "Call Stack" mostrando linha correta.
R$3.000 reais só pra temporariamente continuar usando Flagship e obter a linha correta do erro... vou pensar... talvez decidir amanhã ou quinta junto com o cliente...

log de erros

Enviado: 20 Nov 2018 18:48
por JoséQuintas
Pois é... mas quando não tem opção... aqueles índices IDX não compatíveis é que reduziram as alternativas.
Os índices e a lógica dos aplicativos....
Se vou ter que conviver com Flagship por mais tempo, melhor com versão mais atual, com log de erros igual Clipper/Harbour.
E é só por esse motivo.

log de erros

Enviado: 20 Nov 2018 20:19
por asimoes
JoséQuintas escreveu:Pois é... mas quando não tem opção... aqueles índices IDX não compatíveis é que reduziram as alternativas.
Indice IDX é foxpro ? porque não converter esses indices para cdx, é limitação do Flagship ?

log de erros

Enviado: 21 Nov 2018 03:44
por JoséQuintas
Flagship usa um IDX próprio não compatível com nada.
Há mais de um aplicativo, e todos acessam os mesmos DBFs, portanto não dá pra fazer troca parcial.

log de erros

Enviado: 23 Nov 2018 21:31
por JoséQuintas
Descobri uma nova do Flagship.
O IDX não é compatível nem com ele mesmo kkkkk
Mas descobri que tem update grátis pra versão que estou usando, e deve resolver o problema de não mostrar a linha correta do erro.
Só não me perguntem como atualiza isso, não faço a menor idéia, mas tem ISO para update.

Até que o suporte foi interessante, apesar de uns desencontros, foram 10 emails de conversa.

Teve sátira ao Harbour
If you prefer Harbour, you are here on wrong place. You also will need
Harbour support - if such exist
E foi enviada uma rotina parecida com a minha como exemplo, que eu nem precisei testar.
I am sure you have not tried the example I sent
you, so here the result - of course with correct line numbers:

----------------------------------
linux:~> FlagShip -version

FlagShip PRO (unlimited users)
(c) Copyright 1989..2018 by multisoft GmbH Munich/Germany
Release 4.48.7465, Serial# ...kihldjxs from April 2, 1999
for Linux ELF & Glibc-2.2
uses GNU libc.so (c) Copyright 2018 Free Software Foundation Inc.
Foi nessa resposta que vi a diferença no número de versão, 4.48.7465, sendo que no cliente é 4.48.7452

Ainda há a possibilidade de atualizar, com desconto, mas volto ao mesmo problema:
índices não são compatíveis, então continua sendo tudo ou nada, a mesma situação do Harbour
At the time of upgrade from FS4 to FS5, indices changed to
support files >> 2 GB and for automatic integrity checking,
see also http://www.fship.com/changes_vfs8_linux.txt
You only will need to execute once INDEX ON...TO...
to rebuild FS4 to newer indexes.
A primeira resposta foi de um dia para o outro, talvez por causa do fuso horário.
Acho que não posso reclamar da ajuda, porque é um produto de 17 anos atrás, difícil a pessoa de lá ter respostas de imediato.
E nem seria obrigada a dar suporte.

Agora vou precisar da ajuda do administrador pra atualizar o Flagship.
Vamos criar uma segunda máquina virtual, pra não correr o risco de perder a máquina de desenvolvimento.

Talvez tudo que falei de ruim do Flagship esteja resolvido nessa atualização.
Vamos ver o que dá....

Nota: atualização pra última versão 4.x, que não tem custo