Ошибка Java в сочетании с командой экрана в Ubuntu

Я использую сервер Linux 2.6.38-10 #46-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux, и у меня есть следующая проблема:

1) захожу по ssh

2) запускаю скрин (командой screen)

3) Я запускаю java-программу " java -jar ../mlJar.jar > eval1" и передаю вывод в eval1

4) Отсоединяю экран (Ctrl+A, Ctrl+D)

5) Программа будет работать правильно, пока я не выйду из системы.

6) После выхода из системы и когда приложение Java пытается открыть файл, оно выдает следующее исключение

java.io.FileNotFoundException: /path/to/my/file.arff (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java.io.FileInputStream.<init>(FileInputStream.java:79) at java.io.FileReader.<init>(FileReader.java:41) at gr.auth.ee.lcs.utilities.InstancesUtility.openInstance(InstancesUtility.java:74) at gr.auth.ee.lcs.data.representations.complex.ComplexRepresentation.<init>(ComplexRepresentation.java:834) at gr.auth.ee.lcs.data.representations.complex.StrictMultiLabelRepresentation.<init>(StrictMultiLabelRepresentation.java:456) at gr.auth.ee.lcs.implementations.SequentialUCS.<init>(SequentialUCS.java:165) at gr.auth.ee.lcs.implementations.SequentialUCS.createNew(SequentialUCS.java:196) at gr.auth.ee.lcs.FoldEvaluator.evaluate(FoldEvaluator.java:153) at gr.auth.ee.lcs.implementations.global.AllMlTypes.main(AllMlTypes.java:69) Exception in thread "main" java.lang.NullPointerException at gr.auth.ee.lcs.FoldEvaluator.loadFold(FoldEvaluator.java:211) at gr.auth.ee.lcs.FoldEvaluator.evaluate(FoldEvaluator.java:155) at gr.auth.ee.lcs.implementations.global.AllMlTypes.main(AllMlTypes.java:69)

Что, вероятно, означает, что это происходит из-за того, что JVM «потерял» права доступа к папке.

Может кто поможет как решить проблему. В других версиях линукса такого нет. Есть ли какая-нибудь конфигурация в Linux, которая может решить эту проблему?

Спасибо!


person miltos    schedule 08.10.2011    source источник
comment
Вы уверены, что это происходит после выхода из системы? Это сообщение выглядит так, как будто оно прерывается, когда вы хотите запустить команду java-jar.   -  person Thorbjørn Ravn Andersen    schedule 08.10.2011
comment
Согласовано. В этой трассировке стека нет ничего об открытии файла. Может быть, происходит исключение, и вы просто не видите его, пока не войдете в систему?   -  person Ryan Stewart    schedule 08.10.2011
comment
На самом деле вы правы. Эта ошибка возникает после того, как я снова пытаюсь дать ту же команду. Проблема та же. Я исправлю вопрос через мгновение. Спасибо!   -  person miltos    schedule 09.10.2011


Ответы (1)


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

Здесь есть отчет об ошибке: https://bugs.launchpad.net/ecryptfs/+bug/525562

Я считаю, что автоматическое размонтирование можно остановить, удалив ~/.ecryptfs/auto-unmount

person NPE    schedule 08.10.2011
comment
Вот и все! Я переместил все файлы из домашнего каталога, и все исправлено! Спасибо! - person miltos; 09.10.2011