halohalospecial / atom-elmjutsu

A bag of tricks for developing with Elm. (Atom package)
https://atom.io/packages/elmjutsu
MIT License
192 stars 24 forks source link

Uncaught RangeError: Maximum call stack size exceeded #56

Closed BrianHicks closed 7 years ago

BrianHicks commented 7 years ago

This seems to happen randomly, especially when I'm working with union types. It says it was solved in #31, but I'm still getting it on the latest version. Is there you need beyond the following diagnostic?

Atom Version: 1.13.0 Electron Version: 1.3.13 System: Mac OS X 10.11.6 Thrown From: elmjutsu package, v3.5.0

Stack Trace

Uncaught RangeError: Maximum call stack size exceeded

At /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2243

RangeError: Maximum call stack size exceeded
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2243:6)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:1971:9)
    at A3 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2239:10)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:7714:10)
    at A3 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:9836:31
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:16:54
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2245:11)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:1971:9)
    at A3 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2239:10)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:9848:16
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:16:54
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2245:11)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:1971:9)
    at A3 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2239:10)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:9848:16
    at /Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:16:54
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2245:11)
    at A2 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:1971:9)
    at A3 (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/Users/brianhicks/.atom/packages/elmjutsu/elm/indexer.js:2239:10)

Commands

     -0:17 autocomplete-plus:confirm (input.hidden-input)
     -0:15.4.0 vim-mode-plus:activate-normal-mode (input.hidden-input)
     -0:15.3.0 vim-mode-plus:move-up (input.hidden-input)
     -0:14.9.0 vim-mode-plus:move-to-first-line (input.hidden-input)
  6x -0:14.8.0 vim-mode-plus:move-down (input.hidden-input)
  3x -0:14.3.0 vim-mode-plus:move-up (input.hidden-input)
 18x -0:13.6.0 vim-mode-plus:move-down (input.hidden-input)
     -0:12.2.0 vim-mode-plus:move-up (input.hidden-input)
  2x -0:11.9.0 vim-mode-plus:delete (input.hidden-input)
 10x -0:11.8.0 vim-mode-plus:move-down (input.hidden-input)
  2x -0:11.2.0 vim-mode-plus:move-up (input.hidden-input)
     -0:10.8.0 vim-mode-plus:insert-after-end-of-line (input.hidden-input)
     -0:10.3.0 autocomplete-plus:confirm (input.hidden-input)
     -0:07.0 editor:newline (input.hidden-input)
     -0:04.7.0 autocomplete-plus:confirm (input.hidden-input)
  6x -0:01.5.0 core:backspace (input.hidden-input)

Config

{
  "core": {
    "disabledPackages": [
      "language-gfm"
    ],
    "packagesWithKeymapsDisabled": [
      "elm-format",
      "markdown-preview-plus",
      "markdown-toc",
      "merge-conflicts"
    ],
    "telemetryConsent": "no"
  },
  "elmjutsu": {
    "autocompleteEnabled": true,
    "cacheDirectory": "/var/folders/f6/l26tk3xs5pjczcd5k5pcrmk00000gn/T/elmjutsu315956wkpZPS5U729",
    "globalAutocompleteEnabled": true,
    "showTypesInTooltip": true,
    "sidekickPosition": "right"
  }
}

Installed Packages

