2010-06-16 4 views
1

SMS를 보내고 받으려면 GSM 모뎀과 인터페이스 할 수있는 FrontlineSMS라는 오픈 소스 응용 프로그램에서 작업하고 있습니다. 웹 사이트를 통해 사용할 수있는 Windows 설치 관리자가 정상적으로 작동합니다. 수정하고 싶기 때문에 소스 코드를 가지고 jar 파일을 만들고 실행하려고했습니다. GSM 모뎀을 연결하고 응용 프로그램을 시작하면 가끔 GSM 장치가 감지되어 SMS를 보내고받을 수 있습니다. 아니면 1) 나는 다음과 같은 오류 -Java : GSM USB 모뎀을 연결하는 동안 응용 프로그램이 작동을 멈 춥니 다.

Launching FrontlineSMS for Windows... Stable Library 
========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 Error 0x5 at /home/bob/foo/rxtx-devel/build/../src/termios.c(860): Access is de ied. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x5 at /home/bob/foo/rxtx-devel/build/../src/termios.c(860): Access is de ied. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 

2) 또는 응용 프로그램이 때때로이 포함 된 로그 파일을 생성하여 충돌이 얻을 :

# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x10009ccb, pid=4452, tid=3464 
# 
# JRE version: 6.0_20-b02 
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86) 
# Problematic frame: 
# C [rxtxSerial.dll+0x9ccb] 
# 
# If you would like to submit a bug report, please visit: 
# http://java.sun.com/webapps/bugreport/crash.jsp 
# The crash happened outside the Java Virtual Machine in native code. 
# See problematic frame for where to report the bug. 
# 

--------------- T H R E A D --------------- 

Current thread (0x03433000): JavaThread "SmsModem :: COM18" daemon [_thread_in_native, id=3464, stack(0x070a0000,0x070f0000)] 

siginfo: ExceptionCode=0xc0000005, writing address 0x038cfa10 

Registers: 
EAX=0x038cfa08, EBX=0x00000003, ECX=0x7c802413, EDX=0x00000001 
ESP=0x070ef800, EBP=0x070ef9e8, ESI=0x3360b898, EDI=0x03433000 
EIP=0x10009ccb, EFLAGS=0x00010202 

Top of Stack: (sp=0x070ef800) 
0x070ef800: 3360b8a0 6d9fbc40 6da2ed98 ffffffff 
0x070ef810: 070ef848 6d8f0a2c 6d8f0340 070ef95c 
0x070ef820: 070ef864 00000dfb 03433000 038cfa08 
0x070ef830: 00000007 00000001 00000001 0000000a 
0x070ef840: 03433bf4 fffffffe 070ef8f4 6d8f0b7a 
0x070ef850: 070ef95c 03433bf8 6da6f210 6da6f538 
0x070ef860: 070ef868 03433bf4 27f18708 27f18708 
0x070ef870: 22eb9810 03433bc4 00000001 070ef898 

Instructions: (pc=0x10009ccb) 
0x10009cbb: 45 1c 7c 19 8b 85 44 fe ff ff 8b 95 4c fe ff ff 
0x10009ccb: 89 50 08 8b 55 f4 89 d0 e9 f8 01 00 00 c7 85 50 


Stack: [0x070a0000,0x070f0000], sp=0x070ef800, free space=13e070ef334k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
C [rxtxSerial.dll+0x9ccb] 
C [rxtxSerial.dll+0xa05e] 
j gnu.io.RXTXPort.readByte()I+0 
j gnu.io.RXTXPort$SerialInputStream.read()I+61 
j org.smslib.CSerialDriver.getResponse()Ljava/lang/String;+36 
j net.frontlinesms.smsdevice.SmsModem._doDetection()Z+172 
j net.frontlinesms.smsdevice.SmsModem.run()V+18 
v ~StubRoutines::call_stub 
V [jvm.dll+0xf049c] 
V [jvm.dll+0x17fcf1] 
V [jvm.dll+0xf0667] 
V [jvm.dll+0xf06dd] 
V [jvm.dll+0x11a2a0] 
V [jvm.dll+0x1ddb14] 
V [jvm.dll+0x17f96c] 
C [msvcr71.dll+0x9565] 
C [kernel32.dll+0xb729] 

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) 
j gnu.io.RXTXPort.readByte()I+0 
j gnu.io.RXTXPort$SerialInputStream.read()I+61 
j org.smslib.CSerialDriver.getResponse()Ljava/lang/String;+36 
j net.frontlinesms.smsdevice.SmsModem._doDetection()Z+172 
j net.frontlinesms.smsdevice.SmsModem.run()V+18 
v ~StubRoutines::call_stub 

