Ir para conteúdo
  • Cadastre-se

desdobrar

Membros
  • Total de ítens

    22
  • Registro em

  • Última visita

Tudo que desdobrar postou

  1. joia, ainda nao. bacana se eliminar essas dependências gráficas ficará top de mais! eu vou tentar fazer o xvfb executar dinamicamente. pro uso da lib em MT em outras linguagens no linux precisa fazer a mesma coisa com o xvfb? fazer ele executar dinamicamente em MT?
  2. Entendi, realmente pode ser esse o problema. Como que poderia fazer isso?
  3. eu uso assim: Xvfb :1 -ac & export DISPLAY=:1 crio e executo uma instancia de interface usando o xvfb depois disso eu executo a aplicação normalmente com node index.js se eu executar sem os comandos antes pra configurar o display ele aparece esse erro!, usando o comando a cima antes funciona normalmente!
  4. Como você pode vê na demonstração 1 quando carrego um por vez funciona corretamente. 1.mp4 Já na 2, eu carrego a req mais demorada (PDF base64) e em seguida carrego a info e assim que executa a info para tudo e cancela tudo. 2.mp4 Tudo leva a crer que seja algo relacionado ao ponteiro, porem como ele funciona no Windows então pode ser algo diferente, mas o problema é bem parecido o que acontecia no Windows.
  5. sim, está rodando em modo console, ja foi configurado tudo e funciona normalmente quando faz uma unica req, porem quando executa mais de uma ele finaliza, parecido uq acontecia com o windows rsrs, ohh sofrimento kkkk
  6. não, acredito que seja relacionado a lib ou as dependências dela, pois eu testei o worker_threads sem a chamada da lib e o carregamento e funcionamento de varias reqs ao mesmo tem funcionando normalmente.
  7. Sem sucesso, esses foram os erros que apareceu ao longo de varios testes relacionados a essa mensagem: Segmentation fault veja se você reconhece algum pra termos uma noção pra onde seguir! ERROR in code: TGtk2WidgetSet.CreateBitmapFromRawImage Incompatible DataSize Creating gdb catchable error: $00007FBA8C695028 $00007FBA8C692BB5 $00007FBA8C7512B1 $00007FBA8C67ECEC $00007FBA8C6CE048 $00007FBA8C6D3E87 $00007FBA8C6D873E $00007FBA8C6DBB64 $00007FBA8C6E563E Floating point exception --------------------------- node: ../../src/xcb_io.c:533: _XAllocID: Assertion `ret != inval_id' failed. Aborted --------------------------- [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. node: ../../src/xcb_io.c:163: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed. node: Fatal IO error 11 (Resource temporarily unavailable) on X server :1. Aborted [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. node: Fatal IO error 11 (Resource temporarily unavailable) on X server :1. node: ../../src/xcb_io.c:163: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed. Aborted node: Fatal IO error 2 (No such file or directory) on X server :1. [TGtk2WidgetSet.Destroy] WARNING: There are 2 unreleased GDIObjects, a detailed dump follows: [TGtk2WidgetSet.Destroy] GDIOs: 00007F529EA460C0 00007F529F0B3940 [TGtk2WidgetSet.Destroy] gdiBitmap: 2 [TGtk2WidgetSet.Destroy] WARNING: There are 1 unreleased GDIObjects, a detailed dump follows:
  8. isso, foi usada a Cdecl\ACBrNFe64.dll, vou tentar colocar mais Bytes e fazer mais testes.
  9. sim, a handle é inicializada em cada work e definida pelo método NFE_Inicializar da lib. estou usando: ../libs/bin/MT/Linux/libacbrnfe64.so
  10. Estamos passando pelo seguinte problema na hora de executar varias reqs ao mesmo tempo: Segmentation fault quando executamos uma unica req no linux ela funcionar perfeitamente, agora quando executa varias reqs diferentes ou iguais ao mesmo tempo acontece esse erro, alguém sabe algum caminho?
  11. Nossa, muito obrigado, pode sim! ainda estamos tentando fazer funcionar no linux, parece que o ponteiro que rodou no windows não funciona no linux, estamos tentando achar uma solução. assim que conseguir fazer funcionar no linux posto aqui a resolução e logo em seguida mando os exemplos limpos e documentados de como rodar em ambas as plataformas.
  12. Boa tarde, achamos o problema, o @CODIGO SISTEMAS LTDA Luiz Augusto, conseguiu achar o problema. basicamente o problema era na execução e criação do pointer, segue como foi solucionado. A chamada da Lib ficou assim let handlePtr = ref.refType('int'); const libm = ffi.Library(pathDllACBrLibNFe, { NFE_Inicializar: ['int', [handlePtr, 'string', 'string']], NFE_Finalizar: ['int', [handlePtr]], NFE_UltimoRetorno: ['int', [handlePtr, 'string', 'string']], NFE_Nome: ['int',[handlePtr, 'string','string']], NFE_Versao: ['int', [handlePtr, 'string','string']], NFE_ConfigLer: ['int', [handlePtr, 'string']], NFE_ConfigGravar: ['int', [handlePtr, 'string']], NFE_ConfigLerValor: ['int',[handlePtr,'string','string','string','string']], NFE_ConfigGravarValor: ['int', [handlePtr, 'string', 'string', 'string']], NFE_ConfigImportar: ['int',[handlePtr, 'string']], NFE_ConfigExportar: ['int',[handlePtr, 'string','string']], NFE_ObterCertificados: ['int',[handlePtr, 'string','string']], NFE_CarregarXML: ['int', [handlePtr, 'string']], NFE_SalvarPDF: ['int',[handlePtr, 'string','string']], }); A execução da inicialização ficou assim: let handle = ref.alloc(handlePtr); libm.NFE_Inicializar(handle, '', eChaveCrypt); handle = handle.deref(); e os demais métodos vc chama da mesma forma libm.NFE_ConfigGravarValor(handle, 'Principal', 'TipoResposta', '2'); OBS: a execução em node ainda depende da funcionalidade worker_threads, pois ainda precisa fazer o node executar varias instancias. ainda estou finalizando os testes e logo mais estarei criando um exemplo bem limpo e objetivo pra poder ser anexado nos exemplos em node js. Obrigado!
  13. Entendi, joia, em quanto isso, eu vou procurar outras alternativas pra tentar se comunicar com a lib usando node.
  14. O Luiz Augusto, está exatamente com o mesmo problema que eu, ele tbm não conseguiu implementar o MT com nodejs, já conversei com ele e passei minha evolução, ele que percebeu que realmente a minha primeira implementação não executava em MT, executa como uma fila. Tentei executar criando uma alocação do tipo int com 4 bytes conforme vc informou; let handle = ref.alloc(ref.types.int, 4); essa é a forma como eu recebo o ponto pra passar pras outras funções. handle = ref.readPointer(handle, 0, 4); porem tbm sem sucesso! Eu tbm estou acreditando que o problema esteja com esse ponto de identificação, existe algo errado com ele, ou ele não reescreve ou ele sempre cria o mesmo ponto sempre.
  15. esse foi o log obtido quando executo a mesma req ao mesmo tempo como se fosse 2 clientes diferentes! Quando eu executo o 1 ele vai, assim que executo o 2 ele mata o processo do 1 e continua o 2 até finalizar. ACBrLibNFE-20221207.log
  16. Legal, pois eu já verifiquei todos os exemplos, e ainda nao conseguir fazer rodar em MT, eu vou preparar os testes com o log da lib pra verificar e comparar com esse teste que vc fez em C#. nenhum dos exemplos em JS usa o MT, a execução normal em ST funciona perfeito. o problema mesmo e no uso e execução do MT.
  17. Olá, conforme, foi passado no discord, segue a reprodução do erro ACBRLIB NFE que não executa em MT. A lib. em single thread funciona perfeitamente O propósito da execução do MT da lib. É criar uma API web que use todos os serviços da lib. Cada requisição da API, end-point irá executar uma função da lib. Ao executar várias requisições na situação 1, ela se comporta como um semáforo, esperando a primeira requisição terminar para as outras finalizar, em quanto não finaliza uma a outra continua em execução aguardando-a terminar. Problema 1: A Lib. do Acbr não executa em MT, quando passado todos os parâmetros de pointer definindo um novo thread a mesma se comporta como um semáforo, esperando uma requisição termina para continuar a outra. Problema 2: Ao fazer o node executar MultiThreads com a função nativa do node worker_threads, quando executado requisições diferentes ele se comporta perfeitamente como o esperado, mas quando eu tento realizar a execução da mesma requisição ele acaba matando todas as requisições anulando-as completamente, sendo impossível de finalizar a requisição. Link do Arquivo: https://stsw.com.br/exemplos-mt-acbr-lib.zip
  18. Olá, eu preciso implementar o MT usando a lib, porem sem sucesso, usando uma instancia da lib funciona normal, mas na mt nao funciona, estou tentando inserir o parâmetro extra mas sem sucesso, como especificado no link: https://acbr.sourceforge.io/ACBrLib/ACBrLibeMultiThread.html Alguém pode me ajudar??
  19. eu conseguir mudar, é no cadastro da sh no monitor, breve vou precisar fazer na lib, mas seguindo a logica, provavelmente é a mesma forma. Obrigado
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.