Attempted to read or write protected memory problems

Hi there, we are having some issues with ODP.net. every few days after our system has been used quite a lot we get the "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." errors.
I can reproduce this just by launching some threads that all make some DB calls, and after a while (took over an hour in the case) we encounter the error. It it not just one DB call causing it, looking at the logs it does appear to only be calls to 'Get' data, but just about all of them have failed at some point.
Yes we have upgraded to the latest version 11.1.0.6.20 and it still happens. Here are some stack traces, Oracle.DataAccess.Client.OpsSql.AllocSqlValCtx seems to be the most common in the stack traces though, others do occur.
at Oracle.DataAccess.Client.OpsSql.AllocSqlValCtx(OpoSqlValCtx*& pOpoSqlValCtx) at Oracle.DataAccess.Client.OracleCommand.BuildCommandText() at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior) at Oracle.DataAccess.Client.OracleCommand.ExecuteReader() at BUPA.HUGO.Common.DataAccessLayer.Database.StoredProcedures.ProspectSP.GetPersonProspectStoredProcedure.GetFullPersonDetailsDataReader(Int64 personId) in c:\Projects\CC.NETbuild_Hugo_Prod\Server\RF_Hugo_Services\Common\DataAccessLayer\Database\StoredProcedures\ProspectSP\GetPersonProspectStoredProcedure.cs:line 43
Sometime the top of the stack is
at Oracle.DataAccess.Client.OpsSql.CopySqlValCtx(OpoSqlValCtx* pOpoSqlValCtxSrc, OpoSqlValCtx*& pOpoSqlValCtxDst) at Oracle.DataAccess.Client.OracleParameter.PostBind_RefCursor(OracleConnection conn, OpoSqlValCtx* pOpoSqlValCtx) at Oracle.DataAccess.Client.OracleParameter.PostBind(OracleConnection conn, OpoSqlValCtx* pOpoSqlValCtx, Int32 arraySize) at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior) at
or
at Oracle.DataAccess.Client.OpsDac.Read(IntPtr opsConCtx, IntPtr opsErrCtx, IntPtr opsSqlCtx, IntPtr& opsDacCtx, OpoSqlValCtx* pOpoSqlValCtx, OpoMetValCtx* pOpoMetValCtx, OpoDacValCtx* pOpoDacValCtx) at Oracle.DataAccess.Client.OracleDataReader.Read()
Does anyone have any ideas? I saw some older post just asking people to try the new version (which we have). Any help on this matter would be great. We are having trouble figuring out if it is something we are not doing correctly or if there is a bug in ODP.NET.
Thank you,
Luke

Hello,
I've got exactly the same problem. We're using ODP.NET 10g R2 10.2.0.3.02 with RAC database. I found that this error only occurs after a Failover event.
My application is .NET 3.0 WPF app.
I'm able to reproduce this error at any time.
Please have a look at some source code:
//opening OracleConnection:
theConn.Open();
theConn.Failover += new OracleFailoverEventHandler(theConn_Failover);
// handling the Failover event as stated in the docs:
static FailoverReturnCode theConn_Failover(object sender, OracleFailoverEventArgs eventArgs)
Logging.LogInfo("DB-FailoverEvent: " + eventArgs.FailoverEvent.ToString() + " - Type: " + eventArgs.FailoverType.ToString());
switch (eventArgs.FailoverEvent)
case FailoverEvent.Begin:
Logging.LogInfo("FailoverEvent.Begin - Failover is starting");
Logging.LogInfo("FailoverType = " + eventArgs.FailoverType.ToString());
break; // TODO: might not be correct. Was : Exit Select
case FailoverEvent.End:
Logging.LogInfo("FailoverEvent.End - Failover was successful");
break; // TODO: might not be correct. Was : Exit Select
case FailoverEvent.Reauth:
Logging.LogInfo("FailoverEvent.Reauth - User reauthenticated");
break; // TODO: might not be correct. Was : Exit Select
case FailoverEvent.Error:
Logging.LogInfo("FailoverEvent.Error - Failover was unsuccessful");
// Sleep for 3 sec and Retry
Thread.Sleep(3000);
return FailoverReturnCode.Retry;
case FailoverEvent.Abort:
Logging.LogInfo("FailoverEvent.Abort - Failover was unsuccessful");
break; // TODO: might not be correct. Was : Exit Select
default:
Logging.LogInfo("Invalid FailoverEvent : " + eventArgs.FailoverEvent.ToString());
break; // TODO: might not be correct. Was : Exit Select
// comment following lines will not raise an error
if (connect2DB())
return FailoverReturnCode.Success;
else
return FailoverReturnCode.Retry;
And here's the source for checking DB-connection:
private static bool connect2DB()
if (null == myConn)
myConn = openOracleConnection();
if (null == myConn)
Thread.Sleep(5000);
return false;
try
if ((myConn.State == ConnectionState.Broken) || (myConn.State == ConnectionState.Closed))
myConn = openOracleConnection();
String sql = "SELECT 1 FROM dual";
using (OracleCommand cmd = new OracleCommand())
cmd.Connection = myConn;
cmd.CommandText = sql;
cmd.CommandTimeout = 2;
using (OracleDataReader dr = cmd.ExecuteReader())
dr.Read();
catch (Exception ex)
Logging.LogError(ex);
closeOracleConnection(myConn);
myConn = openOracleConnection();
setDBConnState();
if (null != myConn)
if ((myConn.State == ConnectionState.Broken) || (myConn.State == ConnectionState.Closed))
return false;
else
return true;
else
return false;
When I don't call "connect2DB()" in the failover event handler then everything is fine - otherwise oops the error occurs after approx. 14 hours after application runtime.
Regards
Sven

