[Enter steps to reproduce below:]
Atom Version: 1.7.3
System: Mac OS X 10.11.4
Thrown From: Remote-FTP package, v0.8.1
Uncaught TypeError: Cannot read property 'length' of undefined
At buffer.js:554
TypeError: Cannot read property 'length' of undefined
at Buffer.write (buffer.js:554:13)
at SFTPStream.stat (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/sftp.js:1599:7)
at SFTPWrapper.stat (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/lib/SFTPWrapper.js:87:23)
at /Users/Ingmar/.atom/packages/Remote-FTP/lib/connectors/sftp.js:154:18
at state.requests.(anonymous function).cb (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/sftp.js:1885:16)
at SFTPStream._transform (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/sftp.js:387:17)
at SFTPStream.Transform._read (_stream_transform.js:167:10)
at SFTPStream._read (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/sftp.js:170:15)
at SFTPStream.Transform._write (_stream_transform.js:155:12)
at doWrite (_stream_writable.js:292:12)
at writeOrBuffer (_stream_writable.js:278:5)
at SFTPStream.Writable.write (_stream_writable.js:207:11)
at Channel.ondata (_stream_readable.js:528:20)
at emitOne (events.js:77:13)
at Channel.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Channel.Readable.push (_stream_readable.js:110:10)
at SSH2Stream.<anonymous> (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/lib/Channel.js:146:15)
at emitOne (events.js:77:13)
at SSH2Stream.emit (events.js:169:7)
at parsePacket (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:3163:10)
at SSH2Stream._transform (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:551:13)
at SSH2Stream.Transform._read (_stream_transform.js:167:10)
at SSH2Stream._read (/Users/Ingmar/.atom/packages/Remote-FTP/node_modules/ssh2/node_modules/ssh2-streams/lib/ssh.js:212:15)
at SSH2Stream.Transform._write (_stream_transform.js:155:12)
at doWrite (_stream_writable.js:292:12)
at writeOrBuffer (_stream_writable.js:278:5)
at SSH2Stream.Writable.write (_stream_writable.js:207:11)
at Socket.ondata (_stream_readable.js:528:20)
at emitOne (events.js:77:13)
-1:29.1.0 core:paste (atom-text-editor.editor.is-focused)
-1:28.7.0 core:move-up (atom-text-editor.editor.is-focused)
-1:28.4.0 core:move-right (atom-text-editor.editor.is-focused)
2x -1:28.2.0 core:move-up (atom-text-editor.editor.is-focused)
2x -1:27 core:select-down (atom-text-editor.editor.is-focused)
-1:26.6.0 core:backspace (atom-text-editor.editor.is-focused)
-1:26.4.0 core:save (atom-text-editor.editor.is-focused)
-1:16.8.0 core:move-down (atom-text-editor.editor.is-focused)
-1:16.2.0 editor:toggle-line-comments (atom-text-editor.editor.is-focused)
-1:15.9.0 core:move-down (atom-text-editor.editor.is-focused)
2x -1:15.5.0 core:select-down (atom-text-editor.editor.is-focused)
-1:14.8.0 editor:toggle-line-comments (atom-text-editor.editor.is-focused)
-1:14.5.0 core:save (atom-text-editor.editor.is-focused)
-1:03.2.0 remote-ftp:disconnect (atom-text-editor.editor.is-focused)
-0:18.5.0 remote-ftp:sync-with-remote (div.header.list-item)
-0:13.1.0 remote-ftp:connect (ol.ftptree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
{
"core": {}
}
# User
Remote-FTP, v0.8.1
# Dev
No dev packages
In the newest release there should be a more detailed error message.
Please post the output here.
Update and restart fixed the error for me
I've got this just now with latest everything
[Enter steps to reproduce below:]
Atom Version: 1.8.0
System: Mac OS X 10.11.5
Thrown From: Remote-FTP package, v0.8.3
Uncaught TypeError: Cannot read property 'length' of undefined
At /Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:347
TypeError: Cannot read property 'length' of undefined
at Client.module.exports.Client.toLocal (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:347:41)
at ConnectorFTP.module.exports.ConnectorFTP.get (/Users/bennyp/.atom/packages/Remote-FTP/lib/connectors/ftp.js:167:24)
at Client.<anonymous> (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:425:20)
at Client.module.exports.Client._next (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:359:21)
at Client.module.exports.Client._enqueue (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:370:9)
at Client.<anonymous> (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:424:9)
at Client.module.exports.Client.onceConnected (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:167:14)
at Client.module.exports.Client.download (/Users/bennyp/.atom/packages/Remote-FTP/lib/client.js:423:8)
at File.module.exports.File.open (/Users/bennyp/.atom/packages/Remote-FTP/lib/file.js:59:10)
at FileView.module.exports.FileView.open (/Users/bennyp/.atom/packages/Remote-FTP/lib/views/file-view.js:83:13)
at space-pen-li.<anonymous> (/Users/bennyp/.atom/packages/Remote-FTP/lib/views/file-view.js:72:9)
at space-pen-li.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
at space-pen-li.elemData.handle (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)
-0:18.8.0 application:add-project-folder (ul.list-inline.tab-bar.inset-panel)
-0:12.5.0 remote-ftp:toggle (ul.list-inline.tab-bar.inset-panel)
{
"core": {
"disabledPackages": [
"remote-edit",
"preview-plus",
"notebook",
"font-awesome-snippetset",
"lines",
"sort-lines",
"livereload",
"recent-projects"
],
"themes": [
"atom-material-ui",
"atom-material-syntax-dark"
]
}
}
# User
Remote-FTP, v0.8.3
angular2-snippets-atom, v0.7.0
angularjs, v0.3.4
angularjs-styleguide-snippets, v0.7.3
atom-material-syntax-dark, v0.2.5
atom-material-ui, v1.2.13
atom-pair, v2.0.10
atom-typescript, v10.0.1
autocomplete-angular-material, v0.4.0
file-icons, v1.7.16
htmlhint, v1.1.4
indent-guide-improved, v1.4.9
jshint, v1.8.5
jsonlint, v1.1.4
less-than-slash, v0.13.0
linter, v1.11.14
linter-php, v1.2.0
linter-stylelint, v2.17.0
minimap, v4.24.7
pigments, v0.31.1
relative-numbers, v0.5.1
sync-settings, v0.7.2
tabs-to-spaces, v1.0.2
terminal-plus, v0.14.5
vim-mode, v0.65.1
vim-surround, v0.8.1
wordpress-api, v1.2.2
# Dev
No dev packages
Hey @jpxd, is there any updates here ? I got the same issue with latest "remote-ftp" and Atom after I try to open a remote file.
Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:348
Hide Stack Trace
TypeError: Cannot read property 'length' of undefined
at Client.module.exports.Client.toLocal (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:348:41)
at ConnectorFTP.module.exports.ConnectorFTP.get (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/connectors/ftp.js:169:24)
at Client.<anonymous> (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:426:20)
at Client.module.exports.Client._next (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:360:21)
at Client.module.exports.Client._enqueue (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:371:9)
at Client.<anonymous> (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:425:9)
at Client.module.exports.Client.onceConnected (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:168:14)
at Client.module.exports.Client.download (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/client.js:424:8)
at File.module.exports.File.open (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/file.js:59:10)
at FileView.module.exports.FileView.open (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/views/file-view.js:87:13)
at space-pen-li.<anonymous> (/Users/marvinheilemann/.atom/packages/Remote-FTP/lib/views/file-view.js:76:9)
at space-pen-li.jQuery.event.dispatch (/Users/marvinheilemann/.atom/packages/Remote-FTP/node_modules/jquery/dist/jquery.js:4435:9)
at space-pen-li.elemData.handle (/Users/marvinheilemann/.atom/packages/Remote-FTP/node_modules/jquery/dist/jquery.js:4121:28)
[Enter steps to reproduce:]
Atom: 1.14.1 x64
Electron: 1.3.13
OS: Mac OS X 10.12.2
Thrown From: Remote-FTP package 0.10.5
Uncaught TypeError: Cannot read property 'length' of undefined
At /Users/Ian/.atom/packages/Remote-FTP/lib/client.js:479
TypeError: Cannot read property 'length' of undefined
at Client.toLocal (/packages/Remote-FTP/lib/client.js:479:75)
at ConnectorSFTP.module.exports.ConnectorSFTP.get (/packages/Remote-FTP/lib/connectors/sftp.js:213:27)
at /packages/Remote-FTP/lib/client.js:551:26)
at Client._next (/packages/Remote-FTP/lib/client.js:489:43)
at Client._enqueue (/packages/Remote-FTP/lib/client.js:499:59)
at /packages/Remote-FTP/lib/client.js:550:14)
at Client.onceConnected (/packages/Remote-FTP/lib/client.js:237:19)
at Client.download (/packages/Remote-FTP/lib/client.js:549:12)
at File.module.exports.File.open (/packages/Remote-FTP/lib/file.js:48:12)
at FileView.module.exports.FileView.open (/packages/Remote-FTP/lib/views/file-view.js:94:15)
at /packages/Remote-FTP/lib/views/file-view.js:78:12)
at /packages/Remote-FTP/node_modules/jquery/dist/jquery.js:4435:9)
at /packages/Remote-FTP/node_modules/jquery/dist/jquery.js:4121:28)
-1:03.5.0 core:confirm (input.hidden-input)
atom-beautify 0.29.17
atom-clock 0.1.3
atom-material-syntax 1.0.2
atom-material-syntax-light 0.4.6
atom-material-ui 1.3.9
autoclose-html 0.23.0
language-javascript-jsx 0.3.7
monokai 0.20.0
nuclide 0.201.0
Remote-FTP 0.10.5
I am getting the same issue as well, any update on this? I think it is not fixed.
It's definitely not fixed
Atom 1.17.0 x64
Remote-FTP 0.10.7
Same steps: added a project, trying to edit first file
The error is located here: https://github.com/icetee/remote-ftp/blob/master/lib/client.js#L525
In my case, self.info.remote was blank (as the stack trace implies) which is why this line fails. However, this method takes in remote as well which is the absolute path to the file you're trying to download, for example: /var/www/test.php.
The fix for users now is to include the remote in the config and set it to / or something else. For the case of fixing the code, there is a check normally that's supposed to fix this issue, but it doesn't seem to happen.
It's odd because the code that I have in the plugin isn't shown here on the repo, at least not in the master branch. The code tries to default remote to / in order to fix this problem, but it doesn't seem to work at all.
Regardless, this code doesn't set self.info.remote if it isn't found either. The code in question I will post here since I don't know what branch it's supposed to be in:
if (self.info.remote) {
self.root.path = `/${self.info.remote.replace(/^\/+/, '')}`;
} else {
self.root.path = '/';
}
A simple solution would be to also set the self.info.remote here to prevent situation like this issue to come up.
For those that come upon this error before a fix is provided, just add remote into your config and it should work fine.
[Enter steps to reproduce:]
Atom: 1.33.1 x64
Electron: 2.0.16
OS: Windows 8.1
Thrown From: remote-ftp package 2.2.2
Uncaught TypeError: Cannot read property 'length' of undefined
At C:\Users\Loris\.atom\packages\remote-ftp\lib\client.js:628
TypeError: Cannot read property 'length' of undefined
at Client.toLocal (/packages/remote-ftp/lib/client.js:628:43)
at ConnectorFTP._getFile (/packages/remote-ftp/lib/connectors/ftp.js:192:31)
at /packages/remote-ftp/lib/connectors/ftp.js:530:14
at /packages/remote-ftp/lib/connectors/ftp.js:185:9
at Object.cb (/packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:368:5)
at /packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:122:20)
at emitTwo (events.js:131:20)
at Parser.emit (events.js:214:7)
at Parser.write (/packages/remote-ftp/node_modules/@icetee/ftp/lib/parser.js:78:12)
at Socket.ondata (/packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:293:20)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:594:20)
-0:46.1.0 grammar-selector:show (atom-text-editor.editor.is-focused)
-0:31.6.0 core:confirm (input.hidden-input)
remote-ftp 2.2.2
Most helpful comment
The error is located here: https://github.com/icetee/remote-ftp/blob/master/lib/client.js#L525
In my case,
self.info.remotewas blank (as the stack trace implies) which is why this line fails. However, this method takes inremoteas well which is the absolute path to the file you're trying to download, for example:/var/www/test.php.The fix for users now is to include the
remotein the config and set it to/or something else. For the case of fixing the code, there is a check normally that's supposed to fix this issue, but it doesn't seem to happen.It's odd because the code that I have in the plugin isn't shown here on the repo, at least not in the master branch. The code tries to default remote to
/in order to fix this problem, but it doesn't seem to work at all.Regardless, this code doesn't set
self.info.remoteif it isn't found either. The code in question I will post here since I don't know what branch it's supposed to be in:A simple solution would be to also set the
self.info.remotehere to prevent situation like this issue to come up.For those that come upon this error before a fix is provided, just add
remoteinto your config and it should work fine.