日期:2014-05-19  浏览次数:20642 次

急,我的程序运行10分钟tomcat就自动关闭了,帮帮小弟。
我的程序是在tomcat里面运行的,用的是struts1x,数据库连接方式为jdbc,数据库是access,程序功能是通过串口与硬件进行通信,将硬件返回的数据做处理并在web页面上显示出来。之前做的tomcat也会关闭但时间比较长,而这次的是隔十几分钟就tomcat就不行了。
以下是日志
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c92100b, pid=2300, tid=3620
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_02-b06 mixed mode, sharing)
# Problematic frame:
# C [ntdll.dll+0x100b]
--------------- T H R E A D ---------------

Current thread (0x03265800): JavaThread "pool-3-thread-1" [_thread_in_native, id=3620]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000018

Registers:
EAX=0x00000004, EBX=0x03a9f610, ECX=0x7ff97000, EDX=0x00000004
ESP=0x03a9f5ac, EBP=0x03a9f5c4, ESI=0x00000000, EDI=0x03791ac8
EIP=0x7c92100b, EFLAGS=0x00010297

Top of Stack: (sp=0x03a9f5ac)
0x03a9f5ac: 7357622a 00000004 03791aec 7354139f
0x03a9f5bc: 03791aec 00000000 03a9f5dc 735498c3
0x03a9f5cc: 03791aec 73570000 032658ec 03a9fbe4
0x03a9f5dc: 03a9f5f0 73549cd3 02e78c40 032658ec
0x03a9f5ec: 26d70b40 03a9f608 6d3f11cb 03791ac8
0x03a9f5fc: 03a9f610 03265800 26d70b40 03a9f650
0x03a9f60c: 00dca440 00000000 03a9f66c 03791ac8
0x03a9f61c: 00000000 03a9f660 03265800 03265800 

Instructions: (pc=0x7c92100b)
0x7c920ffb: 00 00 00 00 00 64 8b 0d 18 00 00 00 8b 54 24 04
0x7c92100b: 83 7a 14 00 75 4f f0 ff 42 04 75 19 8b 41 24 89 


Stack: [0x03a30000,0x03aa0000), sp=0x03a9f5ac, free space=445k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ntdll.dll+0x100b]
C [ODBC32.dll+0x98c3]
C [ODBC32.dll+0x9cd3]
C [JdbcOdbc.dll+0x11cb]
j sun.jdbc.odbc.JdbcOdbc.allocConnect(J[B)J+0
j sun.jdbc.odbc.JdbcOdbc.SQLAllocConnect(J)J+30
J sun.jdbc.odbc.JdbcOdbcConnection.initialize(Ljava/lang/String;Ljava/util/Properties;I)V
j sun.jdbc.odbc.JdbcOdbcDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+129
j java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Ljava/sql/Connection;+210
j java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;+41
j com.lain.util.DBConn.getConnection()Ljava/sql/Connection;+20
j com.lain.impl.TempHumCurrentImpl.updCurrent(Ljava/util/Dictionary;I)V+23
j com.lain.control.TempHumControl$1.run()V+99
j java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Ljava/lang/Runnable;)V+59
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+28
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j sun.jdbc.odbc.JdbcOdbc.allocConnect(J[B)J+0
j sun.jdbc.odbc.JdbcOdbc.SQLAllocConnect(J)J+30
J sun.jdbc.odbc.JdbcOdbcConnection.initialize(Ljava/lang/String;Ljava/util/Properties;I)V
j sun.jdbc.odbc.JdbcOdbcDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+129
j java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Ljava/sql/Connection;+210
j java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;+41
j com.lain.util.DBConn.getConnection()Ljava/sql/Connection;+20
j com.lain.impl.TempHumCurrentImpl.updCurrent(Ljava/util/Dictionary;I)V+23
j com.lain.control.TempHumControl$1.run()V+99
j java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Ljava/lang/Runnable;)V+59
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+28
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

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