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.