Сбой приложения Ruby 1.9 Ramaze с «Нелегальной инструкцией» - PullRequest
3 голосов
/ 20 апреля 2010

У меня есть приложение, которое я пытаюсь снова запустить после очистки системы и установки Snow Leopard. Я установил Ruby 1.9 из Macports (теперь более поздней версии), и сервер dev запускается просто отлично, но затем умирает при первом запросе, сообщая мне только «Недопустимая инструкция». Я понятия не имею, что вызывает это или даже как отладить это. У кого-нибудь есть идеи?

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

«Недопустимая инструкция» обычно представляет собой сообщение об ошибке от ЦП, означающее, что некоторый фрагмент двоичного кода, который вы пытались запустить, содержал инструкцию, которая не реализована на этом конкретном ЦП.

Это может иметь несколько причин:

  • Двоичный файл был скомпилирован с настройками оптимизации для неправильного процессора. Поставщики ЦП постоянно добавляют новые инструкции. Если компилятор оптимизирует ЦП, который является более новым, чем тот, который у вас есть, он мог выдать инструкцию, которую ЦП не понимает.
  • Компилятор не работает.
  • Двоичный файл поврежден.
  • Код, который вы компилируете, содержит ассемблерный код или встроенные команды, содержащие инструкции, которых нет у вашего процессора.
1 голос
/ 22 апреля 2010

Понял! Соответственно, ошибка была вызвана переполнением стека.

...