问题标签 [stack-level]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - SystemStackError - 堆栈级别太深
我知道这里有很多系统堆栈错误问题......但每个问题和答案都是独一无二的。并没有找到一个靠近我的。
我真的不明白为什么我会收到这个错误......
我不需要视图,因为表单是通过 ajax 发送的。我验证了我的编码是否可以使用 rails 控制台插入新记录。
我验证了路线:
提交此表单时出现系统堆栈错误:
通过 AJAX 提交的 JavaScript
控制器
形式:
ios - 随机堆栈级别太深 (SystemStackError)
我最近在我的代码中遇到了一个奇怪的小鬼。它会随机地在一段代码上转储一个“堆栈级别太深(SystemStackError)”错误,该代码以前(有时是之前)一直在工作。我已经阅读了此处涉及堆栈级别的类似线程,但似乎找不到我的问题。某处发生了递归,但似乎不一致。
最常见的两个错误点:
运行我的测试,第一个错误会弹出用户名,在成功完成这个测试之前只有片刻。重置后再次运行我的测试会引发第二个错误,这更加奇怪,因为测试需要通过这一点运行,甚至可以到达我们在第一次运行时达到的用户名。这个顺序并不一致。有时它只会在一件或另一件上出错,从而难以追踪。
有问题的两个错误的代码。
ruby - 如果我在方法中使用常规 if 语句,但在使用三元运算符时说“堆栈级别太深”,为什么程序会通过所有测试?
我正在处理名为机器人名称的编码挑战。我也对此进行了测试。该程序通过了所有测试。代码如下..
如果您需要查看测试文件,可以在此处查看robots_name_tests。
然后我开始重构,第一件事就是重构no_duplicate
方法。所以重构后的代码看起来像这样
有了这个版本,所有的测试都显示出来了SystemStackError: stack level too deep
。考虑到提供的代码,为什么会出现此错误以及在这两种情况下的幕后情况?谢谢!
ruby-on-rails - Ruby on Rails -- SystemStackError:堆栈级别太深
我在创建后和更新前向我的模型添加了一些代码,现在我无法保存我的帖子 btw 两个模型(用户和帖子)都有 has_and_belongs_to_many 关系:
是什么导致了这个,我应该改变什么来摆脱这个错误?
ruby-on-rails - Rails:before_save - 堆栈级别太深
我有这个简单的模型:
每次Stack level to deep
创建新的Post
.
现在,当我删除before_save :re_process, on: :update
一切工作正常。
这条线不应该只在我更新帖子时生效吗?
ruby - 调试堆栈级别太深的错误 - Ruby
我正在构建一个井字游戏,用户可以在其中玩电脑,或者电脑可以互相玩。在构建 AI 时,我遇到了以下错误。我该如何调试呢?我知道这与某处的循环有关,但我找不到它。
冒犯的方法
lib/players/computer.rb
库/游戏.rb
bin/tictactoe 调用#run_game 中以下块中的方法:
c++ - ruby 本机扩展中的堆栈级别太深错误,如何降低堆栈级别?
我有一个 Ruby on Rails api,它处理一个简单的 API 调用并返回一些加密数据。加密是在 C++ 中使用 ruby 本机 C api 完成的。(参考这里)。
本机部分在作为独立程序编译和链接时可以正常工作,并且在 IRB 中与 ruby 一起使用时也可以正常工作。
但是,当我在 Rails API 中使用它时,有时会收到“堆栈级别太深”错误。
错误似乎发生或不发生取决于处理的数据的大小。
根据这个答案,堆栈'级别'实际上是堆栈空间,所以如果我有更多数据要处理,那么我在堆栈中有更多数据,所以它会更快地填满等等......
为了简单起见并避免忘记释放分配的内存,我最初将所有变量都留在了堆栈中。看到这个错误,我切换到了动态分配的方法。然而与我的预期相反,堆栈级别太深的错误发生在更小的数据大小。
数据控制器.rb
native_encryptor.cpp
加密.h
加密.cpp
(实际的加密来自这里)
我得到的错误堆栈跟踪:
相信这个错误的原因是堆栈上分配的数据过多,而不是递归问题。但是,我不明白为什么切换到堆分配并没有改善任何东西。
我可以想象2个解决方案:
- 在 ruby 中切割数据并用更少的数据多次调用本机方法。
- 增加红宝石堆栈大小。但是,对于我的项目,对于性能/资源问题,这两种解决方案都不理想。
有没有其他方法可以减少程序对堆栈的使用?
ruby-on-rails-3.2 - 将 rails 3.1.10 升级到 3.2.0 时堆栈级别太深
将我的 rails 应用程序从升级3.1.10
到3.2.0
.
rails console
开得很好。而且,我能够在控制台中执行代码。但是,当我rails server
在browser
. 它失败并显示以下错误。
SystemStackError(堆栈级别太深):actionpack (3.2.21) lib/action_dispatch/middleware/reloader.rb:70
Rendered /home/sarwan/.rvm/gems/ruby-1.9.3-p551@project-name/gems/actionpack-3.2.21/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.8ms)
Rendered /home/sarwan/.rvm/gems/ruby-1.9.3-p551@project-name/gems/actionpack-3.2.21/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.7ms)
Rendered /home/sarwan/.rvm/gems/ruby-1.9.3-p551@project-name/gems/actionpack-3.2.21/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (13.8ms)
缓存读取:http://localhost:3000/favicon.ico ?
任何帮助将不胜感激。