首页 > 数据库技术 > 详细

Oracle客户端bug导致“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

时间:2021-01-07 18:57:28      阅读:27      评论:0      收藏:0      [点我收藏+]

近期有生产项目反馈频繁出现iis crash,但是Windows日志未记录crash相关的详细信息。因此借助procdump工具抓取crash时刻dump,再进行分析。

(1)procdump抓取crash dump

D:\Tools\Procdump>procdump -ma -n 3 -e  w3wp.exe

(2)Debug

通过windbg debug异常信息,出现System.Reflection.TargetInvocationException,并提示Use !PrintException 000000fc5b27e6e0 to see more.

技术分享图片

 

 按照提示命令继续查看,详细异常信息,最终发现出现 System.AccessViolationException异常,且提示信息为“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

技术分享图片

 

 进一步查看出现异常的堆栈信息,抛异常的方法为Oracle.DataAccess.Client.OpsSql.Prepare2(),可能与ODP驱动有关。

技术分享图片

 

 

进一步检查问题环境oracleClient版本,为11.2.0.1,建议项目升级OracleClient11.2.0.4版本后问题解决。

 

Oracle客户端bug导致“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

原文:https://www.cnblogs.com/wang-xiaohui/p/14247638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!