YouTransfer / YouTransfer

The simple but elegant self-hosted file transfer & sharing solution
http://www.youtransfer.io
Apache License 2.0
1.96k stars 199 forks source link

Crashing when attempting to send #194

Open Filmtangent opened 6 years ago

Filmtangent commented 6 years ago

I'm getting a crash when I attempt to send the file. I've attempted to send via a manually defined SMTP and direct to MX and I get this error

restify listening at http://[::]:5000
14:50:47.200Z  INFO youtransfer: Disabled cleanup schedule
14:50:57.980Z  INFO youtransfer: Disabled cleanup schedule
/root/YouTransfer/node_modules/nodemailer/lib/mailer/index.js:45
        this.transporter.mailer = this;
                                ^

TypeError: Cannot set property 'mailer' of undefined
    at new Mail (/root/YouTransfer/node_modules/nodemailer/lib/mailer/index.js:45:33)
    at Object.module.exports.createTransport (/root/YouTransfer/node_modules/nodemailer/lib/nodemailer.js:52:14)
    at /root/YouTransfer/lib/youtransfer.js:83:34
    at /root/YouTransfer/lib/settings.js:93:4
    at NodeCache.module.exports.NodeCache.get (/root/YouTransfer/node_modules/node-cache/lib/node_cache.js:101:11)
    at NodeCache.get (/root/YouTransfer/node_modules/node-cache/lib/node_cache.js:12:59)
    at Settings.get (/root/YouTransfer/lib/settings.js:65:13)
    at Object.get (/root/YouTransfer/lib/youtransfer.js:82:18)
    at /root/YouTransfer/lib/youtransfer.js:284:28
    at /root/YouTransfer/node_modules/nunjucks/src/environment.js:23:23
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! youtransfer@1.1.0 start: `gulp clean && gulp dist && node app.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the youtransfer@1.1.0 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!     /root/.npm/_logs/2018-09-05T14_51_23_128Z-debug.log

Can anyone help?

lencell commented 6 years ago

Got the same error too with mail configured for SMTP, with the exact same stack trace (safe for the /root folder):

Sep 07 15:34:41 mimir2 npm[11738]: /opt/youtransfer/node_modules/nodemailer/lib/mailer/index.js:45
Sep 07 15:34:41 mimir2 npm[11738]:         this.transporter.mailer = this;
Sep 07 15:34:41 mimir2 npm[11738]:                                 ^
Sep 07 15:34:41 mimir2 npm[11738]: TypeError: Cannot set property 'mailer' of undefined
Sep 07 15:34:41 mimir2 npm[11738]:     at new Mail (/opt/youtransfer/node_modules/nodemailer/lib/mailer/index.js:45:33)
Sep 07 15:34:41 mimir2 npm[11738]:     at Object.module.exports.createTransport (/opt/youtransfer/node_modules/nodemailer/lib/nodemailer.js:52:14)
Sep 07 15:34:41 mimir2 npm[11738]:     at /opt/youtransfer/lib/youtransfer.js:83:34
Sep 07 15:34:41 mimir2 npm[11738]:     at /opt/youtransfer/lib/settings.js:93:4
Sep 07 15:34:41 mimir2 npm[11738]:     at NodeCache.module.exports.NodeCache.get (/opt/youtransfer/node_modules/node-cache/lib/node_cache.js:101:11)
Sep 07 15:34:41 mimir2 npm[11738]:     at NodeCache.get (/opt/youtransfer/node_modules/node-cache/lib/node_cache.js:12:59)
Sep 07 15:34:41 mimir2 npm[11738]:     at Settings.get (/opt/youtransfer/lib/settings.js:65:13)
Sep 07 15:34:41 mimir2 npm[11738]:     at Object.get (/opt/youtransfer/lib/youtransfer.js:82:18)
Sep 07 15:34:41 mimir2 npm[11738]:     at /opt/youtransfer/lib/youtransfer.js:284:28
Sep 07 15:34:41 mimir2 npm[11738]:     at /opt/youtransfer/node_modules/nunjucks/src/environment.js:23:23
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! code ELIFECYCLE
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! errno 1
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! youtransfer@1.1.0 start: `gulp clean && gulp dist && node app.js`
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! Exit status 1
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR!
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! Failed at the youtransfer@1.1.0 start script.
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR! A complete log of this run can be found in:
Sep 07 15:34:41 mimir2 npm[11738]: npm ERR!     /opt/youtransfer/.npm/_logs/2018-09-07T13_34_41_484Z-debug.log
Sep 07 15:34:41 mimir2 systemd[1]: youtransfer.service: Main process exited, code=exited, status=1/FAILURE

Here is the content of the debug log npm refers to:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using npm@5.6.0
3 info using node@v8.11.4
4 verbose config Skipping project config: /opt/youtransfer/.npmrc. (matches userconfig)
5 verbose run-script [ 'prestart', 'start', 'poststart' ]
6 info lifecycle youtransfer@1.1.0~prestart: youtransfer@1.1.0
7 info lifecycle youtransfer@1.1.0~start: youtransfer@1.1.0
8 verbose lifecycle youtransfer@1.1.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle youtransfer@1.1.0~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/opt/youtransfer/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
10 verbose lifecycle youtransfer@1.1.0~start: CWD: /opt/youtransfer
11 silly lifecycle youtransfer@1.1.0~start: Args: [ '-c', 'gulp clean && gulp dist && node app.js' ]
12 silly lifecycle youtransfer@1.1.0~start: Returned: code: 1  signal: null
13 info lifecycle youtransfer@1.1.0~start: Failed to exec start script
14 verbose stack Error: youtransfer@1.1.0 start: `gulp clean && gulp dist && node app.js`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
14 verbose stack     at emitTwo (events.js:126:13)
14 verbose stack     at EventEmitter.emit (events.js:214:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
14 verbose stack     at emitTwo (events.js:126:13)
14 verbose stack     at ChildProcess.emit (events.js:214:7)
14 verbose stack     at maybeClose (internal/child_process.js:925:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
15 verbose pkgid youtransfer@1.1.0
16 verbose cwd /opt/youtransfer
17 verbose Linux 4.4.0-124-generic
18 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
19 verbose node v8.11.4
20 verbose npm  v5.6.0
21 error code ELIFECYCLE
22 error errno 1
23 error youtransfer@1.1.0 start: `gulp clean && gulp dist && node app.js`
23 error Exit status 1
24 error Failed at the youtransfer@1.1.0 start script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]

Youtransfer has been cloned from the master branch of this repository (https://github.com/remie/YouTransfer.git) installed node.js version is 8.11.4

I can provide additional informations if needed

LouBNielsen commented 6 years ago

Any luck with this? @Filmtangent @lencell

Filmtangent commented 6 years ago

Unfortunately not, I've had to put a hold on my project for a while but will likely be able to do some more work on it in November.

On Wed, Oct 3, 2018 at 1:32 PM LouBNielsen notifications@github.com wrote:

Any luck with this? @Filmtangent https://github.com/Filmtangent @lencell https://github.com/lencell

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/YouTransfer/YouTransfer/issues/194#issuecomment-426620321, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ2LYnlPa8nuPzhECD5bBwaTJspp1QCrks5uhK5hgaJpZM4WbFgm .

--

Amar

scamhaji commented 6 years ago

In the meantime, I managed to make it work by replacing line 83 in file lib/youtransfer.js: Replace: var transporter = nodemailer.createTransport(); with: var transporter = null; It worked for me. The nodemailer API has changed.

LouBNielsen commented 6 years ago

@scamhaji, thanks! I'll try it out!

freeyland commented 5 years ago

Hi, this did not resolve the issue for me

gh-ix commented 5 years ago

Just wanted to confirm that the workaround posted above by @scamhaji does work for me. Thanks! More interesting was to find and follow the API change. I had a quick look, but couldn't get the point... -harry