使用smslib和手机作为调制解调器的rxtx错误

时间:2012-03-05 14:00:16

标签: java rxtx smslib

我正在尝试使用smslib发送短信。它在Windows上工作正常,但现在我需要在ubuntu 11.10下工作。所以我从这里http://www.cloudhopper.com/opensource/rxtx/安装了一个64位操作系统的rxtx。使用usb连接手机,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 个答案:

答案 0 :(得分:3)

我的ubuntu 11.10 64bit版本遇到了类似的问题。

问题是因为我手动安装了RXTX并且它与我的架构不兼容。 我使用

重新安装了RXTX
sudo apt-get install librxtx-java

现在它有效。我希望这会有所帮助。

答案 1 :(得分:2)

据报道,rxtx-java将在Ubuntu 64bit上与openjdk 7崩溃。 我也正在使用上述配置(12.04LTS)

请在此处阅读https://lists.launchpad.net/openjdk/msg08527.html

答案 2 :(得分:1)

我安装了一个较新的版本,现在工作正常。

答案 3 :(得分:0)

在网站上下载更新版本: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'找不到(例如,对于IBM的Java 1.4.x)。确保' librxtxSerial'拥有所有人的执行权限。您可能需要将文件下载到临时位置(例如Desktop)并使用特权命令(或来自命令/终端的sudo)将其移动到目标位置。

您可能需要以root身份登录' root'并将您的jLog用户添加到拥有' / var / lock'目录和拥有要使用的串行端口(例如/ dev / ttyS0)的组。 Ubuntu 11.04不需要这样做。

这通常是(例如对于Red Hat 9和Fedora Core)用户锁定'和' uucp'分别

如果遇到问题,请尝试以root身份运行jLog,即查明问题是由访问不当还是文件安装不当引起的。"