“Npm ERR! errno 3221225477 ”Erro no nó ao fazer uma consulta usando oracledb

8

Este é o próprio erro na linha de comando:

npm ERR! code ELIFECYCLE
npm ERR! errno 3221225477
npm ERR! versioncenter@0.0.1 start: `node ./bin/www`
npm ERR! Exit status 3221225477
npm ERR!
npm ERR! Failed at the versioncenter@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\USERNAME\AppData\Roaming\npm-cache\_logs\2019-11-13T17_17_52_250Z-debug.log
/c/Program Files/nodejs/npm: line 37:  1341 Segmentation fault      "$NODE_EXE" "$NPM_CLI_JS" "$@"

Este é o log de erros:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.11.3
3 info using node@v12.11.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle versioncenter@0.0.1~prestart: versioncenter@0.0.1
6 info lifecycle versioncenter@0.0.1~start: versioncenter@0.0.1
7 verbose lifecycle versioncenter@0.0.1~start: unsafe-perm in lifecycle true
8 verbose lifecycle versioncenter@0.0.1~start: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\version_center\node_modules\.bin;C:\Users\USERNAME\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\USERNAME\bin;C:\Python27;C:\Python27\Scripts;C:\app\client\USERNAME\product\12.2.0\client_1;C:\app\client\USERNAME\product\12.2.0\client_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files\PuTTY;C:\Program Files\Git\cmd;C:\Program Files\nodejs;C:\ProgramData\chocolatey\bin;C:\Users\USERNAME\AppData\Local\Microsoft\WindowsApps;C:\Users\USERNAME\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\USERNAME\AppData\Local\Programs\Fiddler;C:\Users\USERNAME\AppData\Roaming\npm;C:\app\instantclient_19_3;C:\Program Files\nodejs\node.exe;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
9 verbose lifecycle versioncenter@0.0.1~start: CWD: C:\version_center
10 silly lifecycle versioncenter@0.0.1~start: Args: [ '/d /s /c', 'node ./bin/www' ]
11 silly lifecycle versioncenter@0.0.1~start: Returned: code: 3221225477  signal: null
12 info lifecycle versioncenter@0.0.1~start: Failed to exec start script
13 verbose stack Error: versioncenter@0.0.1 start: `node ./bin/www`
13 verbose stack Exit status 3221225477
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:210:5)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:210:5)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
14 verbose pkgid versioncenter@0.0.1
15 verbose cwd C:\version_center
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "start"
18 verbose node v12.11.1
19 verbose npm  v6.11.3
20 error code ELIFECYCLE
21 error errno 3221225477
22 error versioncenter@0.0.1 start: `node ./bin/www`
22 error Exit status 3221225477
23 error Failed at the versioncenter@0.0.1 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3221225477, true ]

Scripts:

"scripts": {"watch": "pm2 logs", "start": "pm2 start ./bin/www --watch --ignore-watch = 'node_modules' --max-memory-restart 100M & npm run watch "," startDev ":" pm2 start ./bin/www "," stop ":" pm2 stop 0 "}

Este erro é muito intermitente.

Tentei limpar o cache, excluir node_modules, package-lock.json e reinstalar.

Desativei completamente todos os antivírus e firewalls, incluindo firewalls de rede, pois testei em três redes diferentes.

Alguma idéia do que está acontecendo?

Levi Blodgett
fonte
possivelmente, o seu software antivírus ou firewall é npm escuta: stackoverflow.com/questions/45245920/elifecycle-npm-error
GrafiCode
Eu testei sem antivírus ou firewall presente e ainda assim recebo o erro de forma intermitente.
Levi Blodgett
Nós realmente precisamos de mais informações aqui. Você pode compartilhar o código relacionado à rota que está lidando com a consulta. É este e aplicativo expresso?
Samuel G
Este é um aplicativo Express, sim. Você quer dizer o arquivo js da rota ou a função inteira real para executar a consulta? Consegui fazer com que o aplicativo funcionasse no prod usando o pm2 para continuar funcionando, mas eu definitivamente gostaria de resolver o erro, se possível.
Levi Blodgett
Procure os logs do seu aplicativo Express. Não é útil notar.
Crutch Master

Respostas:

2

Pelo que pude encontrar, parece ser um erro relacionado à violação de acesso ao Windows:

https://github.com/nodejs/node/blob/842e5a10ac59c826f875ef79e92d144e2655cc9a/test/common.js#L502-L505

  // On Windows, v8's base::OS::Abort triggers an access violation,
  // which corresponds to exit code 3221225477 (0xC0000005)
  if (process.platform === 'win32')
    expectedExitCodes = [3221225477];

[EDIT:] Eventualmente, tente atualizar ([email protected] -> [email protected]) para a versão LTS mais recente do nó, pois isso pode resolver seu problema

MI53RE
fonte
Um dos três sistemas em que estou executando é a versão 13.1.0, nova instalação, portanto não é isso. No momento, estou tentando analisar o que você encontrou no código node.js.
Levi Blodgett
1

Se você executar, npm cache clean --forcevocê limpará o cache do npm. Isso pode remover qualquer coisa no cache que possa estar causando isso. Se você continuar tendo problemas, recomendo que você reinstale o npm / node.js, o que deverá resolver quaisquer problemas relacionados ao npm / node.js, se houver algum. Também pode estar relacionado ao firewall, embora a OP tenha dito que NÃO está relacionado ao firewall. Verifique seu firewall apenas por precaução.

Encontrei algo aqui que foi onde encontrei a npm cache clean --forcesolução.

Espero que isso tenha ajudado. Sou um novo membro deste fórum, portanto, por favor, não me ofenda com a minha horrenda explicação da situação. Eu só preciso de alguma reputação e prática, não mais desânimo.

Tehc
fonte
Eu mencionei na minha pergunta que já havia limpado o cache e também testei em um sistema completamente novo com o mesmo problema. E testei em um sistema sem firewall ou antivírus presente, completamente desativado e desinstalado.
Levi Blodgett
Bibliotecas nodejs oracledb antigas? As libs do cliente Oracle (binárias) estão ok?
Crutch Master
@LeviBlodgett Eu não sabia que você já havia limpado o cache. Essa parte da postagem não deve estar na sua postagem ou simplesmente pulei a frase específica. Talvez tente instalar uma versão mais antiga ou mais recente do npm ou node.js. Parece que o que está acontecendo comigo é que o Windows (como afirma o @ MI53RE) não consegue acessar uma pasta ou arquivo. A propósito, para que serve esse módulo npm chamado "versioncenter"?
Tehc 21/11/19
0

Para quem se deparar com essa questão no futuro, é assim que eu a "consertei":

Eu usei o PM2 para quebrar o aplicativo e reiniciar automaticamente se ele travar, ele não interrompe os travamentos, mas é recarregado enquanto mantém a conexão com o usuário para que eles não notem.

É uma bagunça, mas nunca encontrei a causa desse erro ou como corrigi-lo.

Levi Blodgett
fonte
Uau. Eu também estou batendo minha cabeça contra isso. Estou iniciando o nó com pm2 e sem, mas, de qualquer forma, encontro esse problema se estiver iniciando na inicialização. Não consegui descobrir a solução, também estou usando o pm2-windows-service e executando o serviço como usuário. Se eu descobrir isso, vou escrever aqui.
mcdado