Ruby 1.9 Ramaze App Failing with “Illegal instruction”

旧城冷巷雨未停 提交于 2019-12-02 00:09:24

问题


I've got an app that I'm trying to get working again after wiping my system and installing Snow Leopard. I installed Ruby 1.9 from Macports (now a later version) and the dev server starts up just fine, but then dies on the first request, only telling me "Illegal instruction". I have no idea what's causing this or even how to go about debugging it. Does anyone have any ideas?


回答1:


"Illegal instruction" is usually an error message from the CPU meaning some piece of binary code you tried to run contained an instruction that is not implemented on that particular CPU.

This can have multiple reasons:

  • The binary was compiled with optimization settings for the wrong CPU. The CPU vendors add new instructions all the time, if the compiler optimizes for a CPU that is newer than the one you have, it might have emitted an instruction that your CPU doesn't understand.
  • The compiler is broken.
  • The binary is corrupted.
  • The code you are compiling contains assembly code or intrinsics containing instructions that your CPU doesn't have.



回答2:


Got it! Appropriately enough, the error was caused by a stack overflow.



来源:https://stackoverflow.com/questions/2672438/ruby-1-9-ramaze-app-failing-with-illegal-instruction

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!