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

Hashbangs containing /bin/env break if no interpreter is specified #509

Closed
alejandronespereira opened this issue Jan 10, 2017 · 9 comments
Closed
Labels
bug Confirmed defect in package logic, deprecation notices, and PRs which fix them.

Comments

@alejandronespereira
Copy link

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.12.9
Electron Version: 1.3.13
System: Ubuntu 16.04.1
Thrown From: file-icons package, v2.0.8

Stack Trace

Uncaught TypeError: Cannot read property 'split' of undefined

At /home/alejandro/.atom/packages/file-icons/lib/service/strategies/hashbang-strategy.js:28

TypeError: Cannot read property 'split' of undefined
    at HashbangStrategy.matchIcon (/home/alejandro/.atom/packages/file-icons/lib/service/strategies/hashbang-strategy.js:28:15)
    at HashbangStrategy.check (/home/alejandro/.atom/packages/file-icons/lib/service/strategy.js:134:22)
    at HashbangStrategy.check (/home/alejandro/.atom/packages/file-icons/lib/service/strategies/header-strategy.js:52:16)
    at StrategyManager.query (/home/alejandro/.atom/packages/file-icons/lib/service/strategy-manager.js:84:32)
    at IconDelegate.getCurrentIcon (/home/alejandro/.atom/packages/file-icons/lib/service/icon-delegate.js:167:20)
    at IconDelegate.getClasses (/home/alejandro/.atom/packages/file-icons/lib/service/icon-delegate.js:77:11)
    at IconNode.refresh (/home/alejandro/.atom/packages/file-icons/lib/service/icon-node.js:67:39)
    at new IconNode (/home/alejandro/.atom/packages/file-icons/lib/service/icon-node.js:46:8)
    at new Tab (/home/alejandro/.atom/packages/file-icons/lib/consumers/tab.js:17:19)
    at Tabs.add (/home/alejandro/.atom/packages/file-icons/lib/consumers/tabs.js:82:16)
    at disposables.UI.delay.onOpenEditor.editor (/home/alejandro/.atom/packages/file-icons/lib/consumers/tabs.js:30:10)
    at Immediate._ (/home/alejandro/.atom/packages/file-icons/lib/ui.js:75:38)
    at runCallback (timers.js:574:20)
    at tryOnImmediate (timers.js:554:5)
    at processImmediate [as _immediateCallback] (timers.js:533:5)

Commands

Config

{
  "core": {
    "telemetryConsent": "no"
  }
}

Installed Packages

# User
file-icons, v2.0.8 (active)
highlight-selected, v0.11.2 (active)
minimap, v4.26.5 (active)
split-diff, v1.1.0 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (active)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (active)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages
@Alhadis
Copy link
Member

Alhadis commented Jan 10, 2017

Did this happen directly after upgrading? Or have to restarted Atom since then?

@alejandronespereira
Copy link
Author

No. I just installed them from zero.

I updated atom to the newer version ( I was on the 1.12.6 vs the current 1.12.9) in hopes for the issue to be solved, but it didn't work.

@Alhadis
Copy link
Member

Alhadis commented Jan 10, 2017

Is it happening with specific files, or literally at startup?

I noticed it's breaking while scanning hashbangs... are there any files open with interpreter directives? If so, could you copy+paste their hashbangs, please?

@alejandronespereira
Copy link
Author

alejandronespereira commented Jan 10, 2017

Directly on startup, but Atom opens the last working folder on startup, so it can be the files.

I am working on some python files with the classic hashbang #!/usr/bin/env

@Alhadis
Copy link
Member

Alhadis commented Jan 10, 2017

Oh shit. I never catered for hashbangs that start with #!/usr/bin/env but haven't specified an interpreter.

Uhm, that being said, the correct hashbang is actually #!/usr/bin/env python. ;) #!/usr/bin/env by itself won't run Python.

@alejandronespereira
Copy link
Author

I just tested removing the hashbangs and it works like a charm.

Ye I know I didn't add the python at the end because I was sharing the beginning of the line, anyways, thanks for the tip! :)

So I guess I should either remove all the hashbangs or start Atom on a "#!/usr/bin/env"-free environment until a new release?

@Alhadis Alhadis changed the title Uncaught TypeError: Cannot read property 'split' of undefined Hashbangs containing /bin/env break if no interpreter is specified Jan 10, 2017
@Alhadis
Copy link
Member

Alhadis commented Jan 10, 2017

Both would work, but you could also clone from master and use the fix I just pushed until the next release. :)

git clone git@github.com:file-icons/atom.git file-icons
cd file-icons
apm install .
apm link .

@alejandronespereira
Copy link
Author

That would work too, yep. Thanks!

@Alhadis
Copy link
Member

Alhadis commented Jan 10, 2017

Por nada compa!

@Alhadis Alhadis added the bug Confirmed defect in package logic, deprecation notices, and PRs which fix them. label Oct 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed defect in package logic, deprecation notices, and PRs which fix them.
Projects
None yet
Development

No branches or pull requests

2 participants