当我将Android SQlite与MS SQL服务器同步时,托管同步服务器的Tomcat经常崩溃

时间:2013-04-03 16:27:00

标签: sql-server sqlite tomcat synchronization sync

我在Windows主机上安装了64位Tomcat 7.0.27,并将Pervasync数据同步服务器部署到Tomcat,以将Android平板电脑上的SQLite DB与中央Microsoft SQL服务器同步。它起初效果很好,但有时候Tomcat会随机崩溃。从Tomcat日志中我看到了:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000001800057c0, pid=2476, tid=336
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [tcnative-1.dll+0x57c0]
#
# Core dump written. Default location: C:\MySoftwares\apache-tomcat-7.0.27-windows-x64\apache-tomcat-7.0.27\bin\hs_err_pid2476.mdmp
#
# An error report file with more information is saved as:
# C:\MySoftwares\apache-tomcat-7.0.27-windows-x64\apache-tomcat-7.0.27\bin\hs_err_pid2476.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

这真的是JVM中的错误还是其他什么?

1 个答案:

答案 0 :(得分:0)

Tomcat崩溃往往是由JNI libs引起的。 Pervasync是纯Java。首先要检查的是你是否加载了Tomcat Native库。看看Catalinna * .log中是否有以下内容:

Apr 02, 2013 3:07:51 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4.6.

您下载的二进制文件可能与您的硬件不兼容。重新编译lib或切换到非本机 - 从Tomcat路径中删除lib。

有关Apache Tomcat Native库的更多信息,请查看http://tomcat.apache.org/native-doc/