metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-02-25 08:31 pm

О странностях jvm

Решил я глянуть, почему валится с исключением жабокложурный сервис при остановке, подключился к нему windbg.
Так вот, у меня оный windbg начал сыпать такими Access Violation на каждое действие внутри jvm, что страшно смотреть, причем это во время работы, и извне оно никак не видно.
Такое ощущение, что там внутри сплошные повреждения памяти и разыменования нулевых указателей, но они все окружены обработкой исключений в любимом жабьем стиле и наружу не выходят.
Как-то это крайне неприятно.

[identity profile] craneop.livejournal.com 2012-02-25 05:49 pm (UTC)(link)
Что-то вы какой то анальной стоматологией занимаетесь, ребе.

[identity profile] metaclass.livejournal.com 2012-02-25 06:03 pm (UTC)(link)
Не, ну вот стандартная задача: сделать виндовс-сервис. Решалась во всех видах и формах на разных языках. Имеет решение для жабы, apache commons daemon. Работающее и после укола вытяжки ядовитой жабы в мозг - даже понятное. С исходниками нативных исполняемых файлов.
Но при остановке сервиса кидает исключение, чего я очевидно, никак не приемлю, например - при остановке виндов вылезшее хуй пойми куда окно отладчика не даст им закрыться некоторое время.
Надо ж разобраться, почему оно так. А там внутри червие.

[identity profile] craneop.livejournal.com 2012-02-25 06:06 pm (UTC)(link)
А у вас кложура под commons daemon такой эффект дает или вообще для любого приложения? Я это к тому, что обычно если в жабе червие, то кто-то уже с этим сталкивался и знает, в чем дело.

[identity profile] metaclass.livejournal.com 2012-02-25 06:34 pm (UTC)(link)
Да, надо попробовать с другими приложениями, особенно тупо один jetty с хелло-ворлд внутри.

[identity profile] metaclass.livejournal.com 2012-02-25 10:13 pm (UTC)(link)
C jetty, без clojure то же самое, валится при выходе.

[identity profile] metaclass.livejournal.com 2012-02-26 03:26 pm (UTC)(link)
Оно. Добавил в приложение system/exit 0, все стало завершаться гуманно.
Что-от там в jvm при некошерной остановке живым оставалось.

[identity profile] nicka-startcev.livejournal.com 2012-02-25 09:43 pm (UTC)(link)
imho, тут не вытяжка жабы нужна, а специальный трех(а лучше четырех)компонентный коктейль, в который должны входить:
1. специфические производные спорыньи, желательно уже нанесенные на марку. В идеале, в подпороговом количестве
2. спиды. Чтоб работать бодро-бодро (и тупо-тупо)
3. эмпатогены (чтоб не проблеваться)
4. медленно действующее успокоительное, чтоб утром, на свежую голову (точнее, на фоне отходняка от эмпатогенов), не наложить на себя руки.