--------------- P R O C E S S --------------- 

Java Threads: (=> current thread) 
=>0x03433000 JavaThread "SmsModem :: COM18" daemon [_thread_in_native, id=3464, stack(0x070a0000,0x070f0000)] 
    0x0344b800 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=4404, stack(0x03dd0000,0x03e20000)] 
    0x002b7800 JavaThread "DestroyJavaVM" [_thread_blocked, id=3236, stack(0x008c0000,0x00910000)] 
    0x03f6f400 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=1888, stack(0x038e0000,0x03930000)] 
    0x03ec2400 JavaThread "AWT-Shutdown" [_thread_blocked, id=4300, stack(0x03740000,0x03790000)] 
    0x032d8c00 JavaThread "EmailServerHandler" [_thread_blocked, id=5708, stack(0x03830000,0x03880000)] 
    0x032f7000 JavaThread "Incoming message processor" [_thread_blocked, id=4184, stack(0x03650000,0x036a0000)] 
    0x03004c00 JavaThread "AWT-Windows" daemon [_thread_in_native, id=4828, stack(0x035a0000,0x035f0000)] 
    0x0303f400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3768, stack(0x03500000,0x03550000)] 
    0x02b1e800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4164, stack(0x02dd0000,0x02e20000)] 
    0x02b18c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2936, stack(0x02d80000,0x02dd0000)] 
    0x02b17400 JavaThread "Attach Listener" daemon [_thread_blocked, id=5444, stack(0x02d30000,0x02d80000)] 
    0x02b15c00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4976, stack(0x02ce0000,0x02d30000)] 
    0x02b0d800 JavaThread "Finalizer" daemon [_thread_blocked, id=5876, stack(0x02c90000,0x02ce0000)] 
    0x02b0c400 JavaThread "Reference Handler" daemon [_thread_blocked, id=5984, stack(0x02c40000,0x02c90000)] 

Other Threads: 
    0x02b0ac00 VMThread [stack: 0x02bf0000,0x02c40000] [id=4508] 
    0x02b29800 WatcherThread [stack: 0x02e20000,0x02e70000] [id=6080] 

VM state:not at safepoint (normal execution) 

VM Mutex/Monitor currently owned by a thread: None 

Heap 
def new generation total 7808K, used 4003K [0x22990000, 0x23200000, 0x27ee0000) 
    eden space 6976K, 45% used [0x22990000, 0x22ca8e90, 0x23060000) 
    from space 832K, 100% used [0x23060000, 0x23130000, 0x23130000) 
    to space 832K, 0% used [0x23130000, 0x23130000, 0x23200000) 
tenured generation total 17208K, used 15192K [0x27ee0000, 0x28fae000, 0x32990000) 
    the space 17208K, 88% used [0x27ee0000, 0x28db6100, 0x28db6200, 0x28fae000) 
compacting perm gen total 13824K, used 13655K [0x32990000, 0x33710000, 0x36990000) 
    the space 13824K, 98% used [0x32990000, 0x336e5f98, 0x336e6000, 0x33710000) 
    ro space 10240K, 51% used [0x36990000, 0x36ebae00, 0x36ebae00, 0x37390000) 
    rw space 12288K, 54% used [0x37390000, 0x37a272d8, 0x37a27400, 0x37f90000) 

Dynamic libraries: 
0x00400000 - 0x00424000 C:\WINDOWS\system32\java.exe 
0x7c900000 - 0x7c9b2000 C:\WINDOWS\system32\ntdll.dll 
0x7c800000 - 0x7c8f6000 C:\WINDOWS\system32\kernel32.dll 
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll 
0x77e70000 - 0x77f02000 C:\WINDOWS\system32\RPCRT4.dll 
0x77fe0000 - 0x77ff1000 C:\WINDOWS\system32\Secur32.dll 
0x7c340000 - 0x7c396000 C:\Program Files\Java\jre6\bin\msvcr71.dll 
0x6d800000 - 0x6da97000 C:\Program Files\Java\jre6\bin\client\jvm.dll 
0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll 
0x77f10000 - 0x77f59000 C:\WINDOWS\system32\GDI32.dll 
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll 
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL 
0x6d7b0000 - 0x6d7bc000 C:\Program Files\Java\jre6\bin\verify.dll 
0x6d330000 - 0x6d34f000 C:\Program Files\Java\jre6\bin\java.dll 
0x6d290000 - 0x6d298000 C:\Program Files\Java\jre6\bin\hpi.dll 
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL 
0x6d7f0000 - 0x6d7ff000 C:\Program Files\Java\jre6\bin\zip.dll 
0x6d000000 - 0x6d14a000 C:\Program Files\Java\jre6\bin\awt.dll 
0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV 
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\msvcrt.dll 
0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll 
0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.dll 
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll 
0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll 
0x74720000 - 0x7476c000 C:\WINDOWS\system32\MSCTF.dll 
0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime 
0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\shell32.dll 
0x6d230000 - 0x6d284000 C:\Program Files\Java\jre6\bin\fontmanager.dll 
0x68000000 - 0x68036000 C:\WINDOWS\system32\rsaenh.dll 
0x769c0000 - 0x76a74000 C:\WINDOWS\system32\USERENV.dll 
0x5b860000 - 0x5b8b5000 C:\WINDOWS\system32\netapi32.dll 
0x6d610000 - 0x6d623000 C:\Program Files\Java\jre6\bin\net.dll 
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll 
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll 
0x71a50000 - 0x71a8f000 C:\WINDOWS\System32\mswsock.dll 
0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll 
0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll 
0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll 
0x16080000 - 0x160a5000 C:\Program Files\Bonjour\mdnsNSP.dll 
0x76d60000 - 0x76d79000 C:\WINDOWS\system32\Iphlpapi.dll 
0x63560000 - 0x63568000 C:\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll 
0x63550000 - 0x63559000 C:\WINDOWS\system32\nimdnsResponder.dll 
0x78130000 - 0x781cb000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989\MSVCR80.dll 
0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll 
0x10000000 - 0x10012000 C:\Documents and Settings\bjz677\Desktop\client run\rxtxSerial.dll 
0x73d90000 - 0x73db7000 C:\WINDOWS\system32\crtdll.dll 
0x4fdd0000 - 0x4ff76000 C:\WINDOWS\system32\d3d9.dll 
0x038d0000 - 0x038d6000 C:\WINDOWS\system32\d3d8thk.dll 
0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll 
0x6d630000 - 0x6d639000 C:\Program Files\Java\jre6\bin\nio.dll 
0x03930000 - 0x03977000 C:\Program Files\Iomega\DriveIcons\IMGHOOK.DLL 
0x605d0000 - 0x605d9000 C:\WINDOWS\system32\mslbui.dll 
0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.DLL 

VM Arguments: 
java_command: net.frontlinesms.DesktopLauncher 
Launcher Type: SUN_STANDARD 

