Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server crashes with combination of N8N_CUSTOM_EXTENSIONS and NODES_INCLUDE flags #6683

Closed
ponix-net opened this issue Jul 18, 2023 · 1 comment · Fixed by #7038
Closed

Server crashes with combination of N8N_CUSTOM_EXTENSIONS and NODES_INCLUDE flags #6683

ponix-net opened this issue Jul 18, 2023 · 1 comment · Fixed by #7038
Labels
in linear Issue or PR has been created in Linear for internal review

Comments

@ponix-net
Copy link

ponix-net commented Jul 18, 2023

Describe the bug
When using custom nodes provided with N8N_CUSTOM_EXTENSIONS flag and specifying it on NODES_INCLUDE list server crashes on start. It also crashes with NODES_INCLUDE flag only if there is non-existing node on the list.

To Reproduce
Steps to reproduce the behavior:

  1. Set NODES_INCLUDE flag with invalid node name (or with one from the custom extensions). e.g.:
    export NODES_INCLUDE="[\"CUSTOM.someNode\"]"
  2. Run server.
  3. Server crashes.

Expected behavior
Server starts and displays only nodes from NODES_INCLUDE array.

Environment:

  • OS: Ubuntu Linux 23.04
  • n8n Version 1.0.1
  • Node.js Version 18.14.2
  • Operation mode main

Proposed solution
It is caused by accessing element from known.nodes in LazyPackageDirectoryLoader class without checking if it exists. It can be fixed by adding condition in DirectoryLoader.ts:

374+   if (nodeName in this.known.nodes) {
375        allowedNodes[nodeName] = this.known.nodes[nodeName];
376+   }

With this fix all works as expected: server is not crashing and provides only nodes from NODES_INCLUDE list (both core and custom).

@Joffcom
Copy link
Member

Joffcom commented Jul 18, 2023

Hey @ponix-net,

I have managed to reproduce this one and have created N8N-6706 as our internal ticket to get it fixed.

@Joffcom Joffcom added the in linear Issue or PR has been created in Linear for internal review label Jul 18, 2023
netroy added a commit that referenced this issue Aug 31, 2023
# [1.5.0](https://github.com/n8n-io/n8n/compare/n8n@1.4.0...n8n@1.5.0)
(2023-08-31)


### Bug Fixes

* **Agile CRM Node:** Fix issue with company address not working
([#6997](#6997))
([2f81652](2f81652))
* **Code Node:** Switch over to vm2 fork
([#7018](#7018))
([dfe0fa6](dfe0fa6))
* **core:** Invalid NODES_INCLUDE should not crash the app
([#7038](#7038))
([04e3178](04e3178)),
closes [#6683](#6683)
* **core:** Setup websocket keep-live messages
([#6866](#6866))
([8bdb07d](8bdb07d)),
closes [#6757](#6757)
* **core:** Throw `NodeSSLError` only for nodes that allow ignoring SSL
issues ([#6928](#6928))
([a01c3fb](a01c3fb))
* **Date & Time Node:** Dont parse date if it's not set (null or
undefined) ([#7050](#7050))
([d72f79f](d72f79f))
* **editor:** Fix sending of Ask AI tracking events
([#7002](#7002))
([fb05afa](fb05afa))
* **Microsoft Excel 365 Node:** Support for more extensions in workbook
rlc ([#7020](#7020))
([d6e1cf2](d6e1cf2))
* **MongoDB Node:** Stringify response ObjectIDs
([#6990](#6990))
([9ca990b](9ca990b))
* **MongoDB Node:** Upgrade mongodb package to address CVE-2021-32050
([#7054](#7054))
([d3f6356](d3f6356))
* **Postgres Node:** Empty return data fix for Postgres and MySQL
([#7016](#7016))
([176ccd6](176ccd6))
* **Webhook Node:** Fix URL params for webhooks
([#6986](#6986))
([596b569](596b569))


### Features

* **core:** External Secrets storage for credentials
([#6477](#6477))
([ed927d3](ed927d3))
* **core:** Add MFA ([#4767](#4767))
([2b7ba6f](2b7ba6f))
* **core:** Add filtering, selection and pagination to users
([#6994](#6994))
([b716241](b716241))
* **editor:** Debug executions in the editor
([#6834](#6834))
([c833078](c833078))
* **RSS Read Node:** Add support for self signed certificates
([#7039](#7039))
([3b9f0fe](3b9f0fe))

Co-authored-by: netroy <netroy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in linear Issue or PR has been created in Linear for internal review
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants