Grails: неверный доступ к красной зоне стека

Я использую приложение Grails 2.0.4 на OS X (10.7.4). Приложение запускается без проблем, но когда я пытаюсь получить доступ к домашней странице в браузере, я получаю ошибки красной зоны стека:

Invalid access of stack red zone 0x1139b10c0 rip=0x112e50b70
Bus error: 10

и сервер выключается.

Приложение использует эти плагины:

  • покрытие кода (1.2.5)
  • коденарк (0,17)
  • спящий режим (2.0.4)
  • JQuery (1.7.1)
  • почта (1.0)
  • плагин-конфиг (0.1.5)
  • кварц2 (0.2.2)
  • повтор (0.5.2)
  • реф-код (0.3.0)
  • ресурсы (1.1.5)
  • Springcache (1.3.1)
  • SVN (1.0.1)
  • кот (2.0.4)
  • webxml (1.4.1) и
  • yui-minify-resources (0.1.5)

У кого-нибудь есть какие-нибудь советы, Grailswise, о том, как это обойти?

Спасибо!

2 ответа

Решение

Есть несколько совпадений для этой ошибки ( здесь и здесь, например). В основном они вращаются вокруг сериализации объектов JSON, создавая ошибку переполнения стека, о которой не сообщалось как переполнение стека. Если вы делаете что-то подобное, это может быть хорошим началом. Проверьте любую сериализованную строку, чтобы убедиться, что она действительна в формате JSON:

JSONArray.fromObject(jsonString)

Другой предложил увеличить размер стека Java (-Xss1024k). Если ваша строка JSON выглядит нормально или вы не делаете ничего, связанного с JSON, вы можете попробовать это, чтобы увидеть, является ли это просто проблемой с пробелом.

Эта ошибка вызвала дамп ядра? Если да, воспользуйтесь анализатором дампа памяти. Вот несколько хороших указателей на основные инструменты dumo. Инструмент для анализа дампов ядра Java.

Другие вопросы по тегам