Atom: Failed to activate the file-icons package At Cannot delete property '/tmp/file-outside-project-dirs.txt'

Created on 1 Jan 2017  路  7Comments  路  Source: file-icons/atom

I managed to narrow down the issue to a minimum amount of steps to reproduce:

  1. Open a file that's located outside of open project folder(s).
  2. Deactivate file-icons package
  3. Activate file-icons package

By doing some debugging the culprit seems to be that the serialized data is frozen (by storage.lock() upon deactivating the package), so if/when package is activated within the same window session again the package get activated with the very same frozen data.

Also, locked state is never reset/set to false upon storage.init().

I'll provide a PR promptly with a proposed solution.

Atom's error output upon thrown error:

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Mac OS X 10.10.5
Thrown From: file-icons package, v2.0.2

Stack Trace

Failed to activate the file-icons package

At Cannot delete property '/tmp/file-outside-project-dirs.txt' of #<Object>

TypeError: Cannot delete property '/tmp/file-outside-project-dirs.txt' of #<Object>
    at Storage.deletePath (/Users/viddo/.atom/packages/file-icons/lib/storage.js:220:21)
    at Storage.clean (/Users/viddo/.atom/packages/file-icons/lib/storage.js:37:10)
    at Storage.init (/Users/viddo/.atom/packages/file-icons/lib/storage.js:27:8)
    at Object.activate (/Users/viddo/.atom/packages/file-icons/lib/main.js:15:11)
    at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:184:19)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:157:32
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:150:26
    at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:550:34)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:352:19
    at /Applications/Atom.app/Contents/Resources/app.asar/src/config.js:635:20
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
    at Config.module.exports.Config.emitChangeEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:826:29)
    at Config.module.exports.Config.setRawValue (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:612:19)
    at Config.module.exports.Config.set (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:227:14)
    at Config.module.exports.Config.removeAtKeyPath (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:377:12)
    at Package.module.exports.Package.enable (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:77:26)
    at PackageManager.module.exports.PackageManager.enablePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:173:14)
    at HTMLButtonElement.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-card.js:358:27)
    at HTMLButtonElement.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
    at HTMLButtonElement.elemData.handle (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)

Commands

     -1:02.3.0 blur (div.settings-view.pane-item)
     -1:00.9.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -1:00.9.0 core:cancel (atom-text-editor.editor.mini.is-focused)
 22x -1:00.4.0 blur (atom-text-editor.editor.mini.is-focused)

Config

{
  "core": {
    "automaticallyUpdate": false,
    "customFileTypes": {
      "source.ini": [
        ".buckconfig",
        ".flowconfig"
      ],
      "source.json": [
        ".arcconfig",
        "BUCK.autodeps"
      ],
      "source.python": [
        "BUCK"
      ]
    },
    "disabledPackages": [
      "atom-html-preview",
      "atom-ternjs",
      "linter-scss-lint",
      "redacted",
      "source-preview",
      "symbols-tree-view",
      "autosave",
      "language-toml",
      "language-ruby-on-rails",
      "language-php",
      "language-objective-c",
      "language-perl",
      "language-java",
      "language-go",
      "language-csharp",
      "language-clojure",
      "linter-coffeelint",
      "minimap-pigments",
      "minimap-linter",
      "minimap-git-diff",
      "minimap-find-and-replace",
      "minimap-autohide",
      "minimap",
      "atom-beautify",
      "vim-mode",
      "about",
      "background-tips"
    ],
    "followSymlinks": true,
    "packagesWithKeymapsDisabled": [
      "fonts"
    ],
    "projectHome": "/Users/viddo/src/",
    "telemetryConsent": "limited"
  },
  "file-icons": {}
}

Installed Packages

# User
atom-beautify, v0.29.16 (inactive)
atom-ternjs, v0.16.1 (inactive)
autocomplete-paths, v1.0.5 (active)
elm-format, v2.1.0 (active)
elmjutsu, v2.13.2 (active)
erb-helper, v1.0.1 (inactive)
file-icons, v2.0.2 (inactive)
fonts, v1.7.0 (active)
gfm-lists, v1.0.0 (inactive)
git-blame, v0.4.11 (inactive)
highlight-selected, v0.11.2 (active)
hyperclick, v0.0.39 (active)
indentation-indicator, v1.0.0 (active)
js-hyperclick, v1.10.0 (active)
language-babel, v2.49.3 (active)
language-elm, v1.5.0 (active)
language-generic-config, v1.3.0 (active)
language-stylus, v0.2.0 (active)
linter, v1.11.21 (active)
linter-coffeelint, v1.2.1 (inactive)
linter-elm-make, v0.18.1 (active)
linter-erb, v1.0.3 (active)
linter-eslint, v8.0.0 (active)
linter-flow, v5.5.0 (active)
linter-js-standard, v3.7.0 (active)
linter-js-yaml, v1.2.6 (inactive)
linter-jsonlint, v1.3.0 (active)
linter-ruby, v1.2.4 (inactive)
linter-scss-lint, v3.0.4 (inactive)
minimap, v4.26.3 (inactive)
minimap-autohide, v0.10.1 (inactive)
minimap-find-and-replace, v4.5.1 (inactive)
minimap-git-diff, v4.3.1 (inactive)
minimap-linter, v1.6.0 (inactive)
minimap-pigments, v0.2.2 (inactive)
open-this, v0.3.0 (inactive)
open-vim, v0.2.3 (inactive)
pigments, v0.38.0 (active)
preview, v0.17.0 (inactive)
quick-file-actions, v0.1.1 (inactive)
recent-files-fuzzy-finder, v0.2.4 (active)
redacted, v0.5.0 (inactive)
soft-wrap-indicator, v1.0.1 (active)
sort-lines, v0.14.0 (inactive)
source-preview, v0.5.0 (inactive)
standard-formatter, v2.6.0 (active)
symbols-tree-view, v0.13.2 (inactive)
toggle-markdown-task, v0.5.0 (inactive)
toggle-quotes, v1.0.0 (inactive)
vim-mode, v0.65.2 (inactive)
vim-mode-plus, v0.69.0 (active)
zentabs, v0.8.7 (active)
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 (inactive)
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 (inactive)
background-tips, v0.26.1 (inactive)
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)
exception-reporting, v0.40.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)
metrics, v1.1.2 (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 (inactive)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (inactive)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (inactive)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (inactive)
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 (inactive)
language-perl, v0.37.0 (inactive)
language-php, v0.37.3 (inactive)
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 (inactive)
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 (inactive)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages
bug

Most helpful comment

Filed a separate issue, then.

All 7 comments

Still occurs in 2.0.9 at initial activation (immediately after install). Restarting atom solves the problem.

@kalsan Bugs will naturally be floating around until Atom is restarted. People shouldn't report a bug after upgrading until they've restarted.

But (as far as I know) I didn't have it installed previously. I hit it after installing it for the first time, as @kalsan said. After I restarted Atom, everything appears to be fine. The link from the error brought me to this issue.

Same thing here. Error msg with link as described by @mikebishop and first time install. Got no prompt to restart atom.

Sounds like a separate issue altogether then, although I've no idea why it's linking to this one...

Filed a separate issue, then.

鈥lthough I've no idea why it's linking to this one...

According to a comment by the concerned atom/notifications package: https://github.com/atom/notifications/issues/82#issuecomment-117298641

Currently, issue equality is based on the title. If the titles are the same, then the issue is assumed to be the same. The problem is that undefined is not a function is the vaguest error message ever. In some later version of chrome this should change.

I'll write a comment on that issue thread since it seems to be somewhat related.

Was this page helpful?
0 / 5 - 0 ratings