启动java程序报Pid 9899 in trap loop, signal 11,9899 Memory fault(coredump)错误

在新环境中启动UPES程序报:

  1: ---------begin to start UPES at 2011年6月3日 星期五, 15:44:23 ----------
  2: 2011-06-03 15:44:24,856 INFO [UPES] - <MQSeries Workflow UPES Version1.0 starting...>
  3: 2011-06-03 15:44:24,858 INFO [UPES] - <----------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!----------------->
  4: 2011-06-03 15:44:24,858 INFO [UPES] - <正在初始化数据库及MQ连接...>
  5: 2011-06-03 15:44:24,986 INFO [UPES] - <  Loading Database Driver: oracle.jdbc.driver.OracleDriver>
  6: 2011-06-03 15:44:25,009 INFO [UPES] - <  Connecting to the Database '@ip地址:1521:oradb1' using UserID 'ccas'>
  7: 2011-06-03 15:44:26,030 INFO [UPES] - <connection =oracle.jdbc.driver.T2CConnection@1c99159>
  8: 2011-06-03 15:44:26,031 INFO [UPES] - <  Connecting to MQSeries Queue Manager 'CCASWFQM'>
  9: 2011-06-03 15:44:26,102 INFO [UPES] - <  Accessing inQueueManager 'CCASWFQM'>
 10: Pid 19617 in trap loop, signal 11
 11: ./startUPES.sh[28]: 19617 Memory fault(coredump)
第10,11行报错。
通过网上查询,signal 11 为 SIGSEGV 即segmentation violation,程序代码试图访问非本进程的内存空间。java程序报此错误大多数情况下是调用native code
时出现。查看UPES源码未发现调用native code的地方,只有使用oracle jdbc驱动的时候使用的oci方式,在此才会调用native code。将oci驱动方式改为thin driver,
重新启动UPES,程序正常启动。
看来是oci驱动的原因或者是当前环境未配置oracle client。
关于此类问题另外的原因说明,可以参考:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4794360
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值