Environment Variables: 
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20\bin 
CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip; 
PATH=C:\Program Files\Intel\MKL\10.0.2.019\ia32\bin;C:\Program Files\Intel\VTune\CGGlbCache;C:\Program Files\Intel\VTune\Analyzer\Bin;C:\Program Files\Intel\VTune\Shared\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;s:\datamart\bin;C:\Program Files\ATI Technologies\ATI.ACE\;C:\Program Files\IVI\bin;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\MATLAB\R2007b\bin;C:\Program Files\MATLAB\R2007b\bin\win32;C:\VXIPNP\WinNT\Bin;C:\Program Files\Intel\Compiler\Fortran\10.1.021\\IA32\Lib;C:\Program Files\Intel\Compiler\Fortran\10.1.021\\EM64T\Lib;C:\VXIPNP\WinNT\Bin\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_20\bin 
USERNAME=xxx 
OS=Windows_NT 
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 2, GenuineIntel 



--------------- S Y S T E M --------------- 

OS: Windows XP Build 2600 Service Pack 3 

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 

Memory: 4k page, physical 2094960k(1063364k free), swap 4032536k(3038408k free) 

vm_info: Java HotSpot(TM) Client VM (16.3-b01) for windows-x86 JRE (1.6.0_20-b02), built on Apr 12 2010 13:52:23 by "java_re" with MS VC++ 7.1 (VS2003) 

time: Wed Jun 16 11:53:40 2010 
elapsed time: 45 seconds 

사람이 어떤 원인 알고 있나요?

답변

0

EXCEPTION_ACCESS_VIOLATION (0xc0000005)은 일반적으로 수행하려는 작업을 수행 할 권한/권한이 없기 때문에 Windows에서 액세스가 거부되었음을 의미합니다.

드라이버에 액세스하려면 내장 항아리에 서명해야합니다. 우리는 코드, termios.c에서뿐만 아니라 오류를 참조해야 할 것 http://java.sun.com/docs/books/tutorial/deployment/jar/signing.html

0

이 여기 튜토리얼의 IT 액세스 시스템 드라이버, 파일 시스템에 괜찮아요 자바 런타임 등

을 알려줍니다. 대부분 Java에서 호출되는 원시 라이브러리에 오류가 있습니다. 일반적으로 액세스 위반 오류는 메모리에서 해제 된 변수에 액세스하려고 할 때 발생합니다.

+0

이 코드에 어떻게 액세스 할 수 있는지 알려주십시오. 특정 jar 파일입니까? – varun

+0

'termios.c'와 모든 써드 파티 자바 코드 :'net.frontlinesms.smsdevice.SmsModem' ~'gnu.io.RXTXPort'. –

0

나는 당신과 같은 문제가있다. 나의 솔루션은 매우 간단했다. USB 직렬 케이블을 사용하고 있었는데, 케이블이 좋지 않았다. 케이블을 다른 드라이버로 교체했다. 문제는 해결되었다. . RxTxCom 드라이버는,이 솔루션은 다른 어떤 장소를 발견 여기 아래에 충돌하는 이유 이잖아 문제가 "PORT"에서 UART를 받고 있고 있었다 : 줄 번호 그게


. SetupComm이 (가) 실패했습니다.

termios.c (869) : 포트에 대한 특별한 뭔가가있다, 그래서

 if(!SetupComm(port->hComm, 2048, 1024)) 
    { 
      YACK(); <===== 869 
      return -1; 
    } 

SetupComm는 아주 오래된 W32 API 호출입니다.

YACK()은 호출이 실패한 이유를 뱉어내는 도우미 매크로입니다. "Yack, yack, yack!" :)

내 생각 엔 실제 직렬 포트가 아니라 오히려 운전자가 [저조한]처럼 보이려고합니다. '실제'직렬 포트에는 UART가 있으며 추가 드라이버없이 일반적으로 입니다. 에 할 수있는 일이 없기 때문에 내가 말할 수있는 것에서 그 함수 호출을 향상시킬 수 있습니다. 내가 말한 것이 이라면, 에 '시리얼 포트'에 대한 최신 드라이버가 있는지 확인할 수 있습니다.

내가 제안 할 수있는 유일한 다른 점은 rxtx로 찾으려고 할 때 다른 소프트웨어가 포트를 사용하는 것을 원하지 않는다는 것입니다.


희망이 있으면 도움이됩니다.

관련 문제