JVM: не удается определить начальное расположение стека потока - ошибка find_vma - PullRequest
2 голосов
/ 26 января 2011
The compilation was successful
The multiplication should have been performed at compile time without any code being generated.
However, your solution generated the following code:
    Java HotSpot(TM) 64-Bit Server VM warning: Can't detect initial thread stack location - find_vma failed
        mov  ax,5
        mov  ax,6
        mul  ax
    [ the expected value was 30, but you calculated the result as 6 ]

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

Кто-нибудь знает, что я могу делать не так?

(Я не могу раскрыть код, который я ввел в него, потому что я не хочу, чтобы он отображался в поисковой системе. Есть ли способ, которым я могу в частном порядке показать код, который я ввел?)

Ответы [ 5 ]

14 голосов
/ 09 августа 2013

В моей системе Ubuntu 10.04 / 64-bit java не удалось получить доступ к файловой системе /proc. В частности, я работал на chroot, на котором он не был смонтирован:

mount -t proc none /proc

3 голосов
/ 16 апреля 2014

Я столкнулся с той же проблемой в моей chroot среде. Как предположил @chronospoon, это связано с тем, что java не удалось получить доступ к файловой системе / proc.

Однако правильная команда монтирования следующая (обратите внимание, что оба процесса не имеют префикса /), как указано в здесь :

mount -t proc none proc

Чтобы проверить успешность монтирования, просто проверьте, есть ли в каталоге proc файл.

1 голос
/ 26 января 2011

Сообщение "Не удается определить начальное местоположение стека потока" является довольно распространенным, см., Например, здесь и здесь . Оставшаяся часть странная, ассемблерный код - чепуха. Меня это не волнует, это не твоя вина.

0 голосов
/ 26 января 2011

Can't detect initial thread stack location указывает на неполную или поврежденную установку Java.

Материал, касающийся умножения во время компиляции, выглядит не так, как будто он исходит из Java, а вместо этого из некоторого IDE или инструмента компиляции, который использует ваша школа. Какой бы ни была эта «школьная система», вам нужно спросить любого, кто за это отвечает, об этих сообщениях об ошибках.

0 голосов
/ 26 января 2011

Я подозреваю, что это артефакт используемой вами "школьной системы", которая, кажется, является некоторой платформой для автоматизации тестирования кода.

  • Сообщение выглядит специфично для меня.
  • Если сообщение не относится к конкретной системе, это (возможно) ошибка для производственного приложения, которое сообщает о скрытых ошибках HotSpot конечным пользователям.

Итак, я думаю, вы должны спросить людей, которые управляют системой, и (предположительно) понять, что означает это сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...