Similar Messages

  • AccessViolationException: Attempted to read or write protected memory.

    Hello all.
    The application that I am working on has a Oracle DB 10g and we want to migrate the DB to 11g (11.2.0.2). The client OS is a Windows 7 x64 and the application (which is an x86 app) is a hybrid between .NET and C++(COM components). The .NET part is using ODP.NET components and the C++ part is using ODBC drivers (oraclient 11.2.0.1 - x86 version).
    The problem is that the application works without any problems with the 10g DB but when switching to 11g we get an exception. Basically, we have a try { call COM component } catch(Ex ex) {...} and the Exception ex is a AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. I debugged the C++ part and this strange thing happens: the component opens the connection (using a connection string like this : "driver={Oracle in OraClient}; uid=... pwd=.. "), executes some queries, and on one query (which is the same as the last ones - just some selects), when the data is processed (by data I mean a integer ID), the exception is thrown in .NET code. I was able to enter in afxdb.cpp and it looks like the exception is thrown when GetData method is called. I looked over the ID's from previous queries and the data passed to GetData method is about the same (I mean the fieldtype, index, len, SQL type).
    As solutions I tried:
    -set "Statement Cache Purge=true" => same effect
    - install a instantclient11_2 basic and ODBC drivers (for 11.2.0.2) but I could not connect to the DB (I could find the new drivers in registry WoW64Node/ODBC Drivers, put the location in PATH in front of the other OraClient and replace the OraClient with the name in registry in conn string) => Specified driver could not be loaded due to system error 127.
    - tried to see the Marshal.GetLastWin32Error() => returns 0.
    Any ideas? :D
    Edited by: 917334 on Feb 27, 2012 12:57 PM

    The select clause that causes the problem is actually a select over a view. I replaced the select * from MYView with the actual select clause (with inner join) and the issue disappeared.
    Any ideas? :)
    Solution:
    Looks like the view was written using INNER JOIN stuff. I replaced the code from the view with a simple select like this (inner join free):
    select table1.col1, table2.col2, table3.col2, from table1, table2, table3 where table1.col1 = table2.col1 and table1.col1 = table3.col1
    Some questions still remain (even if my issue is partially solved):
    - why was it working on 10g?
    - why this particular view crashed? (there are other views that use inner join and don't cause this)
    - why was it working when using the full select (with inner join) and not working when selecting over the view?
    Edited by: 917334 on 28.02.2012 08:33

  • Attempted to read or write protected memory

    Imports Axzkemkeeper
    Imports zkemkeeper
    Public Class Form11
    Dim q As New Axzkemkeeper.AxCZKEM
    Dim con As Boolean = False
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'Try
    ' q.CreateControl()
    ' con = q.Connect_Net("192.168.0.202", CInt(4370))
    ' If con Then
    ' MsgBox("yes")
    ' Else
    ' MsgBox("fuck!")
    ' End If
    'Catch ex As Exception
    ' MsgBox(ex.Message)
    'End Try
    q.CreateControl()
    'q.SkinAllThreads()
    con = q.Connect_Net("192.168.0.202", CInt(4370))
    If con Then
    MsgBox("yes")
    Else
    MsgBox("oh shoot!")
    End If
    End Sub
    End Class
    i try to connect biometric device from vb using axzkemkeeper.dll but i comes with error:
    An unhandled exception of type 'System.AccessViolationException' occurred in AxInterop.zkemkeeper.dll
    Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    i really thanksful with any advice you give....
    best regards...
    Exception is:
    An unhandled exception of type 'System.AccessViolationException' occurred in AxInterop.zkemkeeper.dll  Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

    Please refrain from the profanity.
    The problem appears to be from inside Axzkemkeeper.AxCZKEM. Whatever that is... I am unable to help with the code you provided.
    “If you want something you've never had, you need to do something you've never done.”
    Don't forget to mark
    helpful posts and answers
    ! Answer an interesting question? Write a
    new article
    about it! My Articles
    *This post does not reflect the opinion of Microsoft, or its employees.

  • Attempt to read or write protected memory VS 2010

    I can't run orr debug my program anymore. The message attempt to read or write protected memory. Other 2012 has no problems.
    Rinaldo
    Full of ideas but don't know how. Coding for fun.
    System.AccessViolationException was unhandled
      HResult=-2147467261
      Message=Poging tot het lezen of schrijven van beveiligd geheugen. Dit duidt er vaak op dat ander geheugen is beschadigd.
      Source=mscorlib
      StackTrace:
           bij System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           bij System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           bij System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           bij Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           bij System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
           bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
           bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           bij System.Threading.ThreadHelper.ThreadStart()
      InnerException:

    For the VS 2010 project if the .exe inside the debug folder (unless you are compiling for release then the release folder) is executed outside of VS 2010 does the same issue occur?
    Also VS 2010 I believe required some updates. Perhaps this tool
    VersionInfo (Version information about your Visual Studio 2010 installation, and how to keep it updated to the latest) could provide if there are any issues with your VS 2010.
    On the other hand what originally occured with this project? It was created on VS 2010 and never worked then a copy of it was used with VS 2012 and all the sudden it worked? Or for some reason on VS 2010 it was working then one day suddenly memory issues
    began occuring?
    If the "one day suddenly memory issues began occuring" was the issue then that would be the day to get assistance. As anything could've happened that day that possibly could've been traced rather easily where however much time has gone by now and
    whatever else has been done with that system between then and now may make that extremely difficult to impossible.
    La vida loca

  • Attempted to read or write protected memory in SAP 8.81 PL5

    Hi
    I seem to be suddenly getting lots of 'attempted to read or write protected memory' in an application I am writing using the B1DE
    It seems to fail either when connecting to SAP or when initialising a recordset command
    I have tried the usual tricks -
    delete SM_OBS_DLL folder
    reinstall client
    reinstall DI API
    I am on SAP 8.81 PL5
    It's causing me real problems as I can hardly run my vb.net application
    Can anyone help please ?
    Many Thanks
    Regards Andy

    Hi all
    Thanks for your answers.
    At the moment I have found if I turn off all breakpoints the code runs fine.
    I will try your answers but I have lost a lot of time on this and I have a deadline looming
    Thanks again
    Regards Andy

  • Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

    Hi there, I'm having a weird issue when I try to connect to my DB server from the machine in which is located.
    I am using SSMS to connect to the DB. When i use the name of the sql server, I can connect without issues, but when I replace the name with an IP address and a port, i always get this error:
    ===================================
    Cannot connect to 192.168.1.215,1433.
    ===================================
    Attempted to read or write protected memory. This is often an indication that other memory is corrupt. (System.Data)
    Program Location:
       at SNINativeMethodWrapper.SNIClose(IntPtr pConn)
       at System.Data.SqlClient.SNIHandle.ReleaseHandle()
       at System.Runtime.InteropServices.SafeHandle.InternalDispose()
       at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing)
       at System.Runtime.InteropServices.SafeHandle.Dispose()
       at System.Data.SqlClient.TdsParserStateObject.Dispose()
       at System.Data.SqlClient.TdsParser.Disconnect()
       at System.Data.SqlClient.SqlInternalConnectionTds.LoginFailure()
       at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance,
    SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)
       at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
       at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
       at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
       at System.Data.SqlClient.SqlConnection.Open()
       at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server)
       at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
    But this only happens when I try to connect from the PC in which the sql server is, when I try to connect by TCP/IP from another machine on the same network, I can login without problems. 
    Any help will be appreciated. 

    Hello,
    Lot of similar issues related to your post please check if any one is of any help
    Attempt to read write protected memory
    Similar issue answered here
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers
    My TechNet Wiki Articles

  • Attempted to read or write protected memory in VS2010 when i click the prin

    hi
    i can see the report in the Crystal Report Viewer
    but when i click on the print button i am geting this error message :
    Crystal Report Viewer printing error
    (Attempted to read or write protected memory. This is often an indication that other memory is corrupt).
    in some computers it working fine but in some i get this meesage
    the problem is when i click the print button
    maybe in x64 windows 7 pc the crystal report x64 is installed and the x86 install also the problem occur
    i dont know what to do
    i need solution
    thanks ...

    OS  Wind 7  32 bit
    VS  2010 
    SAP crystal  for  2010  net
    i  search about this  problem  but i don't see any  solution

  • Attempted to read or write protected memory while adding an existingMessage

    Hi,
    does anyone know what the reason for this exception might be?
    24.11.2009 16:23:04 Error Attempted to read or write protected
    memory. This is often an indication that other memory is corrupt.
    at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    msgData)
    at GroupwareTypeLibrary.DIGWMessages.AddExistingMessa ge(String
    SenderDisplayName, String SenderEmailAddress, String
    SenderEmailAddressType, DateTime CreationDate, MessageBoxTypeConstants
    MessageBoxType, MessageStatusConstants MessageStatus,
    MessagePriorityConstants MessagePriority, MessageSecurityConstants
    MessageSecurity, Object DraftMsg, Object LastModificationDate)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMail(GWMail
    message, Mail5 draftmsg)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMessage(GWMessage
    message)
    at
    com.vivex.archiveconnector.groupwise.Agent.Archive Message(GWMessage msg,
    User user, Group group, ArchiveSettings archSettings,
    GroupWiseArchiveFilter arcFilter)
    Best regards, Martin Schmidt.

    I don't think this is a GroupWise error.
    We would need steps to duplicate the problem.
    >>> On Friday, November 27, 2009 at 7:13 AM, Martin
    Schmidt<[email protected]> wrote:
    > Hi,
    >
    > does anyone know what the reason for this exception might be?
    >
    > 24.11.2009 16:23:04 Error Attempted to read or write protected
    > memory. This is often an indication that other memory is corrupt.
    > at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    > BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    > msgData)
    > at GroupwareTypeLibrary.DIGWMessages.AddExistingMessa ge(String
    > SenderDisplayName, String SenderEmailAddress, String
    > SenderEmailAddressType, DateTime CreationDate, MessageBoxTypeConstants
    > MessageBoxType, MessageStatusConstants MessageStatus,
    > MessagePriorityConstants MessagePriority, MessageSecurityConstants
    > MessageSecurity, Object DraftMsg, Object LastModificationDate)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMa
    > il(GWMail
    > message, Mail5 draftmsg)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMe
    > ssage(GWMessage
    > message)
    > at
    > com.vivex.archiveconnector.groupwise.Agent.Archive Message(GWMessage msg,
    > User user, Group group, ArchiveSettings archSettings,
    > GroupWiseArchiveFilter arcFilter)
    >
    > Best regards, Martin Schmidt.

  • Unknow error message: Attempted to read or write protected memory.  This is

    Hi,
    I am using 2007B PL08.  The following are my coding:
    Dim oCompanyService As SAPbobsCOM.CompanyService
    Dim oCompanyAdminInfo As SAPbobsCOM.AdminInfo
    Pub.User.Company.NameEng=oCompany.CompanyName
    I can run the above coding properly yesterday but there is no reason that i got the following message suddenly today
    Interop.SAPbobsCOM:Attempted to read or write protected memory.  This is often an indication that other memory is corrupt.
    1.  I try to re-boot the machine
    2.  I try to connect the program to another testing database
    3.  I try to re-install the DIAPI
    I did all the above steps but the message still coming out.  Anyone can help??
    Regards,
    Anna

    I have experienced this same error, and also found that reinstalling the DIAPI or deleting the temporary folder did not work.
    However, I was eventually able to fix the problem by removing removing the reference to the DIAPI from my .NET project, removing the associated Interop file, and adding the reference again, thereby forcing .NET to re-create the COM wrapper. This fixed the problem, and I suspect that my code was calling a method that, although it existed in the Interop file, did not map correctly to the actual DIAPI COM object that was installed on the machine.
    Hope this helps someone - I know I was happy to find a solution to this very frustrating problem!

  • Error: Attempted to read or write protected memory. Memory is corrupt

    2005A SP1 PL4
    I have added a user field with B1 in Items with success.
    Therefore I have started the addon and I have the following error at  SAPbouiCOM.SboGuiApiClass.Connect(String ConnectionStr):
    "Attempted to read or write protected memory. This is often an indication that other memory is corrupt"
    I have restart B1, and I have restart the PC, but the problem persist.
    Before I added user field, the addon worked
    Now if I open items system form, the user field not exists , not even I press CtrlShiftU
    It seems that the user fields are not record correctly
    Now I re-add a new second user field in items. Now there are all user fields in system form Items, but i have the same error with my addon.
    This is the second company that occorr this problem
    Is this a 2005A SP1 PL4 problem? Must I convert the company to 2005A SP1 PL11? Or are there other solution? 
    Help me
    Thank you

    I would strongly recommend to go up to PL11 - and then re-check the issue.
    If it still doesn't work:
    The minimum information to provide here would be the definition of the UDF! Since UFDs work in general there must be some issue with your specific UDF (or some combination of settings).
    Check table CUFD + the actual definition of the UDF in the SQL table as well.
    ...or just involve SAP Support...
    HTH,
    Frank

  • Attempted to read or write protected memory....Management Studio 2012

    I'm getting that error when I select "Edit Top 200 Rows" on a table. The SMSS will crash. This is running on Windows server 2012 R2. Is there a fix, SP update, something? I did not have this problem on Windows Server 2012.
    TITLE: Microsoft SQL Server Management Studio
    Exception has been thrown by the target of an invocation. (mscorlib)
    ADDITIONAL INFORMATION:
    Attempted to read or write protected memory. This is often an indication that other memory is corrupt. (Microsoft.VisualStudio.OLE.Interop)
    BUTTONS:
    OK
    Lee

    Hi Lee,
    According to your description, it is a known issue that has been submitted to Microsoft. I recommend you voting in the following connect items, your feedback is valuable for us to improve our products and increase the level of service provided.
    http://connect.microsoft.com/SQLServer/feedbackdetail/view/952483/getting-error-when-right-click-table-of-sql-server-2014-db-and-click-edit-to-200-rows-in-ssms-2012
    https://connect.microsoft.com/SQLServer/feedback/details/817241/for-sql-2014-ctp-2-cu4-edit-top-200-rows-option-for-a-table-in-ssms-results-in-an-exception-and-tool-hang
    Additionally, I also reproduce the same error message as yours when using SSMS 2012 to connect  to SQL Server 2014 database on Windows Server 2008 R2  and selecting "Edit Top 200 Rows".
    To work around this issue, as Shanky’s post, please use SSMS 2014 to connect  to SQL Server 2014, then you can use the "Edit Top 200 Rows" feature. Or you can write T-SQL to edit data from SQL Server 2014 database in SSMS 2012.
    Thanks,
    Lydia Zhang
    If you have any feedback on our support, please click
    here.

  • SharePoint crashing - Attempted to read or write protected memory

    Hey,
    My corporate intranet keeps crashing and becoming unresponsive. This is resolved by running an IISReset.
    The error reported is the standard SharePoint 2010 error page with a correlation id, an using ULS Deobfuscator the actual exception, which is:
    System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    Microsoft.SharePoint.Portal.WebControls.LocStringIdLookupTable..cctor()
    Could this be caused by custom code on the server? We have a lot of customizations, so it could be painful to track down. If I need to, are there any tools out there I could use to trace the source of the exception?
    Any help with this would be much appreciated as this is happening a lot and disrupting the companies function.
    Cheers
    M

    Hi All,
    i've been experiencing similar issues on some customer's sharepoint 2010 WFE's. Every few days, sometimes multiple times a day, one of the app pools somehow crashed, with the effect that every attempt to use the foundation search resulted in an unexpected
    error. In the ULS logs, we had the same AccessViolationException at the LocStringIdLookupTable static constructor. After an app pool recycle, the error was gone for a few hours/days and reappeared then.
    We've had another issue that seemed to occur on another farm with similar frequency: Suddenly, all list forms were empty and some (sharepoint internal) ribbon controls like "View Item", "Edit Item", "New Item" and several others. It turned out that several
    type instantiations failed for these ribbon controls (seen in ULS logs).
    After some investigation there seemed to be no real reason why these types couldn't be found, as all sharepoint assemblies have been in place, and after an app pool recycle, everything was running fine again.
    Then i had a look at the certificate revocation list check for authenticode assemblies, and this is what seemed to be the root cause of all my problems. All our servers have no internet connection, and all authenticode signed assemblies are trying to validate
    against the CRL over internet, which leads to long loading delays for all these assemblies (See
    http://support.microsoft.com/kb/936707/en-us).
    I can't prove it, but i suppose that it somehow happens that assemblies sometimes fail to load due to the lack of the internet connection during CRL check.
    After disabling the CRL check for all sharepoint servers (as described in the hotfix), the issues with the AccessViolationException never occured again (environment running fine for more than 6 weeks without any issues).
    I disabled the CRL check for the other environment (where the ribbon issues occured) last weekend, and i hope this will fix it, too.
    As we got a huge amount of servers at different stages, i wrote a powershell script to remotely implement the changes to the machine.config. If someone needs it, i will post it here, too.
    These issues seemed to start with some security patches, but i haven't been able to figure out which one, yet.

  • "Attempted to read or write protected memory" error in loading a report.

    Development Environment
    ===
    Windows XP
    Visual Studio 2008 Pro; with Crystal Reports 2008 for Visual Studio
    TagetCPU: 'AnyCPU'
    VB.net 3.5
    Windows dll
    Crystal Reports Runtime SP2 (12.2.0.290)
    Deployment Environment
    ===
    Windows XP
    .net3.5
    Crystal Reports Runtime SP3 (no be confirmed)
    I have created a windows dll with a form with a reportdocument, that loads a report (CrystalDecisions.CrystalReports.Engine.ReportDocument).
    Then we circle through the report setting every table location to point at a specific ODBC and database.
    The Dll can do this process several hundred reports in a day. However a small number (less than 10) of these have the following error:
    "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
    This is normally occurring when the reportDocument.Load function is called. But also happens when going through the setting of table locations: [myTable.ApplyLogOnInfo(TmpTableLogOnInfo)
    The dll is called via COM interop and so i have checked "Register for COM interop".
    Simon@Sanderson

    1) Get to SP 3:
    for dev computer:
    https://smpdl.sap-ag.de/~sapidp/012002523100007123572010E/cr2008_sp3.exe
    Recompile the app after SP3 is applied.
    for SP3 runtime:
    MSI
    https://smpdl.sap-ag.de/~sapidp/012002523100007123592010E/cr2008sp3_redist.zip
    MSM
    https://smpdl.sap-ag.de/~sapidp/012002523100007123582010E/cr2008sp3_mm.zip
    (You will have to uninstall SP 2 runtime before installing SP 3 runtime)
    2) Do not use "Any CPU". CR2008 is only 32 bit anyhow so use 32 bit.
    3) Make sure you are using .Close and .Dispose once you are done with each report object
    - Ludek

  • PInvoke - Issue while calling DJVU function from C# Code - Attempted to read or write protected memory

    Hi,
    I know there are many questions in this subject but none of them help to resolve the issue I am currently facing.
    Below is the signature of C Function from DJVULibre added in .NET code
    [DllImport("C:\\Program Files\\DJVULIBRE\\LIBDJVULIBRE.dll", CharSet=CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
    private unsafe static extern int ddjvu_page_render(IntPtr page, ddjvu_render_mode_t mode, IntPtr pagerect,
    IntPtr renderrect,
    IntPtr pixelformat,
    ulong rowsize,
    [Out][MarshalAs(UnmanagedType.LPArray)]byte[] imagebuffer);Below is how I am calling this function in the c# codebyte* buffer = (byte *)Memory.Alloc(nSize);
    try
    IntPtr ptr1 = (IntPtr)Memory.Alloc(Marshal.SizeOf(prect));
    Marshal.StructureToPtr(prect, ptr1, false);
    IntPtr ptr2 = (IntPtr)Memory.Alloc(Marshal.SizeOf(rrect));
    Marshal.StructureToPtr(rrect, ptr2, false);
    byte[] array = new byte[nSize];
    fixed (byte* p = array) Memory.Copy(buffer, p, nSize);
    ddjvu_page_render(page, ddjvu_render_mode_t.DDJVU_RENDER_MASKONLY, ptr1, ptr2, fmt, (ulong)stride, array);
    finally
    Memory.Free(buffer);
    }call to ddjvu_page_render in above code is throwing "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
    Prior to this post I must have tried all the option could find in various blogs.
    Appreciate any help, is almost a day I am clueless, your timely help could save my job

    Thanks Viorel, below is the definition of original C function
    DDJVUAPI int
    ddjvu_page_render(ddjvu_page_t *page,
    const ddjvu_render_mode_t mode,
    const ddjvu_rect_t *pagerect,
    const ddjvu_rect_t *renderrect,
    const ddjvu_format_t *pixelformat,
    unsigned long rowsize,
    char *imagebuffer );below is how the code is calling this function in C#, the in pointers are all valid pointer I checked in debugging window byte* buffer = (byte *)Memory.Alloc(nSize);
    try
    IntPtr ptr1 = (IntPtr)Memory.Alloc(Marshal.SizeOf(prect));
    Marshal.StructureToPtr(prect, ptr1, false);
    IntPtr ptr2 = (IntPtr)Memory.Alloc(Marshal.SizeOf(rrect));
    Marshal.StructureToPtr(rrect, ptr2, false);
    byte[] array = new byte[nSize];
    fixed (byte* p = array) Memory.Copy(buffer, p, nSize);
    ddjvu_page_render(page, ddjvu_render_mode_t.DDJVU_RENDER_MASKONLY, ptr1, ptr2, fmt, (ulong)stride, array);
    finally
    Memory.Free(buffer);

  • SSRS 2008 R2 - on Preview report in report builder itself, getting an error "Attempted to read or write protected memory. This is often an indication that other memory is corrupt". Any Suggestions please to resolve it?

    Hi,
    I am working on SSRS 2008 R2. On Preview report in report builder itself, i am getting an error "Attempted to read or write protected memory. This is often an indication that other memory is corrupt".
    See my below screen shoot.
    Any Suggestions please  to resolve it? 
    thank you in advance !
    best regards,
    Venkat,
    [email protected]

    Hi Venkat,
    According to the error message, I guess that the error occurred when you previewed the report in Business Intelligence Development Studio (BIDS).
    Based on my research, I think it may be a Window Layout issue of Visual Studio. Please try the steps below:
    Click “Window” button from the toolbar ribbon.
    Click “Reset Windows Layout” option.
    Click “Yes” to finish the operation.
    The following thread is for your reference:
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/90949d68-a611-467c-b438-be97b8ab250b/attempted-to-read-or-write-protected-memory-this-is-often-an-indication-that-other-memory-is
    Hope this helps.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Problema al iniciar Lenovo B50-30 Checking media...

    Hola! Hace tiempo que tengo este Lenovo B50-30 (80ES) que me venía con Windows 8. Lo pasé a Windows 7 de 32bits, lo cual tuve que volver a cambiarlo por el de 64 bits esta mañana. El error viene cuando después de pasarlo al formato de 64 bits que era

  • How do I stop the "remember password?" pop-up whenever I log into a website?

    "Remember password for "ericbell" on mozilla.com?" - how do I keep this from happening at all for all sites?

  • How to monitor the alrets

    Hi all ,               please i need steps to monitor the alerts in the  ALERT monitoring queues on SCM APPLICATION SERVER (SAP). please fine me a sloution for this thanking you sridhar

  • Frequent freezes. Time Machine related?

    Hello, I ran the Mountain Lion GM build without any troubles. It would run 10 days in a row, without a single problem and smooth as silk. Admittedly, it was a version I found in one of the dark corners of the Internet, as I am not a developer. When M

  • Production Order Confirmation - 2 questions: rework and link_conf question.

    Hello everybody,     I'm currently using the bapi BAPI_PRODORDCONF_CREATE_TT to (partial/final) confirm operations of Production Orders (PO). First I fill the timetickets table with relevant information about the amount that I'd like to conform. The