Ошибка rxtx при использовании smslib и мобильного телефона в качестве модема
Я пытаюсь использовать smslib для отправки смс. Он отлично работает на Windows, но теперь мне нужно, чтобы он работал под Ubuntu 11.10. Поэтому я установил rxtx для 64-битной ОС отсюда http://www.cloudhopper.com/opensource/rxtx/. Подключил мобильные телефоны через usb, который был определен как /dev/ttyACM0, который я связал с /dev/ttyS32 (свободный последовательный порт). Затем я пытаюсь запустить программу и получаю следующую ошибку:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f44f9a065da, pid=8875, tid=139934227818240
#
# JRE version: 7.0_147-b147
# Java VM: OpenJDK 64-Bit Server VM (21.0-b17 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea7 2.0
# Distribution: Ubuntu 11.10, package 7~b147-2.0-0ubuntu0.11.10.1
# Problematic frame:
# C [librxtxSerial.so+0x75da] Java_gnu_io_RXTXPort_nativeDrain+0xea
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/radek/NetBeansProjects/sms/hs_err_pid8875.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
#
Java Result: 134
Я понятия не имею, как справиться с этим.
4 ответа
Я установил более новую версию, и теперь она работает нормально.
У меня была похожая проблема на 64-битной версии Ubuntu 11.10.
Проблема была в том, что я установил RXTX вручную, и это было несовместимо с моей архитектурой. Я переустановил RXTX, используя
sudo apt-get install librxtx-java
и теперь это работает. Надеюсь, это поможет.
Сообщается, что rxtx-java завершит работу с openjdk 7 в Ubuntu 64bit. Я также получаю то же самое с вышеупомянутой конфигурацией (12.04LTS)
читайте здесь https://lists.launchpad.net/openjdk/msg08527.html
Загрузите обновленную версию на сайте: http://jlog.org/rxtx-lin.html
"Загрузите" RXTXcomm.jar "и установите его в папку" lib / ext "Java VM (например, для Ubuntu 11.04:" /usr/lib/jvm/java-6-sun-1.6.0.26/jre "и для RH9 с Sun Java 1.6.0_04: '/usr/java/j2re1.6.0_04/lib/ext'). Вам может потребоваться загрузить файл во временное местоположение (например, Desktop) и использовать привилегированную команду (или sudo из команда / терминал), чтобы переместить его в пункт назначения.
Если вы выполняете обновление с V 3.x или V4 Beta 2 (т.е. с более старой версии RXTX), удалите файл 'librxtxSerial-2.1-x.so' в папке '/lib/386' (или эквивалентной).
Скачайте "librxtxSerial.so" и установите его в папку "lib/i386" или "lib/amd64" Java VM (например, для Ubuntu 11.04: "/usr/lib/jvm/java-6-sun-1.6.0.26"). /jre'и для RH9 с Sun Java 1.6.0_04: '/usr/java/j2re1.6.0_04/lib/i386'). Попробуйте папку "bin" для этого файла, если "lib/i386" не найден (например, для Java 1.4.x от IBM). Убедитесь, что у librxtxSerial есть разрешения на выполнение для всех. Вам может понадобиться загрузить файл во временное местоположение (например, на рабочий стол) и использовать привилегированную команду (или sudo из команды / терминала), чтобы переместить его в место назначения.
Вам может потребоваться войти в систему как "root" и добавить своего пользователя jLog в группу, которой принадлежит каталог "/var/lock", и группу, которой принадлежит последовательный порт (например, /dev/ttyS0), который будет использоваться. Это не нужно для Ubuntu 11.04.
Обычно это (например, для Red Hat 9 и Fedora Core) пользователи 'lock' и 'uucp' соответственно.
Попробуйте запустить jLog от имени пользователя root, если у вас возникли проблемы, т.е. выяснить, вызвана ли проблема неправильным доступом или неправильной установкой файлов."