# User
atomatigit, v1.5.5 (active)
autocomplete-awk, v0.1.2 (active)
clarity-light-syntax, v2.0.0 (inactive)
elm-format, v2.1.0 (active)
elmjutsu, v3.5.0 (active)
git-plus, v7.2.2 (active)
go-debug, v1.0.4 (active)
go-guru, v0.2.0 (active)
go-plus, v5.1.1 (active)
go-rename, v0.3.0 (active)
go-signature-statusbar, v1.2.0 (active)
language-awk, v0.1.12 (active)
language-diff, v0.7.0 (active)
language-elm, v1.5.0 (active)
language-markdown, v0.19.1 (active)
language-protobuf, v0.7.1 (active)
linter, v1.11.21 (active)
linter-elm-make, v0.22.1 (active)
linter-golinter, v1.2.1 (active)
linter-markdown, v3.1.0 (active)
markdown-preview-plus, v2.4.1 (active)
markdown-toc, v0.4.2 (inactive)
merge-conflicts, v1.4.4 (active)
project-plus, v0.9.0 (active)
terminal-plus, v0.14.5 (active)
vim-mode-plus, v0.82.0 (active)
vim-mode-plus-duplicate, v0.2.0 (active)
vim-mode-plus-keymaps-for-surround, v0.2.1 (active)
vim-mode-plus-move-to-symbols, v0.2.0 (active)
atom-dark-syntax, v0.28.0 (inactive)
atom-dark-ui, v0.53.0 (inactive)
atom-light-syntax, v0.29.0 (inactive)
atom-light-ui, v0.46.0 (inactive)
base16-tomorrow-dark-theme, v1.4.0 (inactive)
base16-tomorrow-light-theme, v1.4.0 (inactive)
one-dark-ui, v1.8.2 (active)
one-light-ui, v1.8.2 (inactive)
one-dark-syntax, v1.6.0 (active)
one-light-syntax, v1.6.0 (inactive)
solarized-dark-syntax, v1.1.1 (inactive)
solarized-light-syntax, v1.1.1 (inactive)
about, v1.7.2 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.14.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.33.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.29.0 (active)
autosave, v0.23.2 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.43.2 (active)
bracket-matcher, v0.85.1 (active)
command-palette, v0.39.1 (inactive)
deprecation-cop, v0.55.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.204.5 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.2.0 (active)
go-to-line, v0.31.2 (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.1 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.159.1 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.2 (inactive)
settings-view, v0.244.0 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.5 (active)
status-bar, v1.6.0 (active)
styleguide, v0.48.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.1 (active)
timecop, v0.33.2 (active)
tree-view, v0.211.1 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.39.0 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.1 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (inactive)
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
halohalospecial commented 7 years ago

Hi! Can you provide an Elm file or sample project? :grinning: You can also try to upgrade to the latest version first. Another infinite recursion case was fixed in v3.5.1. It may be related to what you're encountering. Thanks!

halohalospecial commented 7 years ago

Hmm.. I used the stack trace you provided to find out which function got called. Looks like it's similar to the resolved issue in v3.5.1 (you're using v3.5.0 based on the diagnostic). Try to upgrade to the latest version first :-)

pacbeckh commented 7 years ago

I'm on v5.2.0 and got the same error:

RangeError: Maximum call stack size exceeded
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1278:11)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at Function.foldr [as func] (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1004:9)
    at A3 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:98:11)
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1272:10)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:10297:18
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:16:54
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1278:11)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at Function.foldr [as func] (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1004:9)
    at A3 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:98:11)
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1272:10)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:10297:18
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:16:54
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1278:11)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at Function.foldr [as func] (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1004:9)
    at A3 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:98:11)
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1272:10)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:10297:18
    at C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:16:54
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1278:11)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
    at Function.foldr [as func] (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1004:9)
    at A3 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:98:11)
    at Function.func (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:1272:10)
    at A2 (C:\Users\Paco\.atom\packages\elmjutsu\elm\indexer.js:92:11)
halohalospecial commented 7 years ago

Hi @pacbeckh! Do you have a way to reproduce that? Like a sample file or steps that I can follow? Thanks!

halohalospecial commented 7 years ago

Hi again! If you're always encountering this issue, you can uncheck these options (settings view) in the meantime:

pacbeckh commented 7 years ago

@halohalospecial I'm a bit short on time, i'll try to see if I can make some time this week to make the files available to you.

halohalospecial commented 7 years ago

Thanks, @pacbeckh!

pacbeckh commented 7 years ago

@halohalospecial

I've added a copy of the files and working state in which the error occurs. See the readme.md for the error report and steps to reproduce: https://github.com/pacbeckh/UncaughtRangeError

halohalospecial commented 7 years ago

@pacbeckh, thank you very much for the reproduction steps! :+1: You can check out the latest release (v.5.